Add "smoke test" mode to run-ravenwood-tests.sh
Now it supports -s to skip the sysui and ICU test.s
Flag: EXEMPT host test change only
Bug: 292141694
Test: $ANDROID_BUILD_TOP/frameworks/base/ravenwood/scripts/run-ravenwood-tests.sh
Test: $ANDROID_BUILD_TOP/frameworks/base/ravenwood/scripts/run-ravenwood-tests.sh -s
Change-Id: I7429376b5812d0671e7d99c2b376703eb5345d76
diff --git a/ravenwood/scripts/run-ravenwood-tests.sh b/ravenwood/scripts/run-ravenwood-tests.sh
index 926c08f..5d623e0 100755
--- a/ravenwood/scripts/run-ravenwood-tests.sh
+++ b/ravenwood/scripts/run-ravenwood-tests.sh
@@ -14,15 +14,42 @@
# limitations under the License.
# Run all the ravenwood tests + hoststubgen unit tests.
+#
+# Options:
+#
+# -s: "Smoke" test -- skip slow tests (SysUI, ICU)
-all_tests="hoststubgentest tiny-framework-dump-test hoststubgen-invoke-test ravenwood-stats-checker"
+smoke=0
+while getopts "s" opt; do
+case "$opt" in
+ s)
+ smoke=1
+ ;;
+ '?')
+ exit 1
+ ;;
+esac
+done
+shift $(($OPTIND - 1))
-# "echo" is to remove the newlines
-all_tests="$all_tests $(echo $(${0%/*}/list-ravenwood-tests.sh) )"
+all_tests=(hoststubgentest tiny-framework-dump-test hoststubgen-invoke-test ravenwood-stats-checker)
+all_tests+=( $(${0%/*}/list-ravenwood-tests.sh) )
+
+# Regex to identify slow tests, in PCRE
+slow_tests_re='^(SystemUiRavenTests|CtsIcuTestCasesRavenwood)$'
+
+if (( $smoke )) ; then
+ # Remove the slow tests.
+ all_tests=( $(
+ for t in "${all_tests[@]}"; do
+ echo $t | grep -vP "$slow_tests_re"
+ done
+ ) )
+fi
run() {
echo "Running: $*"
"${@}"
}
-run ${ATEST:-atest} $all_tests
+run ${ATEST:-atest} "${all_tests[@]}"