mirror of
https://github.com/deajan/osync
synced 2024-11-15 12:12:56 +00:00
65 lines
2.0 KiB
Bash
Executable File
65 lines
2.0 KiB
Bash
Executable File
#!/bin/sh
|
|
# vim:et:ft=sh:sts=2:sw=2
|
|
#
|
|
# shunit2 unit test for running subset(s) of tests based upon command line args.
|
|
#
|
|
# Copyright 2008-2021 Kate Ward. All Rights Reserved.
|
|
# Released under the Apache 2.0 license.
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# https://github.com/kward/shunit2
|
|
#
|
|
# Also shows how non-default tests or a arbitrary subset of tests can be run.
|
|
#
|
|
# Disable source following.
|
|
# shellcheck disable=SC1090,SC1091
|
|
|
|
# Load test helpers.
|
|
. ./shunit2_test_helpers
|
|
|
|
CUSTOM_TEST_RAN=''
|
|
|
|
# This test does not normally run because it does not begin "test*". Will be
|
|
# run by setting the arguments to the script to include the name of this test.
|
|
custom_test() {
|
|
# Arbitrary assert.
|
|
assertTrue 0
|
|
# The true intent is to set this variable, which will be tested below.
|
|
CUSTOM_TEST_RAN='yup, we ran'
|
|
}
|
|
|
|
# Verify that `customTest()` ran.
|
|
testCustomTestRan() {
|
|
assertNotNull "'custom_test()' did not run" "${CUSTOM_TEST_RAN}"
|
|
}
|
|
|
|
# Fail if this test runs, which is shouldn't if arguments are set correctly.
|
|
testShouldFail() {
|
|
fail 'testShouldFail should not be run if argument parsing works'
|
|
}
|
|
|
|
oneTimeSetUp() {
|
|
th_oneTimeSetUp
|
|
}
|
|
|
|
# If zero/one argument(s) are provided, this test is being run in it's
|
|
# entirety, and therefore we want to set the arguments to the script to
|
|
# (simulate and) test the processing of command-line specified tests. If we
|
|
# don't, then the "test_will_fail" test will run (by default) and the overall
|
|
# test will fail.
|
|
#
|
|
# However, if two or more arguments are provided, then assume this test script
|
|
# is being run by hand to experiment with command-line test specification, and
|
|
# then don't override the user provided arguments.
|
|
if [ "$#" -le 1 ]; then
|
|
# We set the arguments in a POSIX way, inasmuch as we can;
|
|
# helpful tip:
|
|
# https://unix.stackexchange.com/questions/258512/how-to-remove-a-positional-parameter-from
|
|
set -- '--' 'custom_test' 'testCustomTestRan'
|
|
fi
|
|
|
|
# Load and run shunit2.
|
|
# shellcheck disable=SC2034
|
|
[ -n "${ZSH_VERSION:-}" ] && SHUNIT_PARENT=$0
|
|
. "${TH_SHUNIT}"
|