mirror of https://github.com/zfsnap/zfsnap.git
Tests: add test labels, add first system tests (snapshot, destroy)
parent
a3f05157cd
commit
e82a99965c
|
@ -11,4 +11,4 @@ Tests_task:
|
|||
prepare_script:
|
||||
- cd tests && sh prepare.sh
|
||||
test_script:
|
||||
- cd tests && sh run.sh
|
||||
- cd tests && env RUN_TESTS="unit integration system" sh ./run.sh
|
||||
|
|
|
@ -15,4 +15,4 @@ jobs:
|
|||
- name: Prepare ZFS environment
|
||||
run: cd tests && sudo sh prepare.sh
|
||||
- name: Run tests
|
||||
run: cd tests && sudo sh ./run.sh
|
||||
run: cd tests && sudo env RUN_TESTS="unit integration system" sh ./run.sh
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
# This file is licensed under the BSD-3-Clause license.
|
||||
# See the AUTHORS and LICENSE files for more information.
|
||||
|
||||
echo ""
|
||||
echo "Integration tests"
|
||||
echo "-----------------"
|
|
@ -3,8 +3,9 @@
|
|||
# See the AUTHORS and LICENSE files for more information.
|
||||
|
||||
EXIT_WITH_ERROR=0
|
||||
RUN_TESTS=${RUN_TESTS:-"unit integration"}
|
||||
|
||||
for i in unit integration system; do
|
||||
for i in ${RUN_TESTS}; do
|
||||
cd "$i"
|
||||
for t in ./* ; do
|
||||
"./${t}"
|
||||
|
|
|
@ -73,11 +73,18 @@ ExitTests () {
|
|||
exit "$SPEC_FAILED"
|
||||
}
|
||||
|
||||
VerifySnap () {
|
||||
VerifySnapExists () {
|
||||
ItReturns "$ZFS list -H -t snapshot $1 > /dev/null 2> /dev/null" 0
|
||||
}
|
||||
|
||||
VerifySnapNotExists () {
|
||||
ItReturns "$ZFS list -H -t snapshot $1 > /dev/null 2> /dev/null" 1
|
||||
}
|
||||
|
||||
CreateSnap () {
|
||||
ItReturns "$ZFS snapshot $1 > /dev/null 2> /dev/null" 0
|
||||
}
|
||||
|
||||
DestroySnap () {
|
||||
ItReturns "$ZFS destroy $1 2> /dev/null" 0
|
||||
ItReturns "$ZFS list -H -t snapshot $1 > /dev/null 2> /dev/null" 1
|
||||
}
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
# This file is licensed under the BSD-3-Clause license.
|
||||
# See the AUTHORS and LICENSE files for more information.
|
||||
|
||||
echo ""
|
||||
echo "System tests"
|
||||
echo "------------"
|
|
@ -0,0 +1,108 @@
|
|||
#!/bin/sh
|
||||
# This file is licensed under the BSD-3-Clause license.
|
||||
# See the AUTHORS and LICENSE files for more information.
|
||||
|
||||
. ../spec_helper.sh
|
||||
|
||||
zfsnap='../../sbin/zfsnap.sh'
|
||||
zfs=`which zfs`
|
||||
|
||||
DATASET="$TEST_POOL/$TEST_DATASET"
|
||||
|
||||
CREATE_DATE="2020-01-01_10.00.00"
|
||||
DELETE_DATE="2020-03-01_10.00.00"
|
||||
|
||||
echo ""
|
||||
echo "Destroy without any options"
|
||||
CreateSnap "$DATASET@$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET@$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
CreateSnap "$DATASET/$subds@$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET/$subds@$CREATE_DATE--3m"
|
||||
done
|
||||
ItReturns "CURRENT_DATE=$DELETE_DATE $zfsnap destroy $DATASET 2> /dev/null" 0
|
||||
VerifySnapNotExists "$DATASET@$CREATE_DATE--1m"
|
||||
VerifySnapExists "$DATASET@$CREATE_DATE--3m"
|
||||
DestroySnap "$DATASET@$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
DestroySnap "$DATASET/$subds@$CREATE_DATE--1m"
|
||||
DestroySnap "$DATASET/$subds@$CREATE_DATE--3m"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Destroy all snapshots (-D)"
|
||||
CreateSnap "$DATASET@$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET@$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
CreateSnap "$DATASET/$subds@$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET/$subds@$CREATE_DATE--3m"
|
||||
done
|
||||
ItReturns "CURRENT_DATE=$DELETE_DATE $zfsnap destroy -D $DATASET 2> /dev/null" 0
|
||||
VerifySnapNotExists "$DATASET@$CREATE_DATE--1m"
|
||||
VerifySnapNotExists "$DATASET@$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
DestroySnap "$DATASET/$subds@$CREATE_DATE--1m"
|
||||
DestroySnap "$DATASET/$subds@$CREATE_DATE--3m"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Recursive destroy (-r)"
|
||||
CreateSnap "$DATASET@$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET@$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
CreateSnap "$DATASET/$subds@$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET/$subds@$CREATE_DATE--3m"
|
||||
done
|
||||
ItReturns "CURRENT_DATE=$DELETE_DATE $zfsnap destroy -r $DATASET 2> /dev/null" 0
|
||||
VerifySnapNotExists "$DATASET@$CREATE_DATE--1m"
|
||||
VerifySnapExists "$DATASET@$CREATE_DATE--3m"
|
||||
DestroySnap "$DATASET@$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
VerifySnapNotExists "$DATASET/$subds@$CREATE_DATE--1m"
|
||||
DestroySnap "$DATASET/$subds@$CREATE_DATE--3m"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Recursive destroy all snapshots (-r -D)"
|
||||
CreateSnap "$DATASET@$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET@$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
CreateSnap "$DATASET/$subds@$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET/$subds@$CREATE_DATE--3m"
|
||||
done
|
||||
ItReturns "CURRENT_DATE=$DELETE_DATE $zfsnap destroy -r -D $DATASET 2> /dev/null" 0
|
||||
VerifySnapNotExists "$DATASET@$CREATE_DATE--1m"
|
||||
VerifySnapNotExists "$DATASET@$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
VerifySnapNotExists "$DATASET/$subds@$CREATE_DATE--1m"
|
||||
VerifySnapNotExists "$DATASET/$subds@$CREATE_DATE--3m"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Prefixed destroy (-p)"
|
||||
CreateSnap "$DATASET@zs$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET@zs$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
CreateSnap "$DATASET/$subds@zs$CREATE_DATE--1m"
|
||||
CreateSnap "$DATASET/$subds@zs$CREATE_DATE--3m"
|
||||
done
|
||||
ItReturns "CURRENT_DATE=$DELETE_DATE $zfsnap destroy -p zs $DATASET 2> /dev/null" 0
|
||||
VerifySnapNotExists "$DATASET@zs$CREATE_DATE--1m"
|
||||
VerifySnapExists "$DATASET@zs$CREATE_DATE--3m"
|
||||
DestroySnap "$DATASET@zs$CREATE_DATE--3m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
DestroySnap "$DATASET/$subds@zs$CREATE_DATE--1m"
|
||||
DestroySnap "$DATASET/$subds@zs$CREATE_DATE--3m"
|
||||
done
|
||||
|
||||
ExitTests
|
|
@ -0,0 +1,60 @@
|
|||
#!/bin/sh
|
||||
# This file is licensed under the BSD-3-Clause license.
|
||||
# See the AUTHORS and LICENSE files for more information.
|
||||
|
||||
. ../spec_helper.sh
|
||||
|
||||
zfsnap='../../sbin/zfsnap.sh'
|
||||
zfs=`which zfs`
|
||||
|
||||
DATASET="$TEST_POOL/$TEST_DATASET"
|
||||
|
||||
TEST_DATE="2020-01-01_10.00.00"
|
||||
|
||||
echo ""
|
||||
echo "Snapshot without any options"
|
||||
VerifySnapNotExists "$DATASET@$TEST_DATE--1m"
|
||||
ItReturns "CURRENT_DATE=$TEST_DATE $zfsnap snapshot $DATASET 2> /dev/null" 0
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
VerifySnapNotExists "$DATASET/$subds@$TEST_DATE--1m"
|
||||
done
|
||||
DestroySnap "$DATASET@$TEST_DATE--1m"
|
||||
|
||||
echo ""
|
||||
echo "Prefixed snapshot (-p)"
|
||||
VerifySnapNotExists "$DATASET@zs$TEST_DATE--1m"
|
||||
ItReturns "CURRENT_DATE=$TEST_DATE $zfsnap snapshot -p zs $DATASET 2> /dev/null" 0
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
VerifySnapNotExists "$DATASET/$subds@zs$TEST_DATE--1m"
|
||||
done
|
||||
DestroySnap "$DATASET@zs$TEST_DATE--1m"
|
||||
|
||||
echo ""
|
||||
echo "Snapshot with 1y TTL (-a)"
|
||||
VerifySnapNotExists "$DATASET@$TEST_DATE--1y"
|
||||
ItReturns "CURRENT_DATE=$TEST_DATE $zfsnap snapshot -a 1y $DATASET 2> /dev/null" 0
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
VerifySnapNotExists "$DATASET/$subds@$TEST_DATE--1y"
|
||||
done
|
||||
DestroySnap "$DATASET@$TEST_DATE--1y"
|
||||
|
||||
TEST_DATE="2020-02-01_10.00.00"
|
||||
|
||||
echo ""
|
||||
echo "Recursive snapshot (-r)"
|
||||
VerifySnapNotExists "$DATASET@$TEST_DATE--1m"
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
VerifySnapNotExists "$DATASET/$subds@$TEST_DATE--1m"
|
||||
done
|
||||
ItReturns "CURRENT_DATE=$TEST_DATE $zfsnap snapshot -r $DATASET 2> /dev/null" 0
|
||||
for subds in $TEST_SUBDATASETS
|
||||
do
|
||||
DestroySnap "$DATASET/$subds@$TEST_DATE--1m"
|
||||
done
|
||||
DestroySnap "$DATASET@$TEST_DATE--1m"
|
||||
|
||||
ExitTests
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
# This file is licensed under the BSD-3-Clause license.
|
||||
# See the AUTHORS and LICENSE files for more information.
|
||||
|
||||
echo ""
|
||||
echo "Unit tests"
|
||||
echo "----------"
|
Loading…
Reference in New Issue