1#!/bin/bash
2
3[ -f testing.sh ] && . testing.sh
4
5#testing "name" "command" "result" "infile" "stdin"
6
7# These tests are based on RFC3174 which were based on FIPS PUB 180-1
8
9testing "TEST1" \
10        "sha1sum" \
11        "a9993e364706816aba3e25717850c26c9cd0d89d  -\n" \
12        "" "abc"
13
14testing "TEST2" \
15        "sha1sum" \
16        "84983e441c3bd26ebaae4aa1f95129e5e54670f1  -\n" \
17        "" "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
18
19testing "TEST3" \
20        'dd if=/dev/zero bs=1000 count=1000 2>/dev/null | tr \\0 a | sha1sum' \
21        "34aa973cd4c4daa4f61eeb2bdbad27316534016f  -\n" \
22        "" ""
23
24testing "TEST4" \
25        'for i in `seq 1 10`; do echo -n 0123456701234567012345670123456701234567012345670123456701234567 ; done | sha1sum' \
26        "dea356a2cddd90c7a7ecedc5ebb563934f460452  -\n" \
27        "" ""
28
29echo -n "abc" > file1
30echo -n "def" > file2
31testing "sha1sum" \
32        "sha1sum" \
33        "a9993e364706816aba3e25717850c26c9cd0d89d  -\n" \
34        "" "abc"
35
36testing "-" \
37        "sha1sum -" \
38        "a9993e364706816aba3e25717850c26c9cd0d89d  -\n" \
39        "" "abc"
40
41testing "file" \
42        "sha1sum file1" \
43        "a9993e364706816aba3e25717850c26c9cd0d89d  file1\n" \
44        "" ""
45
46testing "file1 file2" \
47        "sha1sum file1 file2" \
48        "a9993e364706816aba3e25717850c26c9cd0d89d  file1\n589c22335a381f122d129225f5c0ba3056ed5811  file2\n" \
49        "" ""
50
51testing "file1 file2 -" \
52        "sha1sum file1 file2 -" \
53        "a9993e364706816aba3e25717850c26c9cd0d89d  file1\n589c22335a381f122d129225f5c0ba3056ed5811  file2\na9993e364706816aba3e25717850c26c9cd0d89d  -\n" \
54        "" "abc"
55
56rm -f file1 file2
57
58