When a test makes the webdriver server crash, all other subsequent tests fail because they still try to send messages to the server, gettin connection refused errors all the time. Selenium tests handle this correctly by relaunching the server after every test failure, because other failures even when not crashing the server might leve it in an bad state. WPT runner does the same for test files, it uses a subprocess to run the tests and when any subtest fails, a new subsprocess is used for the following test file. We could do the same.
Created attachment 332544 [details] Patch
Attachment 332544 [details] did not pass style-queue: ERROR: Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:149: [WebDriverW3CExecutor.setup] Instance of 'WebDriverW3CExecutor' has no 'protocol' member [pylint/E1101] [5] ERROR: Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:150: [WebDriverW3CExecutor.setup] Instance of 'WebDriverW3CExecutor' has no 'protocol' member [pylint/E1101] [5] ERROR: Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:151: [WebDriverW3CExecutor.setup] Instance of 'WebDriverW3CExecutor' has no 'protocol' member [pylint/E1101] [5] ERROR: Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:152: [WebDriverW3CExecutor.setup] Instance of 'WebDriverW3CExecutor' has no 'server_config' member [pylint/E1101] [5] Total errors found: 4 in 3 files If any of these errors are false positives, please file a bug against check-webkit-style.
Committed r227732: <https://trac.webkit.org/changeset/227732>
<rdar://problem/36988099>