@@ -15,7 +15,7 @@ err() {
15
15
cat $to
16
16
echo " -- stderr --"
17
17
cat $te
18
- echo " -- stderr -- "
18
+ echo " --"
19
19
echo " ERROR: ${0} :${1} ${ERR} "
20
20
exit 1
21
21
}
@@ -60,5 +60,56 @@ RUCKSACK_MODE=1 $tb >$to 2>$te
60
60
RUCKSACK_MODE=2 $tb > $to 2> $te
61
61
.
62
62
63
+ # ## crystal build with phony padding
64
+
65
+ # ### case A: extra nulls before Knautschzone
66
+ crystal build test/test.cr -o ${tb}
67
+ head -c 17042 /dev/zero >> ${tb}
68
+ cat .rucksack >> $tb
69
+ RUCKSACK_MODE=0 $tb > $to 2> $te
70
+ .
71
+ RUCKSACK_MODE=1 $tb > $to 2> $te
72
+ .
73
+ RUCKSACK_MODE=2 $tb > $to 2> $te
74
+ .
75
+
76
+ # ### case B: duplicate padding
77
+
78
+ crystal build test/test.cr -o ${tb}
79
+ head -c 16397 /dev/zero >> ${tb}
80
+ cat .rucksack >> $tb
81
+ RUCKSACK_MODE=0 $tb > $to 2> $te
82
+ .
83
+ RUCKSACK_MODE=1 $tb > $to 2> $te
84
+ .
85
+ RUCKSACK_MODE=2 $tb > $to 2> $te
86
+ .
87
+
88
+ # ### case C: extra nulls and truncated header
89
+
90
+ crystal build test/test.cr -o ${tb}
91
+ head -c 16397 /dev/zero >> ${tb}
92
+ echo = >> ${tb}
93
+ cat .rucksack >> $tb
94
+ RUCKSACK_MODE=0 $tb > $to 2> $te
95
+ .
96
+ RUCKSACK_MODE=1 $tb > $to 2> $te
97
+ .
98
+ RUCKSACK_MODE=2 $tb > $to 2> $te
99
+ .
100
+
101
+ # ### case D: extra nulls and longer truncated header
102
+
103
+ crystal build test/test.cr -o ${tb}
104
+ head -c 16397 /dev/zero >> ${tb}
105
+ echo ==RUCK >> ${tb}
106
+ cat .rucksack >> $tb
107
+ RUCKSACK_MODE=0 $tb > $to 2> $te
108
+ .
109
+ RUCKSACK_MODE=1 $tb > $to 2> $te
110
+ .
111
+ RUCKSACK_MODE=2 $tb > $to 2> $te
112
+ .
113
+
63
114
echo
64
115
0 commit comments