aboutsummaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorStefan Eßer <se@FreeBSD.org>2020-08-03 20:26:04 +0000
committerStefan Eßer <se@FreeBSD.org>2020-08-03 20:26:04 +0000
commitf022d2cd17af99bc785bdcb8ea6dca44a8ec03a4 (patch)
tree07f8d7f23bf4380f8778324d0b23cfcae13e498f /usr.bin
parent5d934bc0c521844fa82dff6a30f77ea6a6f75081 (diff)
downloadsrc-f022d2cd17af99bc785bdcb8ea6dca44a8ec03a4.tar.gz
src-f022d2cd17af99bc785bdcb8ea6dca44a8ec03a4.zip
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.
Notes
Notes: svn path=/head/; revision=363811
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/gh-bc/Makefile5
-rw-r--r--usr.bin/gh-bc/tests/Makefile67
2 files changed, 69 insertions, 3 deletions
diff --git a/usr.bin/gh-bc/Makefile b/usr.bin/gh-bc/Makefile
index 654752e0df82..87910da8937e 100644
--- a/usr.bin/gh-bc/Makefile
+++ b/usr.bin/gh-bc/Makefile
@@ -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/.*://}
diff --git a/usr.bin/gh-bc/tests/Makefile b/usr.bin/gh-bc/tests/Makefile
new file mode 100644
index 000000000000..b66509549bee
--- /dev/null
+++ b/usr.bin/gh-bc/tests/Makefile
@@ -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>