gdb is playing games with us, by breaking -x /dev/stdin
--- /dev/null
+run
+set print elements 0
+print (char*) __glib_assert_msg
fi
echo_v "Running gdb on assert-msg-test"
fi
echo_v "Running gdb on assert-msg-test"
-OUT=$((echo run; echo "set print elements 0"; echo "print (char*) __glib_assert_msg") | $LIBTOOL --mode=execute gdb --batch -x /dev/stdin assert-msg-test 2> $error_out) || fail "failed to run gdb"
+OUT=$($LIBTOOL --mode=execute gdb --batch -x assert-msg-test.gdb assert-msg-test 2> $error_out) || fail "failed to run gdb"
echo_v "Checking if assert message is in __glib_assert_msg"
if ! echo "$OUT" | grep -q '^$1.*"ERROR:.*assert-msg-test.c:.*:.*main.*: assertion failed: (42 < 0)"'; then
echo_v "Checking if assert message is in __glib_assert_msg"
if ! echo "$OUT" | grep -q '^$1.*"ERROR:.*assert-msg-test.c:.*:.*main.*: assertion failed: (42 < 0)"'; then
fail "__glib_assert_msg does not have assertion message"
fi
fail "__glib_assert_msg does not have assertion message"
fi