parallel tests

This commit is contained in:
2023-07-15 10:10:49 +02:00
parent c51345b5c8
commit e891c589a8
6 changed files with 228 additions and 229 deletions

View File

@@ -3,70 +3,71 @@
# TODO: Don't hardcode this
CMD="../../src/backup"
rm -rf testdata
rm -rf testdir
TESTDATADIR=diff
mkdir -p testdir
mkdir -p testdata/1
mkdir -p testdata/1/empty
mkdir -p testdata/1/notempty
rm -rf "$TESTDATADIR"
mkdir -p testdata/1/emptyi
mkdir -p testdata/1/notemptyi
mkdir -p "$TESTDATADIR"/testdir
mkdir -p "$TESTDATADIR"/testdata/1
mkdir -p "$TESTDATADIR"/testdata/1/empty
mkdir -p "$TESTDATADIR"/testdata/1/notempty
mkdir -p testdata/1/notempty2/empty
mkdir -p testdata/1/notempty2/notemptyi2
mkdir -p testdata/1/notempty2/notemptyi2/ignoredir
mkdir -p "$TESTDATADIR"/testdata/1/emptyi
mkdir -p "$TESTDATADIR"/testdata/1/notemptyi
echo "testtestasdf1" > testdata/1/notempty/testfile
echo "testtestasdf2" > testdata/1/notemptyi/testfile
echo "testtestasdf3" > testdata/1/notempty2/notempty
echo "testtestasdf4" > testdata/1/notempty2/notemptyi2/test4
echo "testtestasdf5" > testdata/1/notempty2/notemptyi2/test5
echo "testtestasdf6" > testdata/1/notempty2/notemptyi2/test6
echo "testtestasdf7" > testdata/1/notempty2/notemptyi2/test7
echo "testtestasdf8" > testdata/1/notempty2/notemptyi2/ignoredir/testa
echo "testtestasdf9" > testdata/1/filexd
mkdir -p "$TESTDATADIR"/testdata/1/notempty2/empty
mkdir -p "$TESTDATADIR"/testdata/1/notempty2/notemptyi2
mkdir -p "$TESTDATADIR"/testdata/1/notempty2/notemptyi2/ignoredir
echo ".*4" > testdata/1/notempty2/.ignore
echo ".*5" > testdata/1/notempty2/notemptyi2/.ignore
touch testdata/1/notemptyi/.nobackup
touch testdata/1/emptyi/.nobackup
touch testdata/1/notempty2/notemptyi2/ignoredir/.nobackup
echo "testtestasdf1" > "$TESTDATADIR"/testdata/1/notempty/testfile
echo "testtestasdf2" > "$TESTDATADIR"/testdata/1/notemptyi/testfile
echo "testtestasdf3" > "$TESTDATADIR"/testdata/1/notempty2/notempty
echo "testtestasdf4" > "$TESTDATADIR"/testdata/1/notempty2/notemptyi2/test4
echo "testtestasdf5" > "$TESTDATADIR"/testdata/1/notempty2/notemptyi2/test5
echo "testtestasdf6" > "$TESTDATADIR"/testdata/1/notempty2/notemptyi2/test6
echo "testtestasdf7" > "$TESTDATADIR"/testdata/1/notempty2/notemptyi2/test7
echo "testtestasdf8" > "$TESTDATADIR"/testdata/1/notempty2/notemptyi2/ignoredir/testa
echo "testtestasdf9" > "$TESTDATADIR"/testdata/1/filexd
cp -a -p testdata/1 testdata/2
echo "testtestasdf4u" > testdata/2/notempty2/notemptyi2/test4
echo "testtestasdf5u" > testdata/2/notempty2/notemptyi2/test5
echo "testtestasdf6u" > testdata/2/notempty2/notemptyi2/test6
echo "testtestasdf7u" > testdata/2/notempty2/notemptyi2/test7
echo "testtestasdf8u" > testdata/2/notempty2/notemptyi2/ignoredir/testa
echo "testtestasdf9u" > testdata/2/filexd
echo ".*4" > "$TESTDATADIR"/testdata/1/notempty2/.ignore
echo ".*5" > "$TESTDATADIR"/testdata/1/notempty2/notemptyi2/.ignore
touch "$TESTDATADIR"/testdata/1/notemptyi/.nobackup
touch "$TESTDATADIR"/testdata/1/emptyi/.nobackup
touch "$TESTDATADIR"/testdata/1/notempty2/notemptyi2/ignoredir/.nobackup
cp -a -p testdata/2 testdata/3
echo "testtestasdf4uu" > testdata/3/notempty2/notemptyi2/test4
echo "testtestasdf5uu" > testdata/3/notempty2/notemptyi2/test5
echo "testtestasdf6uu" > testdata/3/notempty2/notemptyi2/test6
echo "testtestasdf7uu" > testdata/3/notempty2/notemptyi2/test7
echo "testtestasdf8uu" > testdata/3/notempty2/notemptyi2/ignoredir/testa
echo "testtestasdf9uu" > testdata/3/filexd
cp -a -p "$TESTDATADIR"/testdata/1 "$TESTDATADIR"/testdata/2
echo "testtestasdf4u" > "$TESTDATADIR"/testdata/2/notempty2/notemptyi2/test4
echo "testtestasdf5u" > "$TESTDATADIR"/testdata/2/notempty2/notemptyi2/test5
echo "testtestasdf6u" > "$TESTDATADIR"/testdata/2/notempty2/notemptyi2/test6
echo "testtestasdf7u" > "$TESTDATADIR"/testdata/2/notempty2/notemptyi2/test7
echo "testtestasdf8u" > "$TESTDATADIR"/testdata/2/notempty2/notemptyi2/ignoredir/testa
echo "testtestasdf9u" > "$TESTDATADIR"/testdata/2/filexd
cp -a -p testdata/2 testdata/4
echo "testtestasdf4uuu" > testdata/4/notempty2/notemptyi2/test4
echo "testtestasdf5uuu" > testdata/4/notempty2/notemptyi2/test5
echo "testtestasdf6uuu" > testdata/4/notempty2/notemptyi2/test6
echo "testtestasdf7uuu" > testdata/4/notempty2/notemptyi2/test7
echo "testtestasdf8uuu" > testdata/4/notempty2/notemptyi2/ignoredir/testa
echo "testtestasdf9uuu" > testdata/4/filexd
cp -a -p "$TESTDATADIR"/testdata/2 "$TESTDATADIR"/testdata/3
echo "testtestasdf4uu" > "$TESTDATADIR"/testdata/3/notempty2/notemptyi2/test4
echo "testtestasdf5uu" > "$TESTDATADIR"/testdata/3/notempty2/notemptyi2/test5
echo "testtestasdf6uu" > "$TESTDATADIR"/testdata/3/notempty2/notemptyi2/test6
echo "testtestasdf7uu" > "$TESTDATADIR"/testdata/3/notempty2/notemptyi2/test7
echo "testtestasdf8uu" > "$TESTDATADIR"/testdata/3/notempty2/notemptyi2/ignoredir/testa
echo "testtestasdf9uu" > "$TESTDATADIR"/testdata/3/filexd
cp -a -p "$TESTDATADIR"/testdata/2 "$TESTDATADIR"/testdata/4
echo "testtestasdf4uuu" > "$TESTDATADIR"/testdata/4/notempty2/notemptyi2/test4
echo "testtestasdf5uuu" > "$TESTDATADIR"/testdata/4/notempty2/notemptyi2/test5
echo "testtestasdf6uuu" > "$TESTDATADIR"/testdata/4/notempty2/notemptyi2/test6
echo "testtestasdf7uuu" > "$TESTDATADIR"/testdata/4/notempty2/notemptyi2/test7
echo "testtestasdf8uuu" > "$TESTDATADIR"/testdata/4/notempty2/notemptyi2/ignoredir/testa
echo "testtestasdf9uuu" > "$TESTDATADIR"/testdata/4/filexd
echo "Data created"
if ! $CMD init --repo testdir/to1 --compression zlib --compression-level 4 --encryption aes --password asdff --salt e; then
if ! $CMD init --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --compression zlib --compression-level 4 --encryption aes --password asdff --salt e; then
echo "Error creating repo!"
exit 1
fi
echo "Repo created"
OUT=$($CMD run --from testdata/1 --repo testdir/to1 --password asdff --progress simple --verbose 1)
OUT=$($CMD run --from "$TESTDATADIR"/testdata/1 --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff --progress simple --verbose 1)
echo "$OUT"
if ! ( ( echo "$OUT" | grep -q 'Copied: notempty/testfile' )\
&& ( echo "$OUT" | grep -q 'Copied: notempty' )\
@@ -86,7 +87,7 @@ if ! ( ( echo "$OUT" | grep -q 'Copied: notempty/testfile' )\
fi
echo "Backup 1 ok"
OUT=$($CMD run --from testdata/2 --repo testdir/to1 --password asdff --progress simple --verbose 1)
OUT=$($CMD run --from "$TESTDATADIR"/testdata/2 --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff --progress simple --verbose 1)
echo "$OUT"
if ! ( ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test4 ' )\
&& ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test5 ' )\
@@ -99,7 +100,7 @@ if ! ( ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test4 ' )\
fi
echo "Backup 2 ok"
OUT=$($CMD run --from testdata/3 --repo testdir/to1 --password asdff --progress simple --verbose 1)
OUT=$($CMD run --from "$TESTDATADIR"/testdata/3 --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff --progress simple --verbose 1)
echo "$OUT"
if ! ( ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test4 ' )\
&& ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test5 ' )\
@@ -115,7 +116,7 @@ echo "Backup 3 ok"
i=$((0))
AIDS=()
OUT=$($CMD list --repo testdir/to1 --password asdff)
OUT=$($CMD list --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff)
echo "$OUT"
while IFS= read -r l; do
((i++))
@@ -123,7 +124,7 @@ while IFS= read -r l; do
AIDS+=("$aid")
done <<< "$OUT"
OUT=$($CMD diff --from testdata/4 --repo testdir/to1 --password asdff --progress none --verbose 1 --aid ${AIDS[0]} --aid2 ${AIDS[1]})
OUT=$($CMD diff --from "$TESTDATADIR"/testdata/4 --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff --progress none --verbose 1 --aid ${AIDS[0]} --aid2 ${AIDS[1]})
echo "$OUT"
if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && ( echo "$OUT" | grep -q 'filexd is different' ) && ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test7 is different' ) \
&& ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test4' ) && ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test5' ) && ! ( echo "$OUT" | grep -q 'notemptyi2/ignoredir/testa' ) ); then
@@ -131,7 +132,7 @@ if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && (
exit 1
fi
echo "OK comparing archive 1 and 2"
OUT=$($CMD diff --from testdata/4 --repo testdir/to1 --password asdff --progress none --verbose 1 --aid ${AIDS[1]} --aid2 ${AIDS[2]})
OUT=$($CMD diff --from "$TESTDATADIR"/testdata/4 --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff --progress none --verbose 1 --aid ${AIDS[1]} --aid2 ${AIDS[2]})
echo "$OUT"
if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && ( echo "$OUT" | grep -q 'filexd is different' ) && ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test7 is different' ) \
&& ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test4' ) && ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test5' ) && ! ( echo "$OUT" | grep -q 'notemptyi2/ignoredir/testa' ) ); then
@@ -140,7 +141,7 @@ if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && (
fi
echo "OK comparing archive 2 and 3"
OUT=$($CMD diff --from testdata/4 --repo testdir/to1 --password asdff --progress none --verbose 1 --aid ${AIDS[2]})
OUT=$($CMD diff --from "$TESTDATADIR"/testdata/4 --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff --progress none --verbose 1 --aid ${AIDS[2]})
echo "$OUT"
if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && ( echo "$OUT" | grep -q 'filexd is different' ) && ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test7 is different' ) \
&& ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test4' ) && ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test5' ) && ! ( echo "$OUT" | grep -q 'notemptyi2/ignoredir/testa' ) ); then
@@ -149,7 +150,7 @@ if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && (
fi
echo "OK comparing archive 3 and current"
OUT=$($CMD diff --from testdata/4 --repo testdir/to1 --password asdff --progress none --verbose 1 )
OUT=$($CMD diff --from "$TESTDATADIR"/testdata/4 --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff --progress none --verbose 1 )
echo "$OUT"
if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && ( echo "$OUT" | grep -q 'filexd is different' ) && ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test7 is different' ) \
&& ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test4' ) && ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test5' ) && ! ( echo "$OUT" | grep -q 'notemptyi2/ignoredir/testa' ) ); then
@@ -158,7 +159,7 @@ if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && (
fi
echo "OK comparing archive last (3) and current"
OUT=$($CMD diff --from testdata/4 --repo testdir/to1 --password asdff --progress none --verbose 1 --aid ${AIDS[2]} --prefix notempty2/notemptyi2 )
OUT=$($CMD diff --from "$TESTDATADIR"/testdata/4 --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff --progress none --verbose 1 --aid ${AIDS[2]} --prefix notempty2/notemptyi2 )
echo "$OUT"
if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && ! ( echo "$OUT" | grep -q 'filexd is different' ) && ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test7 is different' ) \
&& ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test4' ) && ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test5' ) && ! ( echo "$OUT" | grep -q 'notemptyi2/ignoredir/testa' ) ); then
@@ -167,7 +168,7 @@ if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && !
fi
echo "OK comparing archive 3 and current with prefix "
OUT=$($CMD diff --from testdata/4 --repo testdir/to1 --password asdff --progress none --verbose 1 --prefix notempty2/notemptyi2 )
OUT=$($CMD diff --from "$TESTDATADIR"/testdata/4 --repo "$"$TESTDATADIR"/testdataDIR"/testdir/to1 --password asdff --progress none --verbose 1 --prefix notempty2/notemptyi2 )
echo "$OUT"
if ! ( ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test6 is different' ) && ! ( echo "$OUT" | grep -q 'filexd is different' ) && ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test7 is different' ) \
&& ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test4' ) && ! ( echo "$OUT" | grep -q 'notempty2/notemptyi2/test5' ) && ! ( echo "$OUT" | grep -q 'notemptyi2/ignoredir/testa' ) ); then
@@ -177,7 +178,6 @@ fi
echo "OK comparing archive last (3) and current with prefix "
rm -rf testdata
rm -rf testdir
rm -rf "$"$TESTDATADIR"/testdataDIR"
exit 0