Open Bug 1515245 Opened 2 years ago Updated 1 year ago
./mach test can't run web-platform-tests on Windows
47 bytes, text/x-phabricator-request
|Details | Review|
On a fresh checkout of mozilla-central on Windows 10 I get the following: /c/moz/src1 (debug-opt) $ ./mach test testing/web-platform/tests/web-animations/ cat: backend.TestManifestBackend.in: No such file or directory Build configuration changed. Regenerating backend. No handlers could be found for logger "mozbuild.frontend.reader" UNKNOWN TEST: testing/web-platform/tests/web-animations/ I was unable to find tests from the given argument(s). You should specify a test directory, filename, test suite name, or abbreviation. If no arguments are given, there must be local file changes and corresponding IMPACTED_TESTS annotations in moz.build files relevant to those files. It's possible my little brain doesn't know about the type of test you are trying to execute. If you suspect this, please request support by filing a bug at https://bugzilla.mozilla.org/enter_bug.cgi?product=Testing&component=General. However if I use `./mach wpt` instead of `./mach test` it works. On Linux both work.
This is probably a regression since I seem to recall this used to work on Windows.
For this test, I used `./mach test testing/web-platform/tests/web-animations/timing-model/animation-effects` on both OSX and Windows10. So in this check, `path` is "testing/web-platform/tests/web-animations/timing-model/animation-effects" on both OSX and Windows, `path in self._test_dirs` is False on both, and `any(p.startswith(path) for p in self._tests_by_path)` is True on OSX but False on Windows. The keys in self._tests_by_path on OSX look like 'testing/web-platform/tests/foo/bar/baz.html'. On Windows, those same keys look like 'testing\\web-platform\\tests\\foo\\bar\\baz.html'. What would be the preferred way of fixing this? Converting `path` to the Windows-escaped paths that are in _tests_by_path? 1. https://searchfox.org/mozilla-central/source/testing/mozbase/moztest/moztest/resolve.py#427-428
FWIW, `./mach test testing/web-platform/tests/web-animations` works if I add `path = path.replace("/", "\\")`before line 427, but obviously that would break non-windows.
Yeah, but path.replace("\", os.path.sep) should work. It might be more efficient to do something like if os.path.sep != "/": path = path.replace("/", os.path.sep)
Comment on attachment 9033679 [details] Bug 1515245 - Make sure windows paths are supported for wpt via generic 'mach test' r?jgraham This works for me on mac and windows.
Assignee: nobody → wkocher
Pushed by firstname.lastname@example.org: https://hg.mozilla.org/integration/autoland/rev/1923d02bb66d Make sure windows paths are supported for wpt via generic 'mach test' r=jgraham
Backed out for build bustages. Backout link: https://hg.mozilla.org/integration/autoland/rev/251b7f4419f1289c12301ef1e7d1eb8cb7d01caf Push link: https://hg.mozilla.org/integration/autoland/rev/1923d02bb66df7e1aeeebc78682816cf921c4a00 Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=219324545&repo=autoland&lineNumber=45759
Pushed by email@example.com: https://hg.mozilla.org/integration/autoland/rev/8040640ee1cd Make sure windows paths are supported for wpt via generic 'mach test' r=jgraham
Backed out for mozbase failures Backout link: https://hg.mozilla.org/integration/autoland/rev/f87eda1691a15119f93561c974fe7115702cb346 Push link: https://hg.mozilla.org/integration/autoland/rev/8040640ee1cd603043d7dfafe70365fd187a5307 Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=219336338&repo=autoland&lineNumber=1420
Hmm, so maybe the right fix here is to ensure that all the wpt paths are added with unix-style path seperators irrespective of the actual platform.
Assignee: wkocher → nobody
You need to log in before you can comment on or make changes to this bug.