Add autopkgtests
authorMohammed Bilal <mdbilal@disroot.org>
Fri, 19 Aug 2022 16:48:02 +0000 (16:48 +0000)
committerMohammed Bilal <mdbilal@disroot.org>
Fri, 19 Aug 2022 16:48:02 +0000 (16:48 +0000)
debian/tests/control [new file with mode: 0644]
debian/tests/run-unit-test [new file with mode: 0644]

diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644 (file)
index 0000000..71db9e6
--- /dev/null
@@ -0,0 +1,3 @@
+Tests: run-unit-test
+Depends: @, python3-pydicom
+Restrictions: allow-stderr
diff --git a/debian/tests/run-unit-test b/debian/tests/run-unit-test
new file mode 100644 (file)
index 0000000..1113d3d
--- /dev/null
@@ -0,0 +1,139 @@
+#!/bin/bash
+set -e
+
+pkg=dcmtk
+
+CUR_DIR=`pwd`
+
+
+export LC_ALL=C.UTF-8
+if [ "${AUTOPKGTEST_TMP}" = "" ] ; then
+  AUTOPKGTEST_TMP=$(mktemp -d /tmp/${pkg}-test.XXXXXX)
+  trap "rm -rf ${AUTOPKGTEST_TMP}" 0 INT QUIT ABRT PIPE TERM
+fi
+
+cp -a /usr/lib/python3/dist-packages/pydicom/data/test_files/CT_small.dcm "${AUTOPKGTEST_TMP}"
+cp -a ${CUR_DIR}/dcmdata/data/dicom.dic "${AUTOPKGTEST_TMP}"
+
+
+export DCMDICTPATH=${AUTOPKGTEST_TMP}/dicom.dic
+
+cd "${AUTOPKGTEST_TMP}"
+
+echo -e "15e7e2a11cdeabac32e1134674beda6b  CT_small.dcm" >> checksums
+
+echo -e "Running Tests"
+
+echo -e "Test 1"
+
+dcm2json CT_small.dcm dcm2json.json
+
+echo -e "Test 2"
+
+dcm2xml CT_small.dcm dcm2xml.xml
+
+echo -e "Test 3"
+
+dcmconv --convert-to-latin1 CT_small.dcm dcmconv.out
+
+echo -e "Test 4"
+
+dcmcrle CT_small.dcm dcmcrle.out
+
+echo -e "Test 5"
+
+dcmdrle dcmcrle.out dcmdrle.out
+
+echo -e "Test 6"
+
+dcmdump CT_small.dcm > dcmdump.out
+
+echo -e "Test 7"
+
+dump2dcm dcmdump.out dump2dcm.dcm
+
+echo -e "Test 8"
+
+dcmftest CT_small.dcm
+
+echo -e "Test 9"
+
+dcmodify -e "(0008,0031)" CT_small.dcm
+
+echo -e "Test 10"
+
+dcm2pnm +Rtd CT_small.dcm dcm2pnm.png
+
+echo -e "Test 11"
+
+dcmscale +Sxf 2.0 CT_small.dcm dcmscale.out
+
+echo -e "Test 12"
+
+dcmcjpls CT_small.dcm dcmcjpls.out
+
+echo -e "Test 13"
+
+dcmdjpls dcmcjpls.out dcmdjpls.out
+
+echo -e "Test 14"
+
+dcml2pnm  CT_small.dcm dcml2pnm.png
+
+echo -e "Test 15"
+
+cat <<EOT >> crv.txt
+ 256.451947    1.000000
+ 477.689863  128.822080
+ 128.822080  477.689863
+  35.310137  128.822080
+ 256.451947    1.000000
+EOT
+
+dcmmkcrv CT_small.dcm crv.txt dcmmkcrv.out
+
+echo -e "Test 16"
+
+dcmmklut dcmmklut.out
+
+echo -e "Test 17"
+
+dcmp2pgm CT_small.dcm dcmp2pgm.out
+
+echo -e "Test 18"
+dcmpsmk CT_small.dcm dcmpsmk.out
+
+echo -e "Test 19"
+mkdir dcmqridx
+
+dcmqridx dcmqridx/ CT_small.dcm
+
+echo -e "Test 20"
+dcmsign -q CT_small.dcm
+
+if [ -f dcmqridx/index.dat ] && \
+   [ -f dcmpsmk.out ] && \
+   [ -f dcmmklut.out ] && \
+   [ -f dcm2json.json ] && \
+   [ -f dcm2xml.xml ] && \
+   [ -f dcmconv.out ] && \
+   [ -f dcmcrle.out ] && \
+   [ -f dcmdrle.out ] && \
+   [ -f dcmdump.out ] && \
+   [ -f dump2dcm.dcm ] && \
+   [ -f dcm2pnm.png ] && \
+   [ -f dcmscale.out ] && \
+   [ -f dcmcjpls.out ] && \
+   [ -f dcmdjpls.out ] && \
+   [ -f dcml2pnm.png ] && \
+   [ -f dcmmkcrv.out ] && \
+   [ -f dcmp2pgm.out ] && \
+   md5sum --check checksums; then
+
+   echo -e "PASS"
+
+else
+   echo "FAIL"
+
+fi
+