mirror of
https://github.com/zsh-users/zsh-autosuggestions.git
synced 2024-11-25 10:01:05 +01:00
89 lines
2.3 KiB
Bash
Executable file
89 lines
2.3 KiB
Bash
Executable file
#!/bin/sh
|
|
# vim:et:ft=sh:sts=2:sw=2
|
|
#
|
|
# Copyright 2008 Kate Ward. All Rights Reserved.
|
|
# Released under the LGPL (GNU Lesser General Public License)
|
|
#
|
|
# Author: kate.ward@forestent.com (Kate Ward)
|
|
#
|
|
# Example unit test for the mkdir command.
|
|
#
|
|
# There are times when an existing shell script needs to be tested. In this
|
|
# example, we will test several aspects of the the mkdir command, but the
|
|
# techniques could be used for any existing shell script.
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# suite tests
|
|
#
|
|
|
|
testMissingDirectoryCreation()
|
|
{
|
|
${mkdirCmd} "${testDir}" >${stdoutF} 2>${stderrF}
|
|
rtrn=$?
|
|
th_assertTrueWithNoOutput ${rtrn} "${stdoutF}" "${stderrF}"
|
|
|
|
assertTrue 'directory missing' "[ -d '${testDir}' ]"
|
|
}
|
|
|
|
testExistingDirectoryCreationFails()
|
|
{
|
|
# create a directory to test against
|
|
${mkdirCmd} "${testDir}"
|
|
|
|
# test for expected failure while trying to create directory that exists
|
|
${mkdirCmd} "${testDir}" >${stdoutF} 2>${stderrF}
|
|
rtrn=$?
|
|
assertFalse 'expecting return code of 1 (false)' ${rtrn}
|
|
assertNull 'unexpected output to stdout' "`cat ${stdoutF}`"
|
|
assertNotNull 'expected error message to stderr' "`cat ${stderrF}`"
|
|
|
|
assertTrue 'directory missing' "[ -d '${testDir}' ]"
|
|
}
|
|
|
|
testRecursiveDirectoryCreation()
|
|
{
|
|
testDir2="${testDir}/test2"
|
|
|
|
${mkdirCmd} -p "${testDir2}" >${stdoutF} 2>${stderrF}
|
|
rtrn=$?
|
|
th_assertTrueWithNoOutput ${rtrn} "${stdoutF}" "${stderrF}"
|
|
|
|
assertTrue 'first directory missing' "[ -d '${testDir}' ]"
|
|
assertTrue 'second directory missing' "[ -d '${testDir2}' ]"
|
|
}
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# suite functions
|
|
#
|
|
|
|
th_assertTrueWithNoOutput()
|
|
{
|
|
th_return_=$1
|
|
th_stdout_=$2
|
|
th_stderr_=$3
|
|
|
|
assertFalse 'unexpected output to STDOUT' "[ -s '${th_stdout_}' ]"
|
|
assertFalse 'unexpected output to STDERR' "[ -s '${th_stderr_}' ]"
|
|
|
|
unset th_return_ th_stdout_ th_stderr_
|
|
}
|
|
|
|
oneTimeSetUp()
|
|
{
|
|
outputDir="${SHUNIT_TMPDIR}/output"
|
|
mkdir "${outputDir}"
|
|
stdoutF="${outputDir}/stdout"
|
|
stderrF="${outputDir}/stderr"
|
|
|
|
mkdirCmd='mkdir' # save command name in variable to make future changes easy
|
|
testDir="${SHUNIT_TMPDIR}/some_test_dir"
|
|
}
|
|
|
|
tearDown()
|
|
{
|
|
rm -fr "${testDir}"
|
|
}
|
|
|
|
# load and run shUnit2
|
|
[ -n "${ZSH_VERSION:-}" ] && SHUNIT_PARENT=$0
|
|
. ../src/shunit2
|