1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 08:24:58 +00:00

headless-browser: Log current test when WebContent crashes

This commit is contained in:
Andrew Kaster 2023-12-18 17:23:26 -07:00 committed by Andreas Kling
parent 82ec1ea75e
commit c7f7ee2c4b

View file

@ -54,6 +54,8 @@
constexpr int DEFAULT_TIMEOUT_MS = 30000; // 30sec
static StringView s_current_test_path;
class HeadlessWebContentView final : public WebView::ViewImplementation {
public:
static ErrorOr<NonnullOwnPtr<HeadlessWebContentView>> create(Core::AnonymousBuffer theme, Gfx::IntSize const& window_size, StringView web_driver_ipc_path, Ladybird::IsLayoutTestMode is_layout_test_mode = Ladybird::IsLayoutTestMode::No)
@ -80,6 +82,14 @@ public:
if (!web_driver_ipc_path.is_empty())
view->client().async_connect_to_webdriver(web_driver_ipc_path);
view->m_client_state.client->on_web_content_process_crash = [] {
warnln("\033[31;1mWebContent Crashed!!\033[0m");
if (!s_current_test_path.is_empty()) {
warnln(" Last started test: {}", s_current_test_path);
}
VERIFY_NOT_REACHED();
};
return view;
}
@ -328,6 +338,7 @@ static ErrorOr<TestResult> run_ref_test(HeadlessWebContentView& view, StringView
static ErrorOr<TestResult> run_test(HeadlessWebContentView& view, StringView input_path, StringView expectation_path, TestMode mode, bool dump_failed_ref_tests)
{
s_current_test_path = input_path;
switch (mode) {
case TestMode::Text:
case TestMode::Layout: