RESOLVED FIXED 141884
[iOS] run-webkit-tests --leaks is broken because IOSSimulatorPort has no is_snowleopard attribute
https://bugs.webkit.org/show_bug.cgi?id=141884
Summary [iOS] run-webkit-tests --leaks is broken because IOSSimulatorPort has no is_s...
David Kilzer (:ddkilzer)
Reported 2015-02-22 18:06:12 PST
run-webkit-tests --leaks is broken because IOSSimulatorPort does not define an is_snowleopard attribute: $ ./Tools/Scripts/run-webkit-tests --release --ios-simulator --results-directory /tmp/layout-test-results-adhoc-test --leaks [...] Process worker/22: Traceback (most recent call last): File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap worker/22: AttributeError(''IOSSimulatorPort' object has no attribute 'is_snowleopard'') raised: File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/common/message_pool.py", line 255, in run worker.handle(message.name, message.src, *message.args) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 256, in handle self._run_test(test_input, test_list_name) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 280, in _run_test result = self._run_test_with_or_without_timeout(test_input, test_timeout_sec, stop_when_done) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 323, in _run_test_with_or_without_timeout return self._run_test_in_this_thread(test_input, stop_when_done) self.run() File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 404, in _run_test_in_this_thread return self._run_single_test(self._driver, test_input, stop_when_done) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/common/message_pool.py", line 271, in run File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 408, in _run_single_test self._name, driver, test_input, stop_when_done) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py", line 46, in run_single_test return runner.run() worker.stop() File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py", line 102, in run File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 293, in stop self._kill_driver() File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 318, in _kill_driver return self._run_reftest() File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py", line 291, in _run_reftest driver.stop() File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/driver.py", line 635, in stop test_output = self._driver.run_test(self._driver_input(), self._stop_when_done) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/driver.py", line 629, in run_test self._driver.stop() return self._driver.run_test(driver_input, stop_when_done) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/driver.py", line 203, in run_test File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/driver.py", line 347, in stop out, err = self._server_process.stop(self._port.driver_stop_timeout() if stop_when_done else 0.0) self._server_process.stop(self._port.driver_stop_timeout()) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/server_process.py", line 337, in stop File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/server_process.py", line 337, in stop self._port.check_for_leaks(self.name(), self.pid()) self._port.check_for_leaks(self.name(), self.pid()) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/ios.py", line 257, in check_for_leaks File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/ios.py", line 257, in check_for_leaks self._leak_detector.check_for_leaks(process_name, process_pid) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/leakdetector.py", line 133, in check_for_leaks leaks_output = self._port._run_script("run-leaks", self._leaks_args(process_pid), include_configuration_arguments=False, decode_output=False) self._leak_detector.check_for_leaks(process_name, process_pid) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/leakdetector.py", line 80, in _leaks_args for callstack in self._callstacks_to_exclude_from_leaks(): File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/leakdetector.py", line 133, in check_for_leaks File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/leakdetector.py", line 60, in _callstacks_to_exclude_from_leaks if self._port.is_snowleopard(): leaks_output = self._port._run_script("run-leaks", self._leaks_args(process_pid)AttributeError: 'IOSSimulatorPort' object has no attribute 'is_snowleopard' , include_configuration_arguments=False, decode_output=False) File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/leakdetector.py", line 80, in _leaks_args for callstack in self._callstacks_to_exclude_from_leaks(): File "/Volumes/Data/WebKit.git/Tools/Scripts/webkitpy/port/leakdetector.py", line 60, in _callstacks_to_exclude_from_leaks if self._port.is_snowleopard(): Exception AttributeError: AttributeError("'IOSSimulatorPort' object has no attribute 'is_snowleopard'",) in <bound method IOSSimulatorDriver.__del__ of <webkitpy.port.driver.IOSSimulatorDriver object at 0x10a5ddd10>> ignored
Attachments
Patch v1 (3.78 KB, patch)
2015-02-22 18:15 PST, David Kilzer (:ddkilzer)
no flags
David Kilzer (:ddkilzer)
Comment 1 2015-02-22 18:06:34 PST
David Kilzer (:ddkilzer)
Comment 2 2015-02-22 18:15:44 PST
Created attachment 247089 [details] Patch v1
David Kilzer (:ddkilzer)
Comment 3 2015-02-22 20:53:25 PST
Interestingly, even after this fix, run-webkit-tests --ios-simulator is checking leaks on the LayouTestRelay process, not the DumpRenderTree.app process, and MallocStackLogging=1 is not being set when launching DumpRenderTree.app. So there is more work to do here.
David Kilzer (:ddkilzer)
Comment 4 2015-02-23 10:07:49 PST
(In reply to comment #3) > Interestingly, even after this fix, run-webkit-tests --ios-simulator is > checking leaks on the LayouTestRelay process, not the DumpRenderTree.app > process, and MallocStackLogging=1 is not being set when launching > DumpRenderTree.app. > > So there is more work to do here. Will do the follow-up work in another bug.
WebKit Commit Bot
Comment 5 2015-02-23 10:53:23 PST
Comment on attachment 247089 [details] Patch v1 Clearing flags on attachment: 247089 Committed r180509: <http://trac.webkit.org/changeset/180509>
WebKit Commit Bot
Comment 6 2015-02-23 10:53:26 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.