Connect the tests provided with the new bc and dc

The tests compare the command output (including of error cases) with the
expected output and exit code.

Not all tests are executed, since some expect to have a known good bc and
dc binary installed and compare results of large amounts of generated data
being processed by both versions to test for regressions.
This commit is contained in:
Stefan Eßer 2020-08-03 20:26:04 +00:00
parent 5d934bc0c5
commit f022d2cd17
3 changed files with 71 additions and 3 deletions

View File

@ -1002,6 +1002,8 @@
..
getconf
..
gh-bc
..
grep
..
gzip

View File

@ -59,9 +59,8 @@ MAN_SRC_DC= dc/A.1
CFLAGS+= -flto
.endif
.if ${MK_TESTS} != "no"
#SUBDIR+= tests
.endif
HAS_TESTS=
SUBDIR.${MK_TESTS}+= tests
.for catalog in ${CATALOGS}
NLS+= ${catalog:C/.*://}

View File

@ -0,0 +1,67 @@
# $FreeBSD$
.include <bsd.own.mk>
PACKAGE= tests
TEST_DIR= ${SRCTOP}/contrib/bc
TESTSDIR= ${TESTSBASE}/usr.bin/gh-bc
.PATH: ${SRCTOP}/tests
FILESGROUPS+= FILESf
FILESfPACKAGE= ${PACKAGE}
FILESfDIR= ${TESTSDIR}
FILESf= ${TEST_DIR}/functions.sh
FILESfMODE= 0755
FILESGROUPS+= FILEStests
FILEStestsPACKAGE= ${PACKAGE}
FILEStestsDIR= ${TESTSDIR}/tests
FILEStests!= echo ${TEST_DIR}/tests/*.py ${TEST_DIR}/tests/*.sh ${TEST_DIR}/tests/*.txt
FILEStestsMODE= 0755
FILESGROUPS+= FILESbc
FILESbcPACKAGE= ${PACKAGE}
FILESbcDIR= ${TESTSDIR}/tests/bc
FILESbc!= echo ${TEST_DIR}/tests/bc/*.*
FILESGROUPS+= FILESbc_errors
FILESbc_errorsPACKAGE= ${PACKAGE}
FILESbc_errorsDIR= ${TESTSDIR}/tests/bc/errors
FILESbc_errors!= echo ${TEST_DIR}/tests/bc/errors/*.*
FILESGROUPS+= FILESbc_scripts
FILESbc_scriptsPACKAGE= ${PACKAGE}
FILESbc_scriptsDIR= ${TESTSDIR}/tests/bc/scripts
FILESbc_scripts!= echo ${TEST_DIR}/tests/bc/scripts/*.*
FILESbc_scriptsMODE= 0755
FILESGROUPS+= FILESdc
FILESdcPACKAGE= ${PACKAGE}
FILESdcDIR= ${TESTSDIR}/tests/dc
FILESdc!= echo ${TEST_DIR}/tests/dc/*.*
FILESGROUPS+= FILESdc_errors
FILESdc_errorsPACKAGE= ${PACKAGE}
FILESdc_errorsDIR= ${TESTSDIR}/tests/dc/errors
FILESdc_errors!= echo ${TEST_DIR}/tests/dc/errors/*.*
FILESGROUPS+= FILESdc_scripts
FILESdc_scriptsPACKAGE= ${PACKAGE}
FILESdc_scriptsDIR= ${TESTSDIR}/tests/dc/scripts
FILESdc_scripts!= echo ${TEST_DIR}/tests/dc/scripts/*.*
FILESdc_scriptsMODE= 0755
PLAIN_TESTS_SH= bc_tests dc_tests
bc_tests.sh:
echo "#!/bin/sh" > ${.TARGET}
echo "env LANG=C ${TESTSDIR}/tests/all.sh bc 1 1 0 0 bc" >> ${.TARGET}
dc_tests.sh:
echo "#!/bin/sh" > ${.TARGET}
echo "env LANG=C ${TESTSDIR}/tests/all.sh dc 1 1 0 0 dc" >> ${.TARGET}
.include <bsd.test.mk>