1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Outcome types the per-test-case lifecycle works in.
//!
//! hegeltest drives the engine through libhegel's C ABI (see `crate::ffi`),
//! so the data-source / test-runner traits that used to live here now belong
//! to the engine crate. What remains is the small currency the lifecycle
//! itself speaks: the result of running one test case, and the failure it
//! carries. `crate::run_lifecycle::run_test_case` builds these from a caught
//! panic; `crate::test_case::TestCase::mark_complete` translates them into a
//! `hegel_mark_complete` status (plus, for a failure, its bug origin), and the
//! richer failure data (panic message, reproduce blob) is read back out of the
//! run result afterward.
/// A single failing test case the lifecycle has classified.
///
/// This is data about the failure, not its presentation: the rendered
/// diagnostic block (panic location, message, backtrace) is printed by the
/// lifecycle at the moment the panic is caught and never travels with the
/// failure.
/// Result of running a single test case.