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
59
60
61
62
63
64
65
66
|
enum mode { mode_compile_fail, mode_run_fail, mode_run_pass, mode_pretty, }
#[cfg(stage0)]
impl mode : cmp::Eq {
pure fn eq(&&other: mode) -> bool {
other as int == self as int
}
pure fn ne(&&other: mode) -> bool { !self.eq(other) }
}
#[cfg(stage1)]
#[cfg(stage2)]
impl mode : cmp::Eq {
pure fn eq(other: &mode) -> bool {
(*other) as int == self as int
}
pure fn ne(other: &mode) -> bool { !self.eq(other) }
}
type config = {
// The library paths required for running the compiler
compile_lib_path: ~str,
// The library paths required for running compiled programs
run_lib_path: ~str,
// The rustc executable
rustc_path: Path,
// The directory containing the tests to run
src_base: Path,
// The directory where programs should be built
build_base: Path,
// Directory for auxiliary libraries
aux_base: Path,
// The name of the stage being built (stage1, etc)
stage_id: ~str,
// The test mode, compile-fail, run-fail, run-pass
mode: mode,
// Run ignored tests
run_ignored: bool,
// Only run tests that match this filter
filter: Option<~str>,
// Write out a parseable log of tests that were run
logfile: Option<Path>,
// A command line to prefix program execution with,
// for running under valgrind
runtool: Option<~str>,
// Flags to pass to the compiler
rustcflags: Option<~str>,
// Run tests using the JIT
jit: bool,
// Explain what's going on
verbose: bool
};
|