1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-15 05:57:49 +03:00
samba-mirror/ctdb/tests/cunit/run_event_001.sh
Amitay Isaacs a42a723299 ctdb-common: Switch to ETIMEDOUT from ETIME
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13520

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2018-07-28 03:50:10 +02:00

135 lines
2.3 KiB
Bash
Executable File

#!/bin/sh
. "${TEST_SCRIPTS_DIR}/unit.sh"
# Invalid path
required_result 1 <<EOF
run_event_init() failed, ret=2
EOF
unit_test run_event_test /a/b/c list
scriptdir=$(TMPDIR="$TEST_VAR_DIR" mktemp -d)
# Empty directory
ok <<EOF
No event scripts found
EOF
unit_test run_event_test "$scriptdir" list
cat > "$scriptdir/prog" <<EOF
#!/bin/sh
echo hello
EOF
# Invalid script, doesn't end in ".script"
ok <<EOF
No event scripts found
EOF
unit_test run_event_test "$scriptdir" list
# Is not found because enabling "prog" actually looks for "prog.script"
ok <<EOF
Script enable prog completed with result=2
EOF
unit_test run_event_test "$scriptdir" enable prog
required_result 1 <<EOF
EOF
unit_test test -x "${scriptdir}/prog"
cat > "$scriptdir/11.foo.script" <<EOF
#!/bin/sh
echo hello
EOF
# Valid script
ok <<EOF
11.foo
EOF
unit_test run_event_test "$scriptdir" list
ok <<EOF
Script enable 11.foo completed with result=0
EOF
unit_test run_event_test "$scriptdir" enable 11.foo
ok <<EOF
EOF
unit_test test -x "${scriptdir}/11.foo.script"
ok <<EOF
11.foo: hello
Event monitor completed with result=0
11.foo result=0
EOF
unit_test run_event_test "$scriptdir" run 10 monitor
cat > "$scriptdir/22.bar.script" <<EOF
#!/bin/sh
exit 1
EOF
# Multiple scripts
ok <<EOF
11.foo
22.bar
EOF
unit_test run_event_test "$scriptdir" list
ok <<EOF
Script enable 22.bar completed with result=0
EOF
unit_test run_event_test "$scriptdir" enable 22.bar
ok <<EOF
11.foo: hello
Event monitor completed with result=1
11.foo result=0
22.bar result=1
EOF
unit_test run_event_test "$scriptdir" run 10 monitor
# Disable script
ok <<EOF
Script disable 22.bar completed with result=0
EOF
unit_test run_event_test "$scriptdir" disable 22.bar
required_result 1 <<EOF
EOF
unit_test test -x "${scriptdir}/22.bar.script"
ok <<EOF
11.foo: hello
Event monitor completed with result=0
11.foo result=0
22.bar result=-$(errcode ENOEXEC)
EOF
unit_test run_event_test "$scriptdir" run 10 monitor
cat > "$scriptdir/22.bar.script" <<EOF
#!/bin/sh
sleep 10
EOF
# Timed out script
ok <<EOF
Script enable 22.bar completed with result=0
EOF
unit_test run_event_test "$scriptdir" enable 22.bar
ok <<EOF
11.foo: hello
Event monitor completed with result=-$(errcode ETIMEDOUT)
11.foo result=0
22.bar result=-$(errcode ETIMEDOUT)
EOF
unit_test run_event_test "$scriptdir" run 5 monitor
rm -rf "$scriptdir"
exit 0