3 # Check the report type change in the config file
5 if [ -z "${CRASH_WORKER_SYSTEM_TESTS}" ]; then
6 CRASH_WORKER_SYSTEM_TESTS="@CRASH_SYSTEM_TESTS_PATH@"
9 . ${CRASH_WORKER_SYSTEM_TESTS}/utils/minicore-utils.sh
11 # We are looking for following signal - example for `sleep` command:
13 # signal time=1420079847.594970 sender=:1.82 -> destination=(null destination) serial=2 path=/Org/Tizen/System/Crash/Crash; interface=org.tizen.system.crash.Crash; member=ProcessCrashed
15 # string "/usr/bin/sleep"
18 # string "/opt/usr/share/crash/dump//sleep_2782_20150101113723.zip"
24 # variant uint32 3069275660
28 # variant uint32 3070220008
35 # string "sys.tid.comm"
36 # variant string "sleep"
40 ( ${CRASH_WORKER_SYSTEM_TESTS}/utils/kenny &
45 TMP1=$(mktemp /tmp/dbus_notify.XXXXXX)
46 TMP2=$(mktemp /tmp/dbus_notify.XXXXXX)
47 dbus-monitor --system type=signal,path=/Org/Tizen/System/Crash/Crash,interface=org.tizen.system.crash.Crash,member=ProcessCrashed > $TMP1 &
49 dbus-monitor --system type=signal,path=/Org/Tizen/System/Crash/Crash,interface=org.tizen.system.crash.Crash,member=ProcessCrashedEx > $TMP2 &
54 kill $monpid1 $monpid2
61 wait_for_app crash-manager
63 for TMPFILE in $TMP1 $TMP2; do
64 PATTERN="path=/Org/Tizen/System/Crash/Crash; interface=org\.tizen\.system\.crash\.Crash; member=ProcessCrashed"
66 if egrep "$PATTERN" $TMPFILE; then
67 if egrep "string \"kenny" $TMPFILE; then
71 if egrep "string \"/opt/usr/share/crash/dump.*kenny" $TMPFILE; then
75 if egrep "string \"${CRASH_WORKER_SYSTEM_TESTS}/utils/kenny" $TMPFILE; then
79 if egrep -A1 "string \"sys.signal" $TMPFILE | grep 'int32 6'; then
83 if egrep -A1 "string \"sys.tid.comm" $TMPFILE | egrep 'variant.*string \"kenny\"'; then
87 if egrep 'ProcessCrashed\b' $TMPFILE; then
88 has_process_crashed=yes
91 if egrep 'ProcessCrashedEx\b' $TMPFILE; then
92 has_process_crashed_ex=yes
95 if [ $score -eq 5 ]; then
100 fail "dbus signal does not match"
103 [ x$has_process_crashed = xyes ] && [ x$has_process_crashed_ex = xyes ] || fail "necessary signals not matched (ProcessCrashed and ProcessCrashedEx)"