From: Vladimir Panteleev <notmuch@thecybershadow.net>
Date: Thu, 17 Aug 2017 17:51:42 +0000 (+0000)
Subject: test: Fix T050-new.sh on some Travis CI machines
X-Git-Tag: 0.26_rc0~163
X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=95b82bb326eccbc9a1e683b5764b93795b166ca2;p=notmuch-old

test: Fix T050-new.sh on some Travis CI machines

On some system configurations, setting a breakpoint on the "add_file"
function then issuing "continue" in gdb causes the debugger to
seemingly jump over the add_file invocation. This results in a test
failure, as the "Handle files vanishing between scandir and add_file"
subtest expects add_file to be called and fail due to the vanishing
file. The compiler optimization level also plays a role - the problem
can be reproduced with CFLAGS having -O2 but not -Og.

This problem was observed manifesting as a test failure on Travis CI
configured with "dist: trusty" and "sudo: false". It was not
reproducible on a local Docker image of Travis' runtime environment,
so Travis' virtualization infrastructure likely plays a role as well.

* T050-new.sh: Breakpoint notmuch_database_add_message instead of
  add_file to the same effect, and avoid bad gdb behaviour on Travis
  CI.

Amended by db:

	s/notmuch_database_add_message/notmuch_database_index_file/

Somehow the wrapper function doesn't work as a breakpoint; perhaps due
to inlining.
---

diff --git a/test/T050-new.sh b/test/T050-new.sh
index ffa303ef..272ed417 100755
--- a/test/T050-new.sh
+++ b/test/T050-new.sh
@@ -309,7 +309,7 @@ cat <<EOF > notmuch-new-vanish.gdb
 set breakpoint pending on
 set logging file notmuch-new-vanish-gdb.log
 set logging on
-break add_file
+break notmuch_database_index_file
 commands
 shell rm -f ${MAIL_DIR}/vanish
 continue