on master help sign in
Revert f8ed8aa7 (add test instrumentation to help understand failing tests) per PR feedback/owner request

- reverts commit f8ed8aa74b620a8eb56c6b95c10e821daf416345

commit92e93682c6655503465fc36a029552bc9330b430 authorRoy Ivy III <rivy.dev@gmail.com> dateMon 1 Jun 2020, 16:50 (6 years ago) parent99226b7
1 file changed+86−235
tests/integration_tests.rs+86−235
tests/integration_tests.rs+86−235
@@ -25,14 +25,9 @@ fn bat() -> Command {
2525
2626#[test]
2727fn basic() {
28− let assert = bat()
28+ bat()
2929 .arg("test.txt")
30− .assert();
31− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
32− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
33− println!("stdout={:#?}", stdout);
34− println!("stderr={:#?}", stderr);
35− assert
30+ .assert()
3631 .success()
3732 .stdout("hello world\n")
3833 .stderr("");
@@ -40,216 +35,168 @@ fn basic() {
4035
4136#[test]
4237fn stdin() {
43− let assert = bat()
38+ bat()
4439 .write_stdin("foo\nbar\n")
45− .assert();
46− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
47− println!("stdout={:#?}", stdout);
48− assert
40+ .assert()
4941 .success()
5042 .stdout("foo\nbar\n");
5143}
5244
5345#[test]
5446fn concatenate() {
55− let assert = bat()
47+ bat()
5648 .arg("test.txt")
5749 .arg("test.txt")
58− .assert();
59− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
60− println!("stdout={:#?}", stdout);
61− assert
50+ .assert()
6251 .success()
6352 .stdout("hello world\nhello world\n");
6453}
6554
6655#[test]
6756fn concatenate_stdin() {
68− let assert = bat()
57+ bat()
6958 .arg("test.txt")
7059 .arg("-")
7160 .arg("test.txt")
7261 .write_stdin("stdin\n")
73− .assert();
74− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
75− println!("stdout={:#?}", stdout);
76− assert
62+ .assert()
7763 .success()
7864 .stdout("hello world\nstdin\nhello world\n");
7965}
8066
8167#[test]
8268fn concatenate_empty_first() {
83− let assert = bat()
69+ bat()
8470 .arg("empty.txt")
8571 .arg("test.txt")
86− .assert();
87− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
88− println!("stdout={:#?}", stdout);
89− assert
72+ .assert()
9073 .success()
9174 .stdout("hello world\n");
9275}
9376
9477#[test]
9578fn concatenate_empty_last() {
96− let assert = bat()
79+ bat()
9780 .arg("test.txt")
9881 .arg("empty.txt")
99− .assert();
100− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
101− println!("stdout={:#?}", stdout);
102− assert
82+ .assert()
10383 .success()
10484 .stdout("hello world\n");
10585}
10686
10787#[test]
10888fn concatenate_empty_both() {
109− let assert = bat()
89+ bat()
11090 .arg("empty.txt")
11191 .arg("empty.txt")
112− .assert();
113− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
114− println!("stdout={:#?}", stdout);
115− assert
92+ .assert()
11693 .success()
11794 .stdout("");
11895}
11996
12097#[test]
12198fn concatenate_empty_between() {
122− let assert = bat()
99+ bat()
123100 .arg("test.txt")
124101 .arg("empty.txt")
125102 .arg("test.txt")
126− .assert();
127− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
128− println!("stdout={:#?}", stdout);
129− assert
103+ .assert()
130104 .success()
131105 .stdout("hello world\nhello world\n");
132106}
133107
134108#[test]
135109fn concatenate_empty_first_and_last() {
136− let assert = bat()
110+ bat()
137111 .arg("empty.txt")
138112 .arg("test.txt")
139113 .arg("empty.txt")
140− .assert();
141− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
142− println!("stdout={:#?}", stdout);
143− assert
114+ .assert()
144115 .success()
145116 .stdout("hello world\n");
146117}
147118
148119#[test]
149120fn concatenate_single_line() {
150− let assert = bat()
121+ bat()
151122 .arg("single-line.txt")
152123 .arg("single-line.txt")
153− .assert();
154− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
155− println!("stdout={:#?}", stdout);
156− assert
124+ .assert()
157125 .success()
158126 .stdout("Single LineSingle Line");
159127}
160128
161129#[test]
162130fn concatenate_single_line_empty() {
163− let assert = bat()
131+ bat()
164132 .arg("single-line.txt")
165133 .arg("empty.txt")
166134 .arg("single-line.txt")
167− .assert();
168− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
169− println!("stdout={:#?}", stdout);
170− assert
135+ .assert()
171136 .success()
172137 .stdout("Single LineSingle Line");
173138}
174139
175140#[test]
176141fn line_numbers() {
177− let assert = bat()
142+ bat()
178143 .arg("multiline.txt")
179144 .arg("--style=numbers")
180145 .arg("--decorations=always")
181− .assert();
182− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
183− println!("stdout={:#?}", stdout);
184− assert
146+ .assert()
185147 .success()
186148 .stdout(" 1 line 1\n 2 line 2\n 3 line 3\n 4 line 4\n");
187149}
188150
189151#[test]
190152fn line_range_2_3() {
191− let assert = bat()
153+ bat()
192154 .arg("multiline.txt")
193155 .arg("--line-range=2:3")
194− .assert();
195− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
196− println!("stdout={:#?}", stdout);
197− assert
156+ .assert()
198157 .success()
199158 .stdout("line 2\nline 3\n");
200159}
201160
202161#[test]
203162fn line_range_first_two() {
204− let assert = bat()
163+ bat()
205164 .arg("multiline.txt")
206165 .arg("--line-range=:2")
207− .assert();
208− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
209− println!("stdout={:#?}", stdout);
210− assert
166+ .assert()
211167 .success()
212168 .stdout("line 1\nline 2\n");
213169}
214170
215171#[test]
216172fn line_range_last_3() {
217− let assert = bat()
173+ bat()
218174 .arg("multiline.txt")
219175 .arg("--line-range=2:")
220− .assert();
221− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
222− println!("stdout={:#?}", stdout);
223− assert
176+ .assert()
224177 .success()
225178 .stdout("line 2\nline 3\nline 4\n");
226179}
227180
228181#[test]
229182fn line_range_multiple() {
230− let assert = bat()
183+ bat()
231184 .arg("multiline.txt")
232185 .arg("--line-range=1:2")
233186 .arg("--line-range=4:4")
234− .assert();
235− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
236− println!("stdout={:#?}", stdout);
237− assert
187+ .assert()
238188 .success()
239189 .stdout("line 1\nline 2\nline 4\n");
240190}
241191
242192#[test]
243193fn tabs_numbers() {
244− let assert = bat()
194+ bat()
245195 .arg("tabs.txt")
246196 .arg("--tabs=4")
247197 .arg("--style=numbers")
248198 .arg("--decorations=always")
249− .assert();
250− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
251− println!("stdout={:#?}", stdout);
252− assert
199+ .assert()
253200 .success()
254201 .stdout(
255202 " 1 1 2 3 4
@@ -267,15 +214,12 @@ fn tabs_numbers() {
267214
268215#[test]
269216fn tabs_passthrough_wrapped() {
270− let assert = bat()
217+ bat()
271218 .arg("tabs.txt")
272219 .arg("--tabs=0")
273220 .arg("--style=plain")
274221 .arg("--decorations=always")
275− .assert();
276− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
277− println!("stdout={:#?}", stdout);
278− assert
222+ .assert()
279223 .success()
280224 .stdout(
281225 " 1 2 3 4
@@ -293,15 +237,12 @@ fn tabs_passthrough_wrapped() {
293237
294238#[test]
295239fn tabs_4_wrapped() {
296− let assert = bat()
240+ bat()
297241 .arg("tabs.txt")
298242 .arg("--tabs=4")
299243 .arg("--style=plain")
300244 .arg("--decorations=always")
301− .assert();
302− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
303− println!("stdout={:#?}", stdout);
304− assert
245+ .assert()
305246 .success()
306247 .stdout(
307248 " 1 2 3 4
@@ -319,15 +260,12 @@ fn tabs_4_wrapped() {
319260
320261#[test]
321262fn tabs_8_wrapped() {
322− let assert = bat()
263+ bat()
323264 .arg("tabs.txt")
324265 .arg("--tabs=8")
325266 .arg("--style=plain")
326267 .arg("--decorations=always")
327− .assert();
328− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
329− println!("stdout={:#?}", stdout);
330− assert
268+ .assert()
331269 .success()
332270 .stdout(
333271 " 1 2 3 4
@@ -345,15 +283,12 @@ fn tabs_8_wrapped() {
345283
346284#[test]
347285fn tabs_passthrough() {
348− let assert = bat()
286+ bat()
349287 .arg("tabs.txt")
350288 .arg("--tabs=0")
351289 .arg("--style=plain")
352290 .arg("--decorations=always")
353− .assert();
354− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
355− println!("stdout={:#?}", stdout);
356− assert
291+ .assert()
357292 .success()
358293 .stdout(
359294 " 1 2 3 4
@@ -371,15 +306,12 @@ fn tabs_passthrough() {
371306
372307#[test]
373308fn tabs_4() {
374− let assert = bat()
309+ bat()
375310 .arg("tabs.txt")
376311 .arg("--tabs=4")
377312 .arg("--style=plain")
378313 .arg("--decorations=always")
379− .assert();
380− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
381− println!("stdout={:#?}", stdout);
382− assert
314+ .assert()
383315 .success()
384316 .stdout(
385317 " 1 2 3 4
@@ -397,15 +329,12 @@ fn tabs_4() {
397329
398330#[test]
399331fn tabs_8() {
400− let assert = bat()
332+ bat()
401333 .arg("tabs.txt")
402334 .arg("--tabs=8")
403335 .arg("--style=plain")
404336 .arg("--decorations=always")
405− .assert();
406− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
407− println!("stdout={:#?}", stdout);
408− assert
337+ .assert()
409338 .success()
410339 .stdout(
411340 " 1 2 3 4
@@ -433,83 +362,65 @@ fn fail_directory() {
433362
434363#[test]
435364fn do_not_exit_directory() {
436− let assert = bat()
365+ bat()
437366 .arg("sub_directory")
438367 .arg("test.txt")
439− .assert();
440− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
441− println!("stdout={:#?}", stdout);
442− assert
368+ .assert()
443369 .stdout("hello world\n")
444370 .failure();
445371}
446372
447373#[test]
448374fn pager_basic() {
449− let assert = bat()
375+ bat()
450376 .env("PAGER", "echo pager-output")
451377 .arg("--paging=always")
452378 .arg("test.txt")
453− .assert();
454− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
455− println!("stdout={:#?}", stdout);
456− assert
379+ .assert()
457380 .success()
458381 .stdout(predicate::eq("pager-output\n").normalize());
459382}
460383
461384#[test]
462385fn pager_overwrite() {
463− let assert = bat()
386+ bat()
464387 .env("PAGER", "echo other-pager")
465388 .env("BAT_PAGER", "echo pager-output")
466389 .arg("--paging=always")
467390 .arg("test.txt")
468− .assert();
469− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
470− println!("stdout={:#?}", stdout);
471− assert
391+ .assert()
472392 .success()
473393 .stdout(predicate::eq("pager-output\n").normalize());
474394}
475395
476396#[test]
477397fn pager_disable() {
478− let assert = bat()
398+ bat()
479399 .env("PAGER", "echo other-pager")
480400 .env("BAT_PAGER", "")
481401 .arg("--paging=always")
482402 .arg("test.txt")
483− .assert();
484− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
485− println!("stdout={:#?}", stdout);
486− assert
403+ .assert()
487404 .success()
488405 .stdout(predicate::eq("hello world\n").normalize());
489406}
490407
491408#[test]
492409fn config_location_test() {
493− let assert = bat_with_config()
410+ bat_with_config()
494411 .env("BAT_CONFIG_PATH", "bat.conf")
495412 .arg("--config-file")
496− .assert();
497− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
498− println!("stdout={:#?}", stdout);
499− assert
413+ .assert()
500414 .success()
501415 .stdout("bat.conf\n");
502416}
503417
504418#[test]
505419fn config_read_arguments_from_file() {
506− let assert = bat_with_config()
420+ bat_with_config()
507421 .env("BAT_CONFIG_PATH", "bat.conf")
508422 .arg("test.txt")
509− .assert();
510− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
511− println!("stdout={:#?}", stdout);
512− assert
423+ .assert()
513424 .success()
514425 .stdout(predicate::eq("dummy-pager-from-config\n").normalize());
515426}
@@ -517,28 +428,20 @@ fn config_read_arguments_from_file() {
517428#[test]
518429fn utf16() {
519430 // The output will be converted to UTF-8 with a leading UTF-8 BOM
520− let assert = bat()
431+ bat()
521432 .arg("--plain")
522433 .arg("--decorations=always")
523434 .arg("test_UTF-16LE.txt")
524− .assert();
525− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
526− println!("stdout={:#?}", stdout);
527− assert
435+ .assert()
528436 .success()
529437 .stdout(std::str::from_utf8(b"\xEF\xBB\xBFhello world\n").unwrap());
530438}
531439
532440#[test]
533441fn can_print_file_named_cache() {
534− let assert = bat_with_config()
442+ bat_with_config()
535443 .arg("cache")
536− .assert();
537− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
538− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
539− println!("stdout={:#?}", stdout);
540− println!("stderr={:#?}", stderr);
541− assert
444+ .assert()
542445 .success()
543446 .stdout("test\n")
544447 .stderr("");
@@ -546,15 +449,10 @@ fn can_print_file_named_cache() {
546449
547450#[test]
548451fn can_print_file_named_cache_with_additional_argument() {
549− let assert = bat_with_config()
452+ bat_with_config()
550453 .arg("cache")
551454 .arg("test.txt")
552− .assert();
553− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
554− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
555− println!("stdout={:#?}", stdout);
556− println!("stderr={:#?}", stderr);
557− assert
455+ .assert()
558456 .success()
559457 .stdout("test\nhello world\n")
560458 .stderr("");
@@ -562,14 +460,9 @@ fn can_print_file_named_cache_with_additional_argument() {
562460
563461#[test]
564462fn can_print_file_starting_with_cache() {
565− let assert = bat_with_config()
463+ bat_with_config()
566464 .arg("cache.c")
567− .assert();
568− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
569− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
570− println!("stdout={:#?}", stdout);
571− println!("stderr={:#?}", stderr);
572− assert
465+ .assert()
573466 .success()
574467 .stdout("test\n")
575468 .stderr("");
@@ -582,15 +475,12 @@ fn does_not_print_unwanted_file_named_cache() {
582475
583476#[test]
584477fn unicode_wrap() {
585− let assert = bat_with_config()
478+ bat_with_config()
586479 .arg("unicode-wrap.txt")
587480 .arg("--style=numbers,snip")
588481 .arg("--decorations=always")
589482 .arg("--terminal-width=40")
590− .assert();
591− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
592− println!("stdout={:#?}", stdout);
593− assert
483+ .assert()
594484 .success()
595485 .stdout(
596486 " 1 ビタミンA ビタミンD ビタミンE ビ
@@ -627,17 +517,14 @@ fn unicode_wrap() {
627517
628518#[test]
629519fn snip() {
630− let assert = bat()
520+ bat()
631521 .arg("multiline.txt")
632522 .arg("--style=numbers,snip")
633523 .arg("--decorations=always")
634524 .arg("--line-range=1:2")
635525 .arg("--line-range=4:")
636526 .arg("--terminal-width=80")
637− .assert();
638− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
639− println!("stdout={:#?}", stdout);
640− assert
527+ .assert()
641528 .success()
642529 .stdout(
643530 " 1 line 1
@@ -650,33 +537,25 @@ fn snip() {
650537
651538#[test]
652539fn empty_file_leads_to_empty_output_with_grid_enabled() {
653− let assert = bat()
540+ bat()
654541 .arg("empty.txt")
655542 .arg("--style=grid")
656543 .arg("--decorations=always")
657544 .arg("--terminal-width=80")
658− .assert();
659− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
660− println!("stdout={:#?}", stdout);
661− assert
545+ .assert()
662546 .success()
663547 .stdout("");
664548}
665549
666550#[test]
667551fn filename_basic() {
668− let assert = bat()
552+ bat()
669553 .arg("test.txt")
670554 .arg("--decorations=always")
671555 .arg("--style=header")
672556 .arg("-r=0:0")
673557 .arg("--file-name=foo")
674− .assert();
675− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
676− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
677− println!("stdout={:#?}", stdout);
678− println!("stderr={:#?}", stderr);
679− assert
558+ .assert()
680559 .success()
681560 .stdout("File: foo\n")
682561 .stderr("");
@@ -684,18 +563,13 @@ fn filename_basic() {
684563
685564#[test]
686565fn filename_binary() {
687− let assert = bat()
566+ bat()
688567 .arg("test.binary")
689568 .arg("--decorations=always")
690569 .arg("--style=header")
691570 .arg("-r=0:0")
692571 .arg("--file-name=foo")
693− .assert();
694− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
695− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
696− println!("stdout={:#?}", stdout);
697− println!("stderr={:#?}", stderr);
698− assert
572+ .assert()
699573 .success()
700574 .stdout("File: foo <BINARY>\n")
701575 .stderr("");
@@ -703,19 +577,14 @@ fn filename_binary() {
703577
704578#[test]
705579fn filename_stdin() {
706− let assert = bat()
580+ bat()
707581 .arg("--decorations=always")
708582 .arg("--style=header")
709583 .arg("-r=0:0")
710584 .arg("-")
711585 .write_stdin("stdin\n")
712586 .arg("--file-name=foo")
713− .assert();
714− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
715− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
716− println!("stdout={:#?}", stdout);
717− println!("stderr={:#?}", stderr);
718− assert
587+ .assert()
719588 .success()
720589 .stdout("File: foo\n")
721590 .stderr("");
@@ -724,17 +593,12 @@ fn filename_stdin() {
724593#[test]
725594fn filename_stdin_binary() {
726595 let vec = vec![0; 1];
727− let assert = bat_with_config()
596+ bat_with_config()
728597 .arg("--decorations=always")
729598 .arg("--style=header")
730599 .write_stdin(vec)
731600 .arg("--file-name=foo")
732− .assert();
733− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
734− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
735− println!("stdout={:#?}", stdout);
736− println!("stderr={:#?}", stderr);
737− assert
601+ .assert()
738602 .success()
739603 .stdout("File: foo <BINARY>\n")
740604 .stderr("");
@@ -742,7 +606,7 @@ fn filename_stdin_binary() {
742606
743607#[test]
744608fn filename_multiple_ok() {
745− let assert = bat()
609+ bat()
746610 .arg("--decorations=always")
747611 .arg("--style=header")
748612 .arg("-r=0:0")
@@ -750,12 +614,7 @@ fn filename_multiple_ok() {
750614 .arg("--file-name=foo")
751615 .arg("single-line.txt")
752616 .arg("--file-name=bar")
753− .assert();
754− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
755− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
756− println!("stdout={:#?}", stdout);
757− println!("stderr={:#?}", stderr);
758− assert
617+ .assert()
759618 .success()
760619 .stdout("File: foo\n\nFile: bar\n")
761620 .stderr("");
@@ -776,17 +635,12 @@ fn filename_multiple_err() {
776635
777636#[test]
778637fn header_padding() {
779− let assert = bat()
638+ bat()
780639 .arg("--decorations=always")
781640 .arg("--style=header")
782641 .arg("test.txt")
783642 .arg("single-line.txt")
784− .assert();
785− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
786− let stderr = String::from_utf8_lossy(&assert.get_output().stderr);
787− println!("stdout={:#?}", stdout);
788− println!("stderr={:#?}", stderr);
789− assert
643+ .assert()
790644 .stdout("File: test.txt\nhello world\n\nFile: single-line.txt\nSingle Line\n")
791645 .stderr("");
792646}
@@ -810,12 +664,9 @@ fn file_with_invalid_utf8_filename() {
810664 writeln!(file, "dummy content").expect("can write to file");
811665 }
812666
813− let assert = bat()
667+ bat()
814668 .arg(file_path.as_os_str())
815− .assert();
816− let stdout = String::from_utf8_lossy(&assert.get_output().stdout);
817− println!("stdout={:#?}", stdout);
818− assert
669+ .assert()
819670 .success()
820671 .stdout("dummy content\n");
821672}