-
Notifications
You must be signed in to change notification settings - Fork 499
/
os_attributes.rs
112 lines (104 loc) · 1.66 KB
/
os_attributes.rs
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
use super::*;
#[test]
fn os_family() {
Test::new()
.justfile(
"
[unix]
foo:
echo bar
[windows]
foo:
echo baz
",
)
.stdout(if cfg!(unix) {
"bar\n"
} else if cfg!(windows) {
"baz\n"
} else {
panic!("unexpected os family")
})
.stderr(if cfg!(unix) {
"echo bar\n"
} else if cfg!(windows) {
"echo baz\n"
} else {
panic!("unexpected os family")
})
.run();
}
#[test]
fn os() {
Test::new()
.justfile(
"
[macos]
foo:
echo bar
[windows]
foo:
echo baz
[linux]
foo:
echo quxx
[openbsd]
foo:
echo bob
",
)
.stdout(if cfg!(target_os = "macos") {
"bar\n"
} else if cfg!(windows) {
"baz\n"
} else if cfg!(target_os = "linux") {
"quxx\n"
} else if cfg!(target_os = "openbsd") {
"bob\n"
} else {
panic!("unexpected os family")
})
.stderr(if cfg!(target_os = "macos") {
"echo bar\n"
} else if cfg!(windows) {
"echo baz\n"
} else if cfg!(target_os = "linux") {
"echo quxx\n"
} else if cfg!(target_os = "openbsd") {
"echo bob\n"
} else {
panic!("unexpected os family")
})
.run();
}
#[test]
fn all() {
Test::new()
.justfile(
"
[linux]
[macos]
[openbsd]
[unix]
[windows]
foo:
echo bar
",
)
.stdout("bar\n")
.stderr("echo bar\n")
.run();
}
#[test]
fn none() {
Test::new()
.justfile(
"
foo:
echo bar
",
)
.stdout("bar\n")
.stderr("echo bar\n")
.run();
}