#!/bin/sh

set -e

export LC_ALL=C
unset LANG
unset LANGUAGE

succeded=0
failed=0
failed_tests=""

run_test()
{
	if $1 > $1.log
	then
		succeded=$((succeded+1))
		echo -n "+"
	else
		failed=$((failed+1))
		failed_tests="$failed_tests $1"
		echo -n "-"
	fi
	cat $1.log >> testsuite.log
}

echo "+: test passed"
echo "-: test failed"

# Empty the complete log.
> testsuite.log

run_test ./su/01/su_root
run_test ./su/01/su_user
run_test ./su/02/env_FOO-options_--login
run_test ./su/02/env_FOO-options_--login_bash
run_test ./su/02/env_FOO-options_--preserve-environment
run_test ./su/02/env_FOO-options_--preserve-environment_bash
run_test ./su/02/env_FOO-options_-
run_test ./su/02/env_FOO-options_-_bash
run_test ./su/02/env_FOO-options_-l-m
run_test ./su/02/env_FOO-options_-l-m_bash
run_test ./su/02/env_FOO-options_-l
run_test ./su/02/env_FOO-options_-l_bash
run_test ./su/02/env_FOO-options_-m_bash
run_test ./su/02/env_FOO-options_-m
run_test ./su/02/env_FOO-options_-p
run_test ./su/02/env_FOO-options_-p_bash
run_test ./su/02/env_FOO-options__bash
run_test ./su/02/env_FOO-options_
run_test ./su/02/env_FOO-options_-p-
run_test ./su/02/env_FOO-options_-p-_bash
run_test ./su/02/env_special-options_-l-p
run_test ./su/02/env_special-options_-l
run_test ./su/02/env_special-options_-l-p_bash
run_test ./su/02/env_special-options_-l_bash
run_test ./su/02/env_special-options_-p
run_test ./su/02/env_special-options_-p_bash
run_test ./su/02/env_special-options_
run_test ./su/02/env_special-options__bash
run_test ./su/02/env_special_root-options_-l-p
run_test ./su/02/env_special_root-options_-l-p_bash
run_test ./su/02/env_special_root-options_-l
run_test ./su/02/env_special_root-options_-l_bash
run_test ./su/02/env_special_root-options_-p
run_test ./su/02/env_special_root-options_-p_bash
run_test ./su/02/env_special_root-options_
run_test ./su/02/env_special_root-options__bash
run_test ./su/03/run
run_test ./convtools/01/run
run_test ./chage/01/run
run_test ./chage/02/run
run_test ./chsh/01/run
run_test ./debian/01/run
run_test ./usertools/01/run1
run_test ./usertools/01/run2
run_test ./usertools/01/run3
run_test ./usertools/01/run4
run_test ./usertools/01/run5
run_test ./usertools/01/run6
run_test ./usertools/01/run7
run_test ./usertools/01/run8
run_test ./usertools/01/run9
run_test ./usertools/01/run10
run_test ./usertools/01/run11
run_test ./usertools/01/run12
run_test ./usertools/01/run13
run_test ./usertools/01/run14
run_test ./usertools/01/run15
run_test ./cptools/01/run1
run_test ./cptools/01/run2
run_test ./cptools/01/run3
run_test ./cptools/01/run4
run_test ./cktools/01/run1
run_test ./cktools/01/run2

echo
echo "$succeded test(s) passed"
echo "$failed test(s) failed"
echo "log written in 'testsuite.log'"
if [ "$failed" != "0" ]
then
	echo "the following tests failed:"
	echo $failed_tests
fi

