mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
af60c740e3
This is meant to be used in a similar manner to skipping tests, with the extra advantage that if the test begins passing unexpectedly, the test will fail. Being notified of unexpected passes allows for the test to be updated to the correct expectation.
53 lines
1.2 KiB
C++
53 lines
1.2 KiB
C++
/*
|
|
* Copyright (c) 2020, Matthew Olsson <mattco@serenityos.org>
|
|
* Copyright (c) 2020-2021, Linus Groh <linusg@serenityos.org>
|
|
* Copyright (c) 2021, Brian Gianforcaro <bgianf@serenityos.org>
|
|
* Copyright (c) 2023, Shannon Booth <shannon@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/DeprecatedString.h>
|
|
#include <AK/Vector.h>
|
|
|
|
namespace Test {
|
|
|
|
enum class Result {
|
|
Pass,
|
|
Fail,
|
|
Skip,
|
|
ExpectedFail,
|
|
Crashed,
|
|
};
|
|
|
|
struct Case {
|
|
DeprecatedString name;
|
|
Result result;
|
|
DeprecatedString details;
|
|
u64 duration_us;
|
|
};
|
|
|
|
struct Suite {
|
|
DeprecatedString path;
|
|
DeprecatedString name;
|
|
// A failed test takes precedence over a skipped test, which both have
|
|
// precedence over a passed test
|
|
Result most_severe_test_result { Result::Pass };
|
|
Vector<Case> tests {};
|
|
};
|
|
|
|
struct Counts {
|
|
// Not all of these might be used by a certain test runner, e.g. some
|
|
// do not have a concept of suites, or might not load tests from files.
|
|
unsigned tests_failed { 0 };
|
|
unsigned tests_passed { 0 };
|
|
unsigned tests_skipped { 0 };
|
|
unsigned tests_expected_failed { 0 };
|
|
unsigned suites_failed { 0 };
|
|
unsigned suites_passed { 0 };
|
|
unsigned files_total { 0 };
|
|
};
|
|
|
|
}
|