summaryrefslogtreecommitdiffstats
path: root/src/fluent-bit/tests/lib/shunit2/examples/mkdir_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/fluent-bit/tests/lib/shunit2/examples/mkdir_test.sh')
-rwxr-xr-xsrc/fluent-bit/tests/lib/shunit2/examples/mkdir_test.sh79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/fluent-bit/tests/lib/shunit2/examples/mkdir_test.sh b/src/fluent-bit/tests/lib/shunit2/examples/mkdir_test.sh
new file mode 100755
index 000000000..a608e3aa3
--- /dev/null
+++ b/src/fluent-bit/tests/lib/shunit2/examples/mkdir_test.sh
@@ -0,0 +1,79 @@
+#!/bin/sh
+# vim:et:ft=sh:sts=2:sw=2
+#
+# Copyright 2008-2019 Kate Ward. All Rights Reserved.
+# Released under the Apache 2.0 license.
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# shUnit2 -- Unit testing framework for Unix shell scripts.
+# https://github.com/kward/shunit2
+#
+# 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.
+
+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}' ]"
+}
+
+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
+. ../shunit2