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
49
50
51
52
53
54
55
56
57
58
/**
Constructs for wrapping test cases to spawn the relayer supervisor
before the inner test is executed.
*/
use crateHasOverrides;
/**
An internal trait that can be implemented by test cases to override
whether to automatically spawn the relayer supervisor before the
test starts.
This is used by [`RunWithSupervisor`] to determine whether to
spawn the relayer.
Test writers should implement
[`TestOverrides`](crate::framework::overrides::TestOverrides)
for their test cases instead of implementing this trait directly.
*/
/**
A wrapper type that implements the same test traits as the wrapped
`Test` type, and spawns the relayer supervisor before the inner test
is called.
For example, if `Test` implements
[`BinaryChannelTest`](crate::framework::binary::channel::BinaryChannelTest),
then `RunWithSupervisor<Test>` also implements `BinaryChannelTest`.
The automatic spawning of supervisor can be disabled by implementing
[`SupervisorOverride`] and returning false.
When composing the test runners with `RunWithSupervisor`, it is important
to ensure that `RunWithSupervisor` do not appear more than once in the
nesting. Otherwise the supervisor may spawn more than once during tests.
*/