huangcm
2025-08-25 f350412dc55c15118d0a7925d1071877498e5e24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
 
[ -f testing.sh ] && . testing.sh
 
#testing "name" "command" "result" "infile" "stdin"
 
SIZE='&& stat -c %s freep'
testing "0" "truncate -s 0 freep $SIZE" "0\n" "" ""
testing "12345" "truncate -s 12345 freep $SIZE" "12345\n" "" ""
testing "1m" "truncate -s 1m freep $SIZE" "1048576\n" "" ""
testing "is sparse" "truncate -s 1g freep && stat -c %b freep" \
   "0\n" "" ""
testing "+" "truncate -s 1k freep && truncate -s +1k freep $SIZE" \
   "2048\n" "" ""
testing "-" "truncate -s 4k freep && truncate -s -1k freep $SIZE" \
   "3072\n" "" ""
testing "< hit" \
   "truncate -s 5k freep && truncate -s \<4k freep $SIZE" "4096\n" "" ""
testing "< miss" \
   "truncate -s 4k freep && truncate -s \<6k freep $SIZE" "4096\n" "" ""
testing "> hit" \
   "truncate -s 3k freep && truncate -s \>4k freep $SIZE" "4096\n" "" ""
testing "> miss" \
   "truncate -s 4k freep && truncate -s \>2k freep $SIZE" "4096\n" "" ""
testing "/" "truncate -s 7k freep && truncate -s /3k freep $SIZE" \
   "6144\n" "" ""
testing "%" "truncate -s 7k freep && truncate -s %3k freep $SIZE" \
   "9216\n" "" ""