mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
82 lines
1.7 KiB
Text
82 lines
1.7 KiB
Text
# @TEST-EXEC: btest-bg-run bro bro -b ../exectest.bro
|
|
# @TEST-EXEC: btest-bg-wait 15
|
|
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-sort btest-diff bro/.stdout
|
|
|
|
@TEST-START-FILE exectest.bro
|
|
|
|
@load base/utils/exec
|
|
redef exit_only_after_terminate = T;
|
|
|
|
global c: count = 0;
|
|
|
|
function check_exit_condition()
|
|
{
|
|
c += 1;
|
|
|
|
if ( c == 4 )
|
|
terminate();
|
|
}
|
|
|
|
function test_cmd(label: string, cmd: Exec::Command)
|
|
{
|
|
when ( local result = Exec::run(cmd) )
|
|
{
|
|
print label, result;
|
|
check_exit_condition();
|
|
}
|
|
}
|
|
|
|
event bro_init()
|
|
{
|
|
test_cmd("test1", [$cmd="bash ../somescript.sh",
|
|
$read_files=set("out1", "out2")]);
|
|
test_cmd("test2", [$cmd="bash ../nofiles.sh"]);
|
|
# Not sure of a portable way to test signals yet.
|
|
#test_cmd("test3", [$cmd="bash ../suicide.sh"]);
|
|
test_cmd("test4", [$cmd="bash ../stdin.sh", $stdin="hibye"]);
|
|
test_cmd("test5", [$cmd="bash ../empty_file.sh",
|
|
$read_files=set("out3", "out4")]);
|
|
}
|
|
|
|
@TEST-END-FILE
|
|
|
|
@TEST-START-FILE somescript.sh
|
|
#! /usr/bin/env bash
|
|
echo "insert text here" > out1
|
|
echo "and here" >> out1
|
|
echo "insert more text here" > out2
|
|
echo "and there" >> out2
|
|
echo "done"
|
|
echo "exit"
|
|
echo "stop"
|
|
@TEST-END-FILE
|
|
|
|
@TEST-START-FILE nofiles.sh
|
|
#! /usr/bin/env bash
|
|
echo "here's something on stdout"
|
|
echo "some more stdout"
|
|
echo "last stdout"
|
|
echo "and some stderr" 1>&2
|
|
echo "more stderr" 1>&2
|
|
echo "last stderr" 1>&2
|
|
exit 1
|
|
@TEST-END-FILE
|
|
|
|
@TEST-START-FILE suicide.sh
|
|
#! /usr/bin/env bash
|
|
echo "FML"
|
|
kill -9 $$
|
|
echo "nope"
|
|
@TEST-END-FILE
|
|
|
|
@TEST-START-FILE stdin.sh
|
|
#! /usr/bin/env bash
|
|
read -r line
|
|
echo "$line"
|
|
@TEST-END-FILE
|
|
|
|
@TEST-START-FILE empty_file.sh
|
|
#! /usr/bin/env bash
|
|
touch out3
|
|
echo "test" > out4
|
|
@TEST-END-FILE
|