combine test directories

This fixes #295.
This commit is contained in:
William Hubbs
2019-02-22 15:19:33 -06:00
parent 6e6902c28b
commit 52d4e56674
8 changed files with 5 additions and 7 deletions

83
test/units/is_older_than Executable file
View File

@@ -0,0 +1,83 @@
#!/bin/sh
# unit test for is_older_than code of baselayout (2008/06/19)
# Author: Matthias Schwarzott <zzam@gentoo.org>
TMPDIR=tmp-"$(basename "$0")"
# Please note that we added this unit test because the function
# should really be called is_newer_than as it's what it's really testing.
# Or more perversly, returning 0 on failure and 1 and success.
# bool is_older_than(reference, files/dirs to check)
#
# return 0 if any of the files/dirs are newer than
# the reference file
#
# EXAMPLE: if is_older_than a.out *.o ; then ...
ref_is_older_than()
{
local x= ref="$1"
shift
for x; do
[ "${x}" -nt "${ref}" ] && return 0
if [ -d "${x}" ]; then
ref_is_older_than "${ref}" "${x}"/* && return 0
fi
done
return 1
}
do_test()
{
local r1= r2=
ref_is_older_than "$@"
r1=$?
is_older_than "$@"
r2=$?
[ -n "${VERBOSE}" ] && echo "reference = $r1 | OpenRC = $r2"
[ $r1 = $r2 ]
}
echo_cmd()
{
[ -n "${VERBOSE}" ] && echo "$@"
"$@"
}
test_it()
{
do_test "${TMPDIR}"/ref "${TMPDIR}"/dir1 "${TMPDIR}"/dir2
}
run_test()
{
echo_cmd mkdir -p "${TMPDIR}"/dir1 "${TMPDIR}"/dir2
echo_cmd touch "${TMPDIR}"/dir1/f1 "${TMPDIR}"/dir1/f2 \
"${TMPDIR}"/dir1/f3 "${TMPDIR}"/dir2/f1 \
"${TMPDIR}"/dir2/f2 "${TMPDIR}"/dir2/f3
echo_cmd sleep 1
echo_cmd touch "${TMPDIR}"/ref
test_it || return 1
echo_cmd sleep 1
echo_cmd touch "${TMPDIR}"/dir1/f2
test_it || return 1
echo_cmd sleep 1
echo_cmd touch "${TMPDIR}"/ref
test_it || return 1
echo_cmd sleep 1
echo_cmd touch "${TMPDIR}"/dir2/f2
test_it || return 1
}
rm -rf "${TMPDIR}"
mkdir "${TMPDIR}"
run_test
retval=$?
rm -rf "${TMPDIR}"
exit ${retval}

33
test/units/sh_yesno Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/sh
# Copyright (c) 2008-2015 The OpenRC Authors.
# See the Authors file at the top-level directory of this distribution and
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
: ${top_srcdir:=..}
. $top_srcdir/test/setup_env.sh
ret=0
tret=0
for f in yes YES Yes true TRUE True 1 ; do
if ! yesno $f; then
: $(( tret += 1 ))
echo "!$f!"
fi
done
for f in no NO No false FALSE False 0 ; do
if yesno $f; then
: $(( tret += 1 ))
echo "!$f!"
fi
done
: $(( ret += $tret ))
eend $ret
exit $ret