Test path on native Windows are displayed using back slash. It should be forward slash like other ports do.
relative_test_filename of chromium_win.py used to replace backward slash with forward slash. (Bug 34739)
test_name has been cannibalized in unix-style since Bug 63597. Basuke's Bug 179572 seems bad fix.
Bug 180660, too.
Created attachment 346701 [details] WIP patch
Created attachment 346702 [details] WIP patch * Reverted parts of Bug 179572, Bug 180660 and Bug 181814 to restore test_name is unix-style. * relative_test_filename: Replace os.path.sep with self.TEST_PATH_SEPARATOR. * abspath_for_test: Replace self.TEST_PATH_SEPARATOR with os.path.sep.
This patch makes some tests of test-webkitpy failing because common/system/filesystem_mock.py assumes path separator is a forward slash. > python Tools\Scripts\test-webkitpy webkitpy.port.base_unittest.PortTest.test_test_exists This is the test case to check mock file system. This seems the reason why chromium_win.py didn't do the string conversion in abspath_for_test.
Created attachment 346760 [details] WIP patch This patch significantly reduces the number of test-webkitpy failures, but LayoutTest doesn't work. FAILED (failures=41, errors=25) ↓ FAILED (failures=0, errors=8)
If DumpRenderTree is given a file path containing forward slashes, such like: > C:\webkit\ga\LayoutTests\fast/css/button-height.html CFURLCreateWithFileSystemPath converts it to "file://localhost/C:/webkit/ga/LayoutTests/fast%2Fcss%2Fbutton-height.html". https://github.com/WebKit/webkit/blob/82bae82cf0f329dbe21059ef0986c4e92fea4ba6/Tools/DumpRenderTree/win/DumpRenderTree.cpp#L1135 > url = CFURLCreateWithFileSystemPath(0, str, kCFURLWindowsPathStyle, false);
Created attachment 346817 [details] Patch
Comment on attachment 346817 [details] Patch Clearing flags on attachment: 346817 Committed r234749: <https://trac.webkit.org/changeset/234749>
All reviewed patches have been landed. Closing bug.
<rdar://problem/43122448>
I am currently observing errors on the Win EWS bots. Is it possible that this was introduced by this change? This is the error message: Starting WebSocket server ... Failed to remove stale pywebsocket log files: [Errno 2] No such file or directory: '/cygdrive/C/cygwin/home/buildbot/WebKit/WebKitBuild/Release/bin32/layout-test-results' IOError raised: [Errno 2] No such file or directory: u'/cygdrive/C/cygwin/home/buildbot/WebKit/WebKitBuild/Release/bin32/layout-test-results/pywebsocket.ws.log-out.txt' Traceback (most recent call last): File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 85, in main run_details = run(port, options, args, stderr) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 447, in run run_details = manager.run(args) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 240, in run needs_http=needs_http, needs_web_platform_test_server=needs_web_platform_test_server, needs_websockets=needs_websockets) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 87, in __init__ self.start_servers() File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 202, in start_servers self._port.start_websocket_server() File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/port/base.py", line 1031, in start_websocket_server server.start() File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/servers/http_server_base.py", line 95, in start self._prepare_config() File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/servers/websocket_server.py", line 118, in _prepare_config self._wsout = self._filesystem.open_text_file_for_writing(output_log) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/system/filesystem.py", line 239, in open_text_file_for_writing return codecs.open(path, 'w', 'utf8') File "/usr/lib/python2.7/codecs.py", line 896, in open file = __builtin__.open(filename, mode, buffering) IOError: [Errno 2] No such file or directory: u'/cygdrive/C/cygwin/home/buildbot/WebKit/WebKitBuild/Release/bin32/layout-test-results/pywebsocket.ws.log-out.txt'
It looks like https://trac.webkit.org/changeset/234749/webkit has caused the perf tests on Sierra to all fail. Build History: https://build.webkit.org/builders/Apple%20Sierra%20Release%20WK2%20(Perf)?numbuilds=50 Output: https://build.webkit.org/builders/Apple%20Sierra%20Release%20WK2%20%28Perf%29/builds/1401/steps/perf-test/logs/stdio
Reverted r234749 for reason: Caused all perf tests to fail in Sierra Committed r234765: <https://trac.webkit.org/changeset/234765>
This patch alsodoesn't solve my original issue. The test result is still displayed using Windows path. Something is missing. > Running 8 DumpRenderTrees in parallel. > > [63/270] http\tests\xmlhttprequest\cache-override.html passed unexpectedly > [143/270] http\tests\xmlhttprequest\range-test.html passed unexpectedly > [169/270] http\tests\xmlhttprequest\response-empty-arraybuffer.html passed unexpectedly > [258/270] http\tests\xmlhttprequest\reentrant-cancel.html failed unexpectedly (test timed out, test was not run) > [270/270] http\tests\xmlhttprequest\xmlhttprequest-overridemimetype-content-type-header.html failed unexpectedly (test timed out, test was not run) > [270/270] http\tests\xmlhttprequest\on-network-timeout-error-during-preflight.html failed unexpectedly (test timed out, text diff) > > Retrying 3 unexpected failures ... > > Running 1 DumpRenderTree. > > [3/3] http\tests\xmlhttprequest\on-network-timeout-error-during-preflight.html failed unexpectedly (test timed out, text diff) > > 264 tests ran as expected, 6 didn't: > > Expected to fail, but passed: (3) > http\tests\xmlhttprequest\cache-override.html > http\tests\xmlhttprequest\range-test.html > http\tests\xmlhttprequest\response-empty-arraybuffer.html > > Unexpected flakiness: timeouts (2) > http\tests\xmlhttprequest\reentrant-cancel.html [ Timeout Pass ] > http\tests\xmlhttprequest\xmlhttprequest-overridemimetype-content-type-header.html [ Timeout Pass ] > > Regressions: Unexpected timeouts (1) > http\tests\xmlhttprequest\on-network-timeout-error-during-preflight.html [ Timeout ]
Oh, it was rolled back. That's why.
Comment on attachment 346817 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=346817&action=review > Tools/Scripts/webkitpy/port/base.py:844 > + return host.filesystem.join(host.filesystem.map_base_host_path(self.layout_tests_dir()), *test_name.split(self.TEST_PATH_SEPARATOR)) Looks like perf tests use abspaths as test names, so we need to be explicit and `.replace(self.TEST_PATH_SEPARATOR, self.host.filesystem.sep)` here.
Committed r234863: <https://trac.webkit.org/changeset/234863>