1) use "../libtool" rather than "libtool" to avoid problems
with wacky OS X not-actually-libtool
2) Use libtool on the libtool script, not the binary, so that it
actually does anything
3) Don't use "gdb --ex" since it's apparently new-ish/non-portable.
https://bugzilla.gnome.org/show_bug.cgi?id=684723
+if [ -z "$LIBTOOL" ]; then
+ if [ -f ../libtool ]; then
+ LIBTOOL=../libtool
+ else
+ LIBTOOL=libtool
+ fi
+fi
+
echo_v "Running assert-msg-test"
OUT=$(./assert-msg-test 2>&1) && fail "assert-msg-test should abort"
echo "$OUT" | grep -q '^ERROR:.*assert-msg-test.c:.*:.*main.*: assertion failed: (42 < 0)' || \
echo_v "Running assert-msg-test"
OUT=$(./assert-msg-test 2>&1) && fail "assert-msg-test should abort"
echo "$OUT" | grep -q '^ERROR:.*assert-msg-test.c:.*:.*main.*: assertion failed: (42 < 0)' || \
-msg_test="assert-msg-test"
-if [ -e ".libs/lt-$msg_test" ]; then
- msg_test="lt-$msg_test"
-fi
echo_v "Running gdb on assert-msg-test"
echo_v "Running gdb on assert-msg-test"
-OUT=$(libtool --mode=execute gdb --batch --ex run --ex "set print elements 0" --ex "print (char*) __glib_assert_msg" .libs/$msg_test 2> $error_out) || \
- fail "failed to run gdb"
+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"
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