1+ use snapbox:: prelude:: * ;
2+ use snapbox:: str;
3+
14fn test_cmd ( ) -> snapbox:: cmd:: Command {
25 static BIN : once_cell_polyfill:: sync:: OnceLock < ( std:: path:: PathBuf , std:: path:: PathBuf ) > =
36 once_cell_polyfill:: sync:: OnceLock :: new ( ) ;
@@ -23,7 +26,7 @@ fn main() {
2326 snapbox:: cmd:: Command :: new ( bin) . current_dir ( current_dir)
2427}
2528
26- fn check ( args : & [ & str ] , single : & str , parallel : & str ) {
29+ fn check ( args : & [ & str ] , single : impl IntoData , parallel : impl IntoData ) {
2730 test_cmd ( )
2831 . args ( args)
2932 . args ( [ "--test-threads" , "1" ] )
@@ -37,191 +40,227 @@ fn check(args: &[&str], single: &str, parallel: &str) {
3740fn normal ( ) {
3841 check (
3942 & [ ] ,
40- r#"
43+ str![ [ r#"
44+
4145running 3 tests
4246test bar ... ok
4347test barro ... ok
4448test foo ... ok
4549
4650test result: ok. 3 passed; 0 failed; 0 ignored; 0 filtered out; finished in [..]s
4751
48- "# ,
49- r#"
52+
53+ "# ] ] ,
54+ str![ [ r#"
55+
5056running 3 tests
5157...
5258
5359test result: ok. 3 passed; 0 failed; 0 ignored; 0 filtered out; finished in [..]s
5460
55- "# ,
61+
62+ "# ] ] ,
5663 ) ;
5764}
5865
5966#[ test]
6067fn filter_one ( ) {
6168 check (
6269 & [ "foo" ] ,
63- r#"
70+ str![ [ r#"
71+
6472running 1 test
6573test foo ... ok
6674
6775test result: ok. 1 passed; 0 failed; 0 ignored; 2 filtered out; finished in [..]s
6876
69- "# ,
70- r#"
77+
78+ "# ] ] ,
79+ str![ [ r#"
80+
7181running 1 test
7282test foo ... ok
7383
7484test result: ok. 1 passed; 0 failed; 0 ignored; 2 filtered out; finished in [..]s
7585
76- "# ,
86+
87+ "# ] ] ,
7788 ) ;
7889}
7990
8091#[ test]
8192fn filter_two ( ) {
8293 check (
8394 & [ "bar" ] ,
84- r#"
95+ str![ [ r#"
96+
8597running 2 tests
8698test bar ... ok
8799test barro ... ok
88100
89101test result: ok. 2 passed; 0 failed; 0 ignored; 1 filtered out; finished in [..]s
90102
91- "# ,
92- r#"
103+
104+ "# ] ] ,
105+ str![ [ r#"
106+
93107running 2 tests
94108...
95109
96110test result: ok. 2 passed; 0 failed; 0 ignored; 1 filtered out; finished in [..]s
97111
98- "# ,
112+
113+ "# ] ] ,
99114 ) ;
100115}
101116
102117#[ test]
103118fn filter_exact ( ) {
104119 check (
105120 & [ "bar" , "--exact" ] ,
106- r#"
121+ str![ [ r#"
122+
107123running 1 test
108124test bar ... ok
109125
110126test result: ok. 1 passed; 0 failed; 0 ignored; 2 filtered out; finished in [..]s
111127
112- "# ,
113- r#"
128+
129+ "# ] ] ,
130+ str![ [ r#"
131+
114132running 1 test
115133test bar ... ok
116134
117135test result: ok. 1 passed; 0 failed; 0 ignored; 2 filtered out; finished in [..]s
118136
119- "# ,
137+
138+ "# ] ] ,
120139 ) ;
121140}
122141
123142#[ test]
124143fn filter_two_and_skip ( ) {
125144 check (
126145 & [ "--skip" , "barro" , "bar" ] ,
127- r#"
146+ str![ [ r#"
147+
128148running 1 test
129149test bar ... ok
130150
131151test result: ok. 1 passed; 0 failed; 0 ignored; 2 filtered out; finished in [..]s
132152
133- "# ,
134- r#"
153+
154+ "# ] ] ,
155+ str![ [ r#"
156+
135157running 1 test
136158test bar ... ok
137159
138160test result: ok. 1 passed; 0 failed; 0 ignored; 2 filtered out; finished in [..]s
139161
140- "# ,
162+
163+ "# ] ] ,
141164 ) ;
142165}
143166
144167#[ test]
145168fn skip_nothing ( ) {
146169 check (
147170 & [ "--skip" , "peter" ] ,
148- r#"
171+ str![ [ r#"
172+
149173running 3 tests
150174test bar ... ok
151175test barro ... ok
152176test foo ... ok
153177
154178test result: ok. 3 passed; 0 failed; 0 ignored; 0 filtered out; finished in [..]s
155179
156- "# ,
157- r#"
180+
181+ "# ] ] ,
182+ str![ [ r#"
183+
158184running 3 tests
159185...
160186
161187test result: ok. 3 passed; 0 failed; 0 ignored; 0 filtered out; finished in [..]s
162188
163- "# ,
189+
190+ "# ] ] ,
164191 ) ;
165192}
166193
167194#[ test]
168195fn skip_two ( ) {
169196 check (
170197 & [ "--skip" , "bar" ] ,
171- r#"
198+ str![ [ r#"
199+
172200running 1 test
173201test foo ... ok
174202
175203test result: ok. 1 passed; 0 failed; 0 ignored; 2 filtered out; finished in [..]s
176204
177- "# ,
178- r#"
205+
206+ "# ] ] ,
207+ str![ [ r#"
208+
179209running 1 test
180210test foo ... ok
181211
182212test result: ok. 1 passed; 0 failed; 0 ignored; 2 filtered out; finished in [..]s
183213
184- "# ,
214+
215+ "# ] ] ,
185216 ) ;
186217}
187218
188219#[ test]
189220fn skip_exact ( ) {
190221 check (
191222 & [ "--exact" , "--skip" , "bar" ] ,
192- r#"
223+ str![ [ r#"
224+
193225running 2 tests
194226test barro ... ok
195227test foo ... ok
196228
197229test result: ok. 2 passed; 0 failed; 0 ignored; 1 filtered out; finished in [..]s
198230
199- "# ,
200- r#"
231+
232+ "# ] ] ,
233+ str![ [ r#"
234+
201235running 2 tests
202236...
203237
204238test result: ok. 2 passed; 0 failed; 0 ignored; 1 filtered out; finished in [..]s
205239
206- "# ,
240+
241+ "# ] ] ,
207242 ) ;
208243}
209244
210245#[ test]
211246fn terse_output ( ) {
212247 check (
213248 & [ "--quiet" , "--skip" , "foo" ] ,
214- r#"
249+ str![ [ r#"
250+
215251running 2 tests
216252..
217253test result: ok. 2 passed; 0 failed; 0 ignored; 1 filtered out; finished in [..]s
218254
219- "# ,
220- r#"
255+
256+ "# ] ] ,
257+ str![ [ r#"
258+
221259running 2 tests
222260..
223261test result: ok. 2 passed; 0 failed; 0 ignored; 1 filtered out; finished in [..]s
224262
225- "# ,
263+
264+ "# ] ] ,
226265 ) ;
227266}
0 commit comments