#!/bin/bash

# Copyright 2015 Divya Kothari <divya.s.kothari@gmail.com>
# Copyright 2015 Neha Maggu <maggu.neha@gmail.com>

#cleaning 'yes' processes
killall yes >/dev/null 2>&1

[ -f testing.sh ] && . testing.sh

#testing "name" "command" "result" "infile" "stdin"
# Starting processes to test pidof command
yes >/dev/null &
proc1=$!
yes >/dev/null &
proc2=$!
yes >/dev/null &
proc3=$!
yes >/dev/null &
proc4=$!
yes >/dev/null &
proc5=$!

testing "pidof NAME" "pidof yes && echo yes" "$proc1 $proc2 $proc3 $proc4 $proc5\nyes\n" "" ""
testing "pidof single shot" "pidof -s yes && echo yes" "$proc1\nyes\n" "" ""
testing "pidof omit PID" "pidof -o $proc3 yes && echo yes" "$proc1 $proc2 $proc4 $proc5\nyes\n" "" ""
testing "pidof omit PID(s)" "pidof -o $proc3,$proc4 yes && echo yes" "$proc1 $proc2 $proc5\nyes\n" "" ""
testing "pidof omit PID(s)" "pidof -o $proc1,$proc2,$proc3,$proc4,$proc5 yes && echo yes" "" "" ""

dd if=/dev/zero of=f1 &
proc6=$!
dd if=/dev/zero of=f2 &
proc7=$!
testing "pidof NAME1 NAME2" "pidof yes dd && echo yes" "$proc1 $proc2 $proc3 $proc4 $proc5 $proc6 $proc7\nyes\n" "" ""

#cleaning 'yes' and 'dd' processes
kill -9 $proc1 $proc2 $proc3 $proc4 $proc5 $proc6 $proc7
