[test] Fix cctest path separators on Windows
authorjkummerow <jkummerow@chromium.org>
Thu, 17 Sep 2015 11:23:56 +0000 (04:23 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 17 Sep 2015 11:24:09 +0000 (11:24 +0000)
Now run-tests.py understands "suite/foo/bar" with forward slashes for
command-line test selection on all test suites on all platforms.

Previously, file-based suites like mjsunit also accepted "mjsunit/foo\bar";
that behavior is sacrificed here in favor of unification. For the cctest
suite, OTOH, it wasn't possible on Windows to select specific tests at all.

Review URL: https://codereview.chromium.org/1348653003

Cr-Commit-Position: refs/heads/master@{#30794}

test/intl/testcfg.py
test/message/testcfg.py
test/mjsunit/testcfg.py
test/mozilla/testcfg.py
test/test262-es6/testcfg.py
test/test262/testcfg.py
test/webkit/testcfg.py
tools/testrunner/local/testsuite.py

index 9fc087e5f523fc46eda2b3c94f9951c638447d10..51fa1e1a88d2fe2b350be8b7b16f1db62b9bed88 100644 (file)
@@ -46,7 +46,9 @@ class IntlTestSuite(testsuite.TestSuite):
       for filename in files:
         if (filename.endswith(".js") and filename != "assert.js" and
             filename != "utils.js"):
-          testname = os.path.join(dirname[len(self.root) + 1:], filename[:-3])
+          fullpath = os.path.join(dirname, filename)
+          relpath = fullpath[len(self.root) + 1 : -3]
+          testname = relpath.replace(os.path.sep, "/")
           test = testcase.TestCase(self, testname)
           tests.append(test)
     return tests
index cfe22f15d70adafc49daefcb68eaa962852132e7..bc73510c097bfc1d66c28c1cff653c86494ca781 100644 (file)
@@ -52,7 +52,9 @@ class MessageTestSuite(testsuite.TestSuite):
       files.sort()
       for filename in files:
         if filename.endswith(".js"):
-          testname = os.path.join(dirname[len(self.root) + 1:], filename[:-3])
+          fullpath = os.path.join(dirname, filename)
+          relpath = fullpath[len(self.root) + 1 : -3]
+          testname = relpath.replace(os.path.sep, "/")
           test = testcase.TestCase(self, testname)
           tests.append(test)
     return tests
index 4fbdcfca26626d7867e1d920a9832e382f5fe642..7af7acf0a927e2ac034aa459cd4aaa796618ea14 100644 (file)
@@ -52,7 +52,9 @@ class MjsunitTestSuite(testsuite.TestSuite):
       files.sort()
       for filename in files:
         if filename.endswith(".js") and filename != "mjsunit.js":
-          testname = os.path.join(dirname[len(self.root) + 1:], filename[:-3])
+          fullpath = os.path.join(dirname, filename)
+          relpath = fullpath[len(self.root) + 1 : -3]
+          testname = relpath.replace(os.path.sep, "/")
           test = testcase.TestCase(self, testname)
           tests.append(test)
     return tests
index 70a7ac663cde287e87f73808dd1fed2d96f41139..70665cb807d0723046ba2ad7ced9be6406b45b82 100644 (file)
@@ -81,8 +81,9 @@ class MozillaTestSuite(testsuite.TestSuite):
         files.sort()
         for filename in files:
           if filename.endswith(".js") and not filename in FRAMEWORK:
-            testname = os.path.join(dirname[len(self.testroot) + 1:],
-                                    filename[:-3])
+            fullpath = os.path.join(dirname, filename)
+            relpath = fullpath[len(self.testroot) + 1 : -3]
+            testname = relpath.replace(os.path.sep, "/")
             case = testcase.TestCase(self, testname)
             tests.append(case)
     return tests
index f9e9a3946b7ea1a7a0b427ec5e134d30b115d752..49a9b254a09e6475c47573b2562711e890e52a7b 100644 (file)
@@ -119,8 +119,9 @@ class Test262TestSuite(testsuite.TestSuite):
       files.sort()
       for filename in files:
         if filename.endswith(".js"):
-          testname = os.path.join(dirname[len(self.testroot) + 1:],
-                                  filename[:-3])
+          fullpath = os.path.join(dirname, filename)
+          relpath = fullpath[len(self.testroot) + 1 : -3]
+          testname = relpath.replace(os.path.sep, "/")
           case = testcase.TestCase(self, testname)
           tests.append(case)
     return tests
index a0c2cd6568232524ad00742ec81eaa91bf1c3ef1..835c1ffd0b0ff80de800556ccfa1973c6c9408d9 100644 (file)
@@ -66,8 +66,9 @@ class Test262TestSuite(testsuite.TestSuite):
       files.sort()
       for filename in files:
         if filename.endswith(".js"):
-          testname = os.path.join(dirname[len(self.testroot) + 1:],
-                                  filename[:-3])
+          fullpath = os.path.join(dirname, filename)
+          relpath = fullpath[len(self.testroot) + 1 : -3]
+          testname = relpath.replace(os.path.sep, "/")
           case = testcase.TestCase(self, testname)
           tests.append(case)
     return tests
index aa81964f5ef6995c5e1567de23bae411e544afdf..ed811d2922c54bd24b239fa28b1d5e57e7487c19 100644 (file)
@@ -55,7 +55,9 @@ class WebkitTestSuite(testsuite.TestSuite):
       files.sort()
       for filename in files:
         if filename.endswith(".js"):
-          testname = os.path.join(dirname[len(self.root) + 1:], filename[:-3])
+          fullpath = os.path.join(dirname, filename)
+          relpath = fullpath[len(self.root) + 1 : -3]
+          testname = relpath.replace(os.path.sep, "/")
           test = testcase.TestCase(self, testname)
           tests.append(test)
     return tests
index c8e43521e71e8e3be99842d98bb8d250e0eb15c8..e0fff0d11a3d176b3faaac43819e827c552fea0b 100644 (file)
@@ -226,7 +226,7 @@ class TestSuite(object):
         continue
       if len(argpath) == 1 or (len(argpath) == 2 and argpath[1] == '*'):
         return  # Don't filter, run all tests in this suite.
-      path = os.path.sep.join(argpath[1:])
+      path = '/'.join(argpath[1:])
       if path[-1] == '*':
         path = path[:-1]
         globs.append(path)