Files
ladybird/Tests/LibWeb/test-web/Application.h
Timothy Flynn 6d52c9003c test-web: Add an explicit verbosity mode to disable live display
We were previously using the absence of a results directory to decide
if we should disable live display. However, this was never the case -
the results directory would become unconditionally set in main(). This
caused all test-web output in CI to become hidden.

Instead, let's add a verbosity mode to display test output explicitly.
This is set for CI.

This also makes it much easier to debug single tests locally. The live
capture and results file combo is a bit overkill for running a single
test; we can now just add "-v" to the command line to see the output
directly in the terminal.
2026-01-20 14:14:38 -05:00

53 lines
1.4 KiB
C++

/*
* Copyright (c) 2024-2025, Tim Flynn <trflynn89@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/ByteString.h>
#include <AK/Error.h>
#include <AK/Vector.h>
#include <LibWebView/Application.h>
namespace TestWeb {
class Application : public WebView::Application {
WEB_VIEW_APPLICATION(Application)
public:
explicit Application(Optional<ByteString> ladybird_binary_path);
~Application();
virtual void create_platform_arguments(Core::ArgsParser&) override;
virtual void create_platform_options(WebView::BrowserOptions&, WebView::RequestServerOptions&, WebView::WebContentOptions&) override;
virtual bool should_capture_web_content_output() const override;
ErrorOr<void> launch_test_fixtures();
static constexpr u8 VERBOSITY_LEVEL_LOG_TEST_OUTPUT = 1;
static constexpr u8 VERBOSITY_LEVEL_LOG_TEST_DURATION = 2;
static constexpr u8 VERBOSITY_LEVEL_LOG_SLOWEST_TESTS = 3;
static constexpr u8 VERBOSITY_LEVEL_LOG_SKIPPED_TESTS = 4;
ByteString test_root_path;
ByteString results_directory { "test-dumps/results"sv };
size_t test_concurrency { 1 };
Vector<ByteString> test_globs;
ByteString python_executable_path;
bool dump_failed_ref_tests { false };
bool dump_gc_graph { false };
bool test_dry_run { false };
bool rebaseline { false };
bool shuffle { false };
int per_test_timeout_in_seconds { 30 };
u8 verbosity { 0 };
};
}