RESOLVED FIXED46332
rebaseline-chromium-webkit-tests crashes in a symlinked Git checkout
https://bugs.webkit.org/show_bug.cgi?id=46332
Summary rebaseline-chromium-webkit-tests crashes in a symlinked Git checkout
Dirk Pranke
Reported 2010-09-22 18:52:47 PDT
It fails when passing absolute paths to scm.add() in a git checkout, with the following stack trace: 100922 18:51:42 test_expectations.py:519 INFO Total tests removed: 0 100922 18:51:42 test_expectations.py:520 INFO Total tests updated: 1 Traceback (most recent call last): File "/src/c.wtot/src/third_party/WebKit/WebKitTools/Scripts/rebaseline-chromium-webkit-tests", line 44, in <module> rebaseline_chromium_webkit_tests.main() File "/src/c.wtot/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py", line 982, in main if rebaseliner.run(backup): File "/src/c.wtot/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py", line 263, in run self._update_rebaselined_tests_in_file(backup) File "/src/c.wtot/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py", line 593, in _update_rebaselined_tests_in_file self._scm.add(path) File "/Volumes/Src/src/c.wtot/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/checkout/scm.py", line 620, in add return self.run(["git", "add", path], return_exit_code=return_exit_code) File "/Volumes/Src/src/c.wtot/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/checkout/scm.py", line 158, in run decode_output=decode_output) File "/Volumes/Src/src/c.wtot/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/system/executive.py", line 91, in run_command return Executive().run_command(*args, **kwargs) File "/Volumes/Src/src/c.wtot/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/system/executive.py", line 311, in run_command (error_handler or self.default_error_handler)(script_error) File "/Volumes/Src/src/c.wtot/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/system/executive.py", line 234, in default_error_handler raise error webkitpy.common.system.executive.ScriptError: Failed to run "[u'git', u'add', u'/src/c.wtot/src/third_party/WebKit/LayoutTests/platform/chromium/test_expectations.txt']" exit_code: 128 git apparently can't deal with absolute paths, so the scm module probably needs to normalize this path to the checkout.
Attachments
Patch (6.77 KB, patch)
2010-09-23 16:52 PDT, Dirk Pranke
no flags
Dirk Pranke
Comment 1 2010-09-23 16:01:35 PDT
Okay, it turns out that Git (at least as of 1.7.0.3) handles some absolute paths okay, but not ones that are symlinked. E.g., if I have my checkout in /src/WebKit, and I link /src/WebKit.current to it ("ln -s /src/WebKit /src/WebKit.current"), then running the command in the latter doesn't work.
Dirk Pranke
Comment 2 2010-09-23 16:52:43 PDT
Adam Barth
Comment 3 2010-09-23 17:03:50 PDT
Comment on attachment 68623 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=68623&action=review This looks great. I'd love to r+ it, but we'd like to see tests here. > WebKitTools/ChangeLog:10 > + Note: this patch has not been tested yet, since the unit tests fail. > + I am posting it for preliminary review accordingly. Yeah, we'd like to test this patch. > WebKitTools/Scripts/webkitpy/common/checkout/scm.py:636 > + # normalize to the checkout dir I'd skip this comment since we do this all over now. > WebKitTools/Scripts/webkitpy/common/checkout/scm.py:736 > + self.run(['git', 'checkout', 'HEAD'] + [self.relative_path(p) for p in file_paths]) Maybe use map here?
Dana Jansens
Comment 4 2012-03-14 10:50:12 PDT
None of this patch is applying cleanly anymore.
Ojan Vafai
Comment 5 2012-06-28 10:14:02 PDT
This script no longer exists.
Note You need to log in before you can comment on or make changes to this bug.