448
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
1 #!/bin/bash
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
2
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
3 [ -f testing.sh ] && . testing.sh
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
4
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
5
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
6 #testing "name" "command" "result" "infile" "stdin"
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
7
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
8 # Default behavior on stdin and on files.
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
9 testing "cksum on stdin" "echo -n hello | cksum" "3287646509 5\n" "" ""
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
10 echo -n "hello" > tmpfile
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
11 testing "cksum on file" "cksum tmpfile" "3287646509 5 tmpfile\n" "" ""
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
12 rm -f tmpfile
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
13 touch one two
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
14 testing "cksum on multiple files" "cksum one two" "4294967295 0 one\n4294967295 0 two\n" "" ""
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
15 rm -f one two
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
16
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
17 # Check the length suppression, both calculate the CRC on 'abc' but the second
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
18 # option has length suppression on and has the length concatenated to 'abc'.
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
19 testing "cksum on abc including length" "echo -n 'abc' | cksum" "1219131554 3\n" "" ""
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
20 testing "cksum on abc excluding length" "echo -ne 'abc\x3' | cksum -N" "1219131554 4\n" "" ""
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
21
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
22 # cksum on no contents gives 0xffffffff (=4294967295)
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
23 testing "cksum on no data post-inversion" "echo -n "" | cksum" "4294967295 0\n" "" ""
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
24 # If we do preinversion we will then get 0.
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
25 testing "cksum on no data pre+post-inversion" "echo -n "" | cksum -P" "0 0\n" "" ""
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
26 # If we skip the post-inversion we also get 0
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
27 testing "cksum on no data no inversion" "echo -n "" | cksum -I" "0 0\n" "" ""
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
28 # Two wrongs make a right.
|
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
29 testing "cksum on no data pre-inversion" "echo -n "" | cksum -PI" "4294967295 0\n" "" ""
|