Fix testrunner to cope with degenerate testlists
authorChris Forbes <chrisforbes@google.com>
Fri, 30 Mar 2018 20:21:20 +0000 (13:21 -0700)
committerChris Forbes <chrisforbes@google.com>
Fri, 30 Mar 2018 20:24:01 +0000 (13:24 -0700)
When a testlist contained no tests (like master/gles31-master-risky
now does!), the host-side testrunner would explode trying to enumerate
test cases.

Change-Id: Icfd4cc952678dd9d2f21efc11d2221da6716ed9c
Test: cts-tradefed
Bug: b/77330743

android/cts/runner/src/com/drawelements/deqp/runner/DeqpTestRunner.java

index dea9360..3721712 100644 (file)
@@ -1030,12 +1030,14 @@ public class DeqpTestRunner implements IBuildReceiver, IDeviceTest,
             BufferedReader testlistReader = new BufferedReader(testlist);
             String testName;
             while ((testName = testlistReader.readLine()) != null) {
-                // Test name -> testId -> only one config -> done.
-                final Set<BatchRunConfiguration> testInstanceSet = new LinkedHashSet<>();
-                BatchRunConfiguration config = new BatchRunConfiguration(configName, screenRotation, surfaceType, required);
-                testInstanceSet.add(config);
-                TestDescription test = pathToIdentifier(testName);
-                instances.put(test, testInstanceSet);
+                if (testName.length() > 0) {
+                    // Test name -> testId -> only one config -> done.
+                    final Set<BatchRunConfiguration> testInstanceSet = new LinkedHashSet<>();
+                    BatchRunConfiguration config = new BatchRunConfiguration(configName, screenRotation, surfaceType, required);
+                    testInstanceSet.add(config);
+                    TestDescription test = pathToIdentifier(testName);
+                    instances.put(test, testInstanceSet);
+                }
             }
             testlistReader.close();
         }