diff options
Diffstat (limited to 'debian/tests')
-rw-r--r-- | debian/tests/control | 3 | ||||
-rw-r--r-- | debian/tests/fuser | 71 | ||||
-rw-r--r-- | debian/tests/killall | 61 | ||||
-rw-r--r-- | debian/tests/version | 10 |
4 files changed, 145 insertions, 0 deletions
diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000..8974337 --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,3 @@ +Tests: version fuser killall +Depends: @, shunit2 + diff --git a/debian/tests/fuser b/debian/tests/fuser new file mode 100644 index 0000000..bf18235 --- /dev/null +++ b/debian/tests/fuser @@ -0,0 +1,71 @@ +#!/bin/sh + +exec 2>&1 + +test_no_arguments() { + ( fuser >"${stdoutF}" 2>"${stderrF}" ) + rtrn=$? + + assertEquals "fuser exit value" "1" "${rtrn}" + grep -E '^No process specification given$' "${stderrF}" > /dev/null + assertTrue 'error message' $? +} + +test_no_process() { + ( fuser "${testF}" >"${stdoutF}" 2>"${stderrF}" ) + rtrn=$? + + assertEquals "fuser exit value" "1" "${rtrn}" + assertFalse "unexpected output to stderr" "[ -s '${stderrF}' ]" +} + +test_a_no_process() { + ( fuser -a "${testF}" >"${stdoutF}" 2>"${stderrF}" ) + rtrn=$? + + assertEquals "fuser exit value" "1" "${rtrn}" + grep -qE "^${testF}:$" "${stderrF}" + assertTrue 'File matches no process' $? +} + +test_my_cwd() { + myCWD=$(readlink "/proc/${myPID}/cwd" ) + ( fuser "${myCWD}" >"${stdoutF}" 2>"${stderrF}" ) + rtrn=$? + + assertEquals "fuser exit value" "0" "${rtrn}" + grep -qE "${myPID}" "${stdoutF}" + assertTrue 'STDOUT has my PID' $? + grep -qE "^${myCWD}:.*c" "${stderrF}" + assertTrue 'STDERR has my path and c' $? +} + +test_my_exe() { + myEXE=$(readlink "/proc/${myPID}/exe" ) + ( fuser "${myEXE}" >"${stdoutF}" 2>"${stderrF}" ) + rtrn=$? + + assertEquals "fuser exit value" "0" "${rtrn}" + grep -qE "${myPID}" "${stdoutF}" + assertTrue 'STDOUT has my PID' $? + grep -qE "^${myEXE}:.*e" "${stderrF}" + assertTrue 'STDERR has my path and e' $? +} +oneTimeSetUp() { + # Define global variables for command output. + stdoutF="${AUTOPKGTEST_TMP}/stdout" + stderrF="${AUTOPKGTEST_TMP}/stderr" + testF="${AUTOPKGTEST_TMP}/test-file" + touch "${testF}" + myPID=$$ +} + +setUp() { + # Truncate the output files. + cp /dev/null "${stdoutF}" + cp /dev/null "${stderrF}" +} + + +# shellcheck disable=SC1091 +. shunit2 diff --git a/debian/tests/killall b/debian/tests/killall new file mode 100644 index 0000000..6097173 --- /dev/null +++ b/debian/tests/killall @@ -0,0 +1,61 @@ +#!/bin/sh + +exec 2>&1 + +test_no_arguments() { + ( killall >"${stdoutF}" 2>"${stderrF}" ) + rtrn=$? + + assertEquals "exit value" "1" "${rtrn}" + grep -E '^Usage: killall \[OPTION\]' "${stderrF}" > /dev/null + assertTrue 'error message' $? +} + +test_list_signals() { + ( killall -l >"${stdoutF}" 2>"${stderrF}" ) + rtrn=$? + + assertEquals "exit value" "0" "${rtrn}" + grep -qE '^([A-Z12]+\s*)+$' "${stdoutF}" + assertTrue 'STDOUT lists signals' $? +} + +test_not_found() { + ( killall "${fakeproc}" >"${stdoutF}" 2>"${stderrF}" ) + rtrn=$? + + assertEquals "exit value" "1" "${rtrn}" + th_assertNoProcFound 'STDOUT says no process found' +} + +test_all_signals() { + allSIGNALS=$(killall -l) + for signame in ${allSIGNALS}; do + ( killall -"${signame}" "${fakeproc}" >"${stdoutF}" 2>"${stderrF}" ) + th_assertNoProcFound "STDOUT no process found for -${signame}" + ( killall -"SIG${signame}" "${fakeproc}" >"${stdoutF}" 2>"${stderrF}" ) + th_assertNoProcFound "STDOUT no process found for -SIG${signame}" + done +} + +th_assertNoProcFound() { + msg=$1 + grep -qE "^${fakeproc}: no process found$" "${stderrF}" + assertTrue "${msg}" $? +} + +oneTimeSetUp() { + # Define global variables for command output. + stdoutF="${AUTOPKGTEST_TMP}/stdout" + stderrF="${AUTOPKGTEST_TMP}/stderr" + fakeproc="fakename-test" +} + +setUp() { + # Truncate the output files. + cp /dev/null "${stdoutF}" + cp /dev/null "${stderrF}" +} + +# shellcheck disable=SC1091 +. shunit2 diff --git a/debian/tests/version b/debian/tests/version new file mode 100644 index 0000000..b7700bc --- /dev/null +++ b/debian/tests/version @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +BINARIES='killall pslog prtstat pstree fuser peekfd' + +for bin in $BINARIES ; do \ + $bin --version 2>&1 | egrep "^$bin \(PSmisc\) [0-9.]+$" ; \ +done + |