1- use crate :: read2:: { ProcOutput , FILTERED_PATHS_PLACEHOLDER_LEN , HEAD_LEN , TAIL_LEN } ;
1+ use std:: io:: Write ;
2+
3+ use crate :: read2:: { ProcOutput , FILTERED_PATHS_PLACEHOLDER_LEN , MAX_OUT_LEN } ;
24
35#[ test]
46fn test_abbreviate_short_string ( ) {
@@ -21,35 +23,13 @@ fn test_abbreviate_short_string_multiple_steps() {
2123fn test_abbreviate_long_string ( ) {
2224 let mut out = ProcOutput :: new ( ) ;
2325
24- let data = vec ! [ b'.' ; HEAD_LEN + TAIL_LEN + 16 ] ;
26+ let data = vec ! [ b'.' ; MAX_OUT_LEN + 16 ] ;
2527 out. extend ( & data, & [ ] ) ;
2628
27- let mut expected = vec ! [ b'.' ; HEAD_LEN ] ;
28- expected. extend_from_slice ( b"\n \n <<<<<< SKIPPED 16 BYTES >>>>>>\n \n " ) ;
29- expected. extend_from_slice ( & vec ! [ b'.' ; TAIL_LEN ] ) ;
30-
31- // We first check the length to avoid endless terminal output if the length differs, since
32- // `out` is hundreds of KBs in size.
33- let out = out. into_bytes ( ) ;
34- assert_eq ! ( expected. len( ) , out. len( ) ) ;
35- assert_eq ! ( expected, out) ;
36- }
37-
38- #[ test]
39- fn test_abbreviate_long_string_multiple_steps ( ) {
40- let mut out = ProcOutput :: new ( ) ;
41-
42- out. extend ( & vec ! [ b'.' ; HEAD_LEN ] , & [ ] ) ;
43- out. extend ( & vec ! [ b'.' ; TAIL_LEN ] , & [ ] ) ;
44- // Also test whether the rotation works
45- out. extend ( & vec ! [ b'!' ; 16 ] , & [ ] ) ;
46- out. extend ( & vec ! [ b'?' ; 16 ] , & [ ] ) ;
47-
48- let mut expected = vec ! [ b'.' ; HEAD_LEN ] ;
49- expected. extend_from_slice ( b"\n \n <<<<<< SKIPPED 32 BYTES >>>>>>\n \n " ) ;
50- expected. extend_from_slice ( & vec ! [ b'.' ; TAIL_LEN - 32 ] ) ;
51- expected. extend_from_slice ( & vec ! [ b'!' ; 16 ] ) ;
52- expected. extend_from_slice ( & vec ! [ b'?' ; 16 ] ) ;
29+ let mut expected = Vec :: new ( ) ;
30+ write ! ( expected, "<<<<<< TRUNCATED, SHOWING THE FIRST {MAX_OUT_LEN} BYTES >>>>>>\n \n " ) . unwrap ( ) ;
31+ expected. extend_from_slice ( & [ b'.' ; MAX_OUT_LEN ] ) ;
32+ expected. extend_from_slice ( b"\n \n <<<<<< TRUNCATED, DROPPED 16 BYTES >>>>>>" ) ;
5333
5434 // We first check the length to avoid endless terminal output if the length differs, since
5535 // `out` is hundreds of KBs in size.
@@ -86,9 +66,8 @@ fn test_abbreviate_filters_avoid_abbreviations() {
8666 let mut out = ProcOutput :: new ( ) ;
8767 let filters = & [ std:: iter:: repeat ( 'a' ) . take ( 64 ) . collect :: < String > ( ) ] ;
8868
89- let mut expected = vec ! [ b'.' ; HEAD_LEN - FILTERED_PATHS_PLACEHOLDER_LEN as usize ] ;
69+ let mut expected = vec ! [ b'.' ; MAX_OUT_LEN - FILTERED_PATHS_PLACEHOLDER_LEN as usize ] ;
9070 expected. extend_from_slice ( filters[ 0 ] . as_bytes ( ) ) ;
91- expected. extend_from_slice ( & vec ! [ b'.' ; TAIL_LEN ] ) ;
9271
9372 out. extend ( & expected, filters) ;
9473
@@ -104,14 +83,13 @@ fn test_abbreviate_filters_can_still_cause_abbreviations() {
10483 let mut out = ProcOutput :: new ( ) ;
10584 let filters = & [ std:: iter:: repeat ( 'a' ) . take ( 64 ) . collect :: < String > ( ) ] ;
10685
107- let mut input = vec ! [ b'.' ; HEAD_LEN ] ;
108- input. extend_from_slice ( & vec ! [ b'.' ; TAIL_LEN ] ) ;
86+ let mut input = vec ! [ b'.' ; MAX_OUT_LEN ] ;
10987 input. extend_from_slice ( filters[ 0 ] . as_bytes ( ) ) ;
11088
111- let mut expected = vec ! [ b'.' ; HEAD_LEN ] ;
112- expected . extend_from_slice ( b" \n \n <<<<<< SKIPPED 64 BYTES >>>>>>\n \n ") ;
113- expected. extend_from_slice ( & vec ! [ b'.' ; TAIL_LEN - 64 ] ) ;
114- expected. extend_from_slice ( & vec ! [ b'a' ; 64 ] ) ;
89+ let mut expected = Vec :: new ( ) ;
90+ write ! ( expected , " <<<<<< TRUNCATED, SHOWING THE FIRST {MAX_OUT_LEN} BYTES >>>>>>\n \n ") . unwrap ( ) ;
91+ expected. extend_from_slice ( & [ b'.' ; MAX_OUT_LEN ] ) ;
92+ expected. extend_from_slice ( b" \n \n <<<<<< TRUNCATED, DROPPED 64 BYTES >>>>>>" ) ;
11593
11694 out. extend ( & input, filters) ;
11795
0 commit comments