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 } ;
2
4
3
5
#[ test]
4
6
fn test_abbreviate_short_string ( ) {
@@ -21,35 +23,13 @@ fn test_abbreviate_short_string_multiple_steps() {
21
23
fn test_abbreviate_long_string ( ) {
22
24
let mut out = ProcOutput :: new ( ) ;
23
25
24
- let data = vec ! [ b'.' ; HEAD_LEN + TAIL_LEN + 16 ] ;
26
+ let data = vec ! [ b'.' ; MAX_OUT_LEN + 16 ] ;
25
27
out. extend ( & data, & [ ] ) ;
26
28
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 >>>>>>" ) ;
53
33
54
34
// We first check the length to avoid endless terminal output if the length differs, since
55
35
// `out` is hundreds of KBs in size.
@@ -86,9 +66,8 @@ fn test_abbreviate_filters_avoid_abbreviations() {
86
66
let mut out = ProcOutput :: new ( ) ;
87
67
let filters = & [ std:: iter:: repeat ( 'a' ) . take ( 64 ) . collect :: < String > ( ) ] ;
88
68
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 ] ;
90
70
expected. extend_from_slice ( filters[ 0 ] . as_bytes ( ) ) ;
91
- expected. extend_from_slice ( & vec ! [ b'.' ; TAIL_LEN ] ) ;
92
71
93
72
out. extend ( & expected, filters) ;
94
73
@@ -104,14 +83,13 @@ fn test_abbreviate_filters_can_still_cause_abbreviations() {
104
83
let mut out = ProcOutput :: new ( ) ;
105
84
let filters = & [ std:: iter:: repeat ( 'a' ) . take ( 64 ) . collect :: < String > ( ) ] ;
106
85
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 ] ;
109
87
input. extend_from_slice ( filters[ 0 ] . as_bytes ( ) ) ;
110
88
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 >>>>>>" ) ;
115
93
116
94
out. extend ( & input, filters) ;
117
95
0 commit comments