test: Fix T050-new.sh on some Travis CI machines
authorVladimir Panteleev <notmuch@thecybershadow.net>
Thu, 17 Aug 2017 17:51:42 +0000 (17:51 +0000)
committerDavid Bremner <david@tethera.net>
Wed, 30 Aug 2017 10:24:44 +0000 (07:24 -0300)
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.

test/T050-new.sh

index ffa303efaceca99cdc7c0d6cbf75a83f6184bb1d..272ed417aa2eb8f4a6f9724b8bb540449f45c7fd 100755 (executable)
@@ -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