diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-12 18:15:46 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-12 18:15:46 +0000 |
commit | 058a8ceb7eaf0d7730a626421dd3254099a6d23e (patch) | |
tree | 7485a5a0d6a6aa88503c2c31e13d901e582ced85 | |
parent | a3460c66ceea00715c7c3ddef72c3f340b89961b (diff) | |
parent | c967ab237b56f14a74fcbabcd07cce6b18605b94 (diff) | |
download | tradefederation-058a8ceb7eaf0d7730a626421dd3254099a6d23e.tar.gz |
release-request-dabd8cf7-7af2-48e9-a296-ccc6a71cc25d-for-git_oc-m2-release-4328410 snap-temp-L55300000101694322
Change-Id: If6b11110350a275e823804e470240df47f35bf2e
-rw-r--r-- | src/com/android/tradefed/testtype/suite/TfSuiteRunner.java | 4 | ||||
-rw-r--r-- | tests/src/com/android/tradefed/testtype/suite/TfSuiteRunnerTest.java | 18 |
2 files changed, 15 insertions, 7 deletions
diff --git a/src/com/android/tradefed/testtype/suite/TfSuiteRunner.java b/src/com/android/tradefed/testtype/suite/TfSuiteRunner.java index 219591266..eb556b9a2 100644 --- a/src/com/android/tradefed/testtype/suite/TfSuiteRunner.java +++ b/src/com/android/tradefed/testtype/suite/TfSuiteRunner.java @@ -34,6 +34,7 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; @@ -121,7 +122,8 @@ public class TfSuiteRunner extends ITestSuite { ConfigurationUtil.getConfigNamesFromDirs(mSuitePrefix, extraTestCasesDirs)); } } - + // Sort configs to ensure they are always evaluated and added in the same order. + Collections.sort(configs); for (String configName : configs) { try { IConfiguration testConfig = diff --git a/tests/src/com/android/tradefed/testtype/suite/TfSuiteRunnerTest.java b/tests/src/com/android/tradefed/testtype/suite/TfSuiteRunnerTest.java index 3f25572f2..b67d8789f 100644 --- a/tests/src/com/android/tradefed/testtype/suite/TfSuiteRunnerTest.java +++ b/tests/src/com/android/tradefed/testtype/suite/TfSuiteRunnerTest.java @@ -44,6 +44,7 @@ import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.LinkedHashMap; +import java.util.List; /** * Unit tests for {@link TfSuiteRunner}. @@ -205,9 +206,11 @@ public class TfSuiteRunnerTest { File zipDir = FileUtil.getFileForPath(tmpDir, "suite"); FileUtil.mkdirsRWX(zipDir); - // Create a test config inside a zip. + // Create 2 test configs inside a zip. File testConfig = new File(zipDir, "test1.config"); FileUtil.writeToFile(TEST_CONFIG, testConfig); + File testConfig2 = new File(zipDir, "test2.config"); + FileUtil.writeToFile(TEST_CONFIG, testConfig2); additionalTestsZipFile = ZipUtil.createZip(zipDir); OptionSetter setter = new OptionSetter(mRunner); @@ -221,11 +224,14 @@ public class TfSuiteRunnerTest { EasyMock.replay(deviceBuildInfo); LinkedHashMap<String, IConfiguration> configMap = mRunner.loadTests(); - assertEquals(3, configMap.size()); - assertTrue(configMap.containsKey("suite/stub1")); - assertTrue(configMap.containsKey("suite/stub2")); - // test1 name was sanitized to look like the included configs. - assertTrue(configMap.containsKey("suite/test1")); + assertEquals(4, configMap.size()); + // The keySet should be stable and always ensure the same order of files. + List<String> keyList = new ArrayList<>(configMap.keySet()); + // test1 and test2 name was sanitized to look like the included configs. + assertEquals("suite/test1", keyList.get(0)); + assertEquals("suite/test2", keyList.get(1)); + assertEquals("suite/stub1", keyList.get(2)); + assertEquals("suite/stub2", keyList.get(3)); EasyMock.verify(deviceBuildInfo); } finally { FileUtil.recursiveDelete(deviceTestDir); |