File: regtestw32

package info (click to toggle)
rsyncrypto 1.14-1.2
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 1,552 kB
  • sloc: cpp: 3,459; sh: 1,221; makefile: 29
file content (130 lines) | stat: -rw-r--r-- 3,900 bytes parent folder | download | duplicates (5)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/sh

# This script is meant to be run by msys (the mingw build environment). You will need to have the
# proper gzip (with the rsyncable patch) in your path, or at the same directory as rsyncrypto.exe

set -e

RSC=$1
options=$2

if [ ! "$1" ]
then
    cat <<EOF
Usage: $0 <path> <gzip> <options>
path - path to rsyncrypto to run regression tests on
options - specify "v" for verbose output
EOF
    exit 1
fi

compare()
{
    echo -n "Comparing $1 to $2:"
    if (diff $1 $2 >/dev/null)
    then
        echo " identical"
    else
        echo " diff failed"
        exit 1
    fi
}

runreg()
{
    cmdline=$1
    testname=$2
    shift 2
    if [ "$options" = "v" ]
    then
        echo "Testing $testname: $cmdline"
    else
        echo "Testing $testname:"
    fi
    if /bin/sh -c "$cmdline"
    then
        while [ "$1" ]
        do
            compare $1 $2
            shift 2
        done
        echo "$testname passed"
    else
        echo "rsyncrypto failed to run"
        exit 1
    fi
}

function dotest()
{
    echo "Running regressions on $1"
    runreg "$RSC -d $1.enc $1.dec $1.key cert.crt" "decryption using symmetric key" $1 $1.dec
    rm $1.dec
    runreg "$RSC -d $1.enc $1.dec $1.key2 cert.key" "decryption using asymmetric key" $1 $1.dec $1.key $1.key2
    rm $1.dec $1.key2
    runreg "$RSC $1 $1.enc2 $1.key cert.key" "encryption using existing key"
    runreg "$RSC -d $1.enc2 $1.dec $1.key cert.crt" "decryption of our own encryption - symmetric" $1 $1.dec
    rm $1.dec
    runreg "$RSC -d $1.enc2 $1.dec $1.key2 cert.key" "decryption of our own encryption - asymmetric" $1 $1.dec $1.key $1.key2
    rm $1.dec $1.key2 $1.enc2
    runreg "$RSC $1 $1.enc2 $1.key2 cert.key" "encryption using new key"
    runreg "$RSC -d $1.enc2 $1.dec $1.key2 cert.crt" "decryption of our own encryption - symmetric" $1 $1.dec
    rm $1.dec
    runreg "$RSC -d $1.enc2 $1.dec $1.key3 cert.key" "decryption of our own encryption - asymmetric" $1 $1.dec $1.key3 $1.key2
    rm $1.dec $1.key2 $1.key3 $1.enc2

    # Let's test some command line options
	# No ready null command available - don't run this test.
    runreg "$RSC -d --gzip=nullgzip.exe $1.enc $1.dec.gz $1.key cert.crt && gunzip $1.dec.gz" "test seperate gunzip" $1 $1.dec
    rm $1.dec

    echo "All tests on $1 successful"
    echo ""
}

echo $RSC

rm -rf regtestdir.* || echo -n ""
mkdir regtestdir.orig
mkdir regtestdir.orig/dummy
mkdir regtestdir.key
mkdir regtestdir.key/dummy
mkdir regtestdir.enc
mkdir regtestdir.enc/dummy
shopt -s extglob
for reg in reg+([0-9])
do
    dotest $reg
    cp $reg regtestdir.orig/dummy
    cp $reg.key regtestdir.key/dummy/$reg
    cp $reg.enc regtestdir.enc/dummy/$reg
done

#echo "$RSC -vv -r -d regtestdir.enc regtestdir.dec regtestdir.key cert.crt"
#exit 0
runreg "$RSC -vv -r -d regtestdir.enc regtestdir.dec regtestdir.key cert.crt" "recursive decryption using symmetric"
for reg in reg+([0-9])
do
    compare regtestdir.orig/dummy/$reg regtestdir.dec/dummy/$reg
done
rm -rf regtestdir.dec
runreg "$RSC -vv -r -d regtestdir.enc regtestdir.dec regtestdir.key2 cert.key" "recursive decryption using asymmetric"
for reg in reg+([0-9])
do
    compare regtestdir.orig/dummy/$reg regtestdir.dec/dummy/$reg
    compare regtestdir.key/dummy/$reg regtestdir.key2/dummy/$reg
done
rm -rf regtestdir.dec
rm -rf regtestdir.key2
runreg "$RSC -vv -r --trim=2 'regtestdir.orig\\dummy' 'regtestdir.enc2\\dummy' 'regtestdir.key\\dummy' cert.key" "recursive encryption using existing"
runreg "$RSC -vv -r --trim=2 -d 'regtestdir.enc2\\dummy' 'regtestdir.dec\\' regtestdir.key2 cert.key" "recursive decryption using asymmetric with trim"
for reg in reg+([0-9])
do
    compare regtestdir.orig/dummy/$reg regtestdir.dec/$reg
    compare regtestdir.key/dummy/$reg regtestdir.key2/$reg
done
rm -rf regtestdir.dec
rm -rf regtestdir.key2

rm -rf regtestdir.*
echo "All tests completed successfully"