aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.bp14
-rw-r--r--TEST_MAPPING7
-rw-r--r--bc-tests.xml26
-rwxr-xr-xrun-bc-tests-on-android.sh15
4 files changed, 62 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
index 36516e4a..e7ae66de 100644
--- a/Android.bp
+++ b/Android.bp
@@ -61,3 +61,17 @@ cc_binary_host {
name: "gavinhoward-bc",
defaults: ["bc-defaults"],
}
+
+sh_test {
+ name: "bc-tests",
+ src: "run-bc-tests-on-android.sh",
+ filename: "run-bc-tests-on-android.sh",
+ test_suites: ["general-tests"],
+ host_supported: true,
+ device_supported: false,
+ test_config: "bc-tests.xml",
+ data: [
+ "functions.sh",
+ "tests/**/*",
+ ],
+}
diff --git a/TEST_MAPPING b/TEST_MAPPING
new file mode 100644
index 00000000..c05ac950
--- /dev/null
+++ b/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+ "presubmit": [
+ {
+ "name": "bc-tests"
+ }
+ ]
+}
diff --git a/bc-tests.xml b/bc-tests.xml
new file mode 100644
index 00000000..6d70d3c0
--- /dev/null
+++ b/bc-tests.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for running bc-tests through Atest or in Infra">
+ <option name="test-suite-tag" value="bc-tests" />
+ <!-- This test requires a device, so it's not annotated with a null-device. -->
+ <test class="com.android.tradefed.testtype.binary.ExecutableHostTest" >
+ <option name="binary" value="run-bc-tests-on-android.sh" />
+ <!-- Test script assumes a relative path with the tests/ folders. -->
+ <option name="relative-path-execution" value="true" />
+ <!-- Tests shouldn't be that long but set 15m to be safe. -->
+ <option name="per-binary-timeout" value="15m" />
+ </test>
+</configuration>
diff --git a/run-bc-tests-on-android.sh b/run-bc-tests-on-android.sh
new file mode 100755
index 00000000..d957a7e8
--- /dev/null
+++ b/run-bc-tests-on-android.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+# Copy the tests across.
+adb shell rm -rf /data/local/tmp/bc-tests/
+adb shell mkdir /data/local/tmp/bc-tests/
+adb push tests/ /data/local/tmp/bc-tests/
+adb push functions.sh /data/local/tmp/bc-tests/
+
+if tty -s; then
+ dash_t="-t"
+else
+ dash_t=""
+fi
+
+exec adb shell $dash_t /data/local/tmp/bc-tests/tests/all.sh bc 0 1 0 1 bc