tests: improve coverage

Add error condition checks.  Add lease file binding states.  Check all
output formats.  Check leases file that is in mad order, cse all sorting
methods when checking this.  Use json output to check status classfications.
Add cidr range checks.  Add conf include and comment parsing input checks.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
Sami Kerola 2017-11-26 15:14:49 +00:00
parent 2849dde21b
commit 447241e6c3
No known key found for this signature in database
GPG key ID: A9553245FDE9B739
33 changed files with 1059 additions and 51 deletions

48
tests/errors Executable file
View file

@ -0,0 +1,48 @@
#!/bin/sh
#
# Test error inputs.
IAM=$(basename $0)
if [ ! -d tests/outputs ]; then
mkdir tests/outputs
fi
echo '=== output mask' >| tests/outputs/$IAM
dhcpd-pools -c $top_srcdir/tests/confs/complete -l $top_srcdir/tests/leases/complete \
-L 88 >> tests/outputs/$IAM 2>&1
echo '=== unknown specifier' >> tests/outputs/$IAM
dhcpd-pools -c $top_srcdir/tests/confs/complete -l $top_srcdir/tests/leases/complete \
--skip=okish >> tests/outputs/$IAM 2>&1
echo '=== color mode' >> tests/outputs/$IAM
dhcpd-pools -c $top_srcdir/tests/confs/complete -l $top_srcdir/tests/leases/complete \
--color=sometimes >> tests/outputs/$IAM 2>&1
echo '=== IPv5' >> tests/outputs/$IAM
dhcpd-pools -c $top_srcdir/tests/confs/complete -l $top_srcdir/tests/leases/complete \
--ip-version=5 >> tests/outputs/$IAM 2>&1
echo '=== missing conf' >> tests/outputs/$IAM
dhcpd-pools -c $top_srcdir/tests/confs/complete_NXFILE -l $top_srcdir/tests/leases/complete 2>&1 | \
sed 's/: ..\/..\/tests/: .\/tests/'>> tests/outputs/$IAM
echo '=== missing leases' >> tests/outputs/$IAM
dhcpd-pools -c $top_srcdir/tests/confs/complete -l $top_srcdir/tests/leases/complete_NXFILE 2>&1 | \
sed 's/: ..\/..\/tests/: .\/tests/' >> tests/outputs/$IAM
echo '=== html table' >> tests/outputs/$IAM
dhcpd-pools -c $top_srcdir/tests/confs/complete -l $top_srcdir/tests/leases/complete \
--format=html >> tests/outputs/$IAM 2>&1
echo '=== none existing format' >> tests/outputs/$IAM
dhcpd-pools -c $top_srcdir/tests/confs/complete -l $top_srcdir/tests/leases/complete \
-fz >> tests/outputs/$IAM 2>&1
echo '=== broken percent input' >> tests/outputs/$IAM
dhcpd-pools -c $top_srcdir/tests/confs/complete -l $top_srcdir/tests/leases/complete \
--warning=eighty >> tests/outputs/$IAM 2>&1
diff -u $top_srcdir/tests/expected/$IAM tests/outputs/$IAM
exit $?