#!/bin/sh

# pidof tests.
# Copyright 2005 by Bernhard Reutner-Fischer
# Licensed under GPLv2, see file LICENSE in this source tree.

# AUDIT:

. ./testing.sh

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

testing "pidof (exit with error)" \
	"pidof veryunlikelyoccuringbinaryname ; echo \$?" "1\n" "" ""
testing "pidof (exit with success)" "pidof pidof > /dev/null; echo \$?" \
	"0\n" "" ""
# We can get away with this because it says #!/bin/sh up top.

testing "pidof this" "pidof pidof.tests | grep -o -w $$" "$$\n" "" ""

test x"`cat /proc/1/comm`" = x"init" && {
optional FEATURE_PIDOF_SINGLE
testing "pidof -s" "pidof -s init" "1\n" "" ""
SKIP=
}

test x"`cat /proc/1/comm`" = x"init" && {
optional FEATURE_PIDOF_OMIT FEATURE_PIDOF_SINGLE
# This test fails now because process name matching logic has changed,
# but new logic is not "wrong" either... see find_pid_by_name.c comments
#testing "pidof -o %PPID" "pidof -o %PPID pidof.tests | grep -o -w $$" "" "" ""
testing "pidof -o %PPID NOP" "pidof -o %PPID -s init" "1\n" "" ""
SKIP=
}

optional FEATURE_PIDOF_OMIT
testing "pidof -o init" "pidof -o 1 init | grep -o -w 1" "" "" ""
SKIP=

exit $FAILCOUNT