#!/bin/sh
# Copyright 2008 by Denys Vlasenko
# Licensed under GPLv2, see file LICENSE in this source tree.

. ./testing.sh

# testing "test name" "cmd" "expected result" "file input" "stdin"

testing "start-stop-daemon -x without -a" \
	'start-stop-daemon -S -x true 2>&1; echo $?' \
	"0\n" \
	"" ""

testing "start-stop-daemon -a without -x" \
	'start-stop-daemon -S -a false 2>&1; echo $?' \
	"1\n" \
	"" ""

testing "start-stop-daemon without -x and -a" \
	'start-stop-daemon -S false 2>&1; echo $?' \
	"1\n" \
	"" ""

# This runs /bin/false with argv[0..2] of { "qwerty", "false", NULL }.
#
# Unfortunately, this does not actually check argv[0] correctness,
# but at least it checks that pathname to exec() is correct
#
# NB: this fails if /bin/false is a busybox symlink:
# busybox looks at argv[0] and says "qwerty: applet not found", so
# skip the test if false is busybox.
case $(readlink /bin/false) in
    *busybox*)
        echo "SKIPPED: start-stop-daemon with both -x and -a (need non-busybox false)"
        ;;
    *)
		testing "start-stop-daemon with both -x and -a" \
			'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \
			"1\n" \
			"" ""
        ;;
esac

exit $FAILCOUNT
