Create a new test template for slow run tests.
Test: atest 175-alloc-big-bignums
Change-Id: I01427f3ad57db96d0a3f1c823817bcc0076bceec
diff --git a/test/175-alloc-big-bignums/Android.bp b/test/175-alloc-big-bignums/Android.bp
index 20ae278..77fdb12 100644
--- a/test/175-alloc-big-bignums/Android.bp
+++ b/test/175-alloc-big-bignums/Android.bp
@@ -15,7 +15,7 @@
java_test {
name: "art-run-test-175-alloc-big-bignums",
defaults: ["art-run-test-defaults"],
- test_config_template: ":art-run-test-target-template",
+ test_config_template: ":art-run-test-target-slow-template",
srcs: ["src/**/*.java"],
data: [
":art-run-test-175-alloc-big-bignums-expected-stdout",
diff --git a/test/Android.bp b/test/Android.bp
index f2acf97..87d1fef 100644
--- a/test/Android.bp
+++ b/test/Android.bp
@@ -469,6 +469,14 @@
],
}
+// Same as above, but with a longer timeout.
+filegroup {
+ name: "art-run-test-target-slow-template",
+ srcs: [
+ "art-run-test-target-slow-template.xml",
+ ],
+}
+
// Test configuration template for ART run-tests on target expected to run
// successfully, and as such *not* tagged as part of TradeFed's
// `art-target-run-test` test suite via the `test-suite-tag`. This is as
diff --git a/test/art-run-test-target-slow-template.xml b/test/art-run-test-target-slow-template.xml
new file mode 100644
index 0000000..e1ec8a0
--- /dev/null
+++ b/test/art-run-test-target-slow-template.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 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.
+-->
+<!-- Note: This test config for {MODULE} is generated from a template. -->
+<configuration description="Test module config for {MODULE}">
+ <option name="test-suite-tag" value="art-target-run-test" />
+ <option name="config-descriptor:metadata" key="mainline-param" value="com.google.android.art.apex" />
+
+ <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
+ <option name="cleanup" value="true" />
+ <!-- TODO: Use option `push-file` instead of deprecated option
+ `push`. -->
+ <option name="push" value="{MODULE}.jar->/data/local/tmp/{MODULE}/{MODULE}.jar" />
+ </target_preparer>
+
+ <test class="com.android.tradefed.testtype.ArtRunTest">
+ <option name="run-test-name" value="{MODULE}" />
+ <option name="classpath" value="/data/local/tmp/{MODULE}/{MODULE}.jar" />
+ <option name="test-timeout" value="120000" />
+ </test>
+
+ <!-- When this test is run in a Mainline context (e.g. with `mts-tradefed`), only enable it if
+ one of the Mainline modules below is present on the device used for testing. -->
+ <object type="module_controller" class="com.android.tradefed.testtype.suite.module.MainlineTestModuleController">
+ <!-- ART Mainline Module (internal version). -->
+ <option name="mainline-module-package-name" value="com.google.android.art" />
+ <!-- ART Mainline Module (external (AOSP) version). -->
+ <option name="mainline-module-package-name" value="com.android.art" />
+ </object>
+
+ <!-- Only run tests if the device under test is SDK version 31 (Android 12) or above. -->
+ <object type="module_controller" class="com.android.tradefed.testtype.suite.module.Sdk31ModuleController" />
+</configuration>
diff --git a/test/utils/regen-test-files b/test/utils/regen-test-files
index ee1c184..4e19fc9 100755
--- a/test/utils/regen-test-files
+++ b/test/utils/regen-test-files
@@ -112,6 +112,10 @@
"821-madvise-willneed",
])
+known_slow_tests = frozenset([
+ "175-alloc-big-bignums",
+])
+
# Known failing ART run-tests.
# TODO(rpl): Investigate and address the causes of failures.
known_failing_tests = frozenset([
@@ -417,6 +421,9 @@
# All other tests are considered runnable.
return True
+ def is_slow(self, run_test):
+ return run_test in known_slow_tests
+
def regen_bp_files(self, run_tests, buildable_tests):
for run_test in run_tests:
# Remove any previously generated file.
@@ -437,7 +444,10 @@
run_test_module_name = ART_RUN_TEST_MODULE_NAME_PREFIX + run_test
if self.is_runnable(run_test):
- test_config_template = "art-run-test-target-template"
+ if self.is_slow(run_test):
+ test_config_template= "art-run-test-target-slow-template"
+ else:
+ test_config_template = "art-run-test-target-template"
else:
test_config_template = "art-run-test-target-no-test-suite-tag-template"