mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
test/new: replace use of gdb in vanishing file test
Unlike the similar change in T060-new, no symlink creation is needed here.
This commit is contained in:
parent
9397e7e8eb
commit
efa7f35d4a
1 changed files with 15 additions and 20 deletions
|
@ -380,31 +380,26 @@ chmod u+w ${MAIL_DIR}/.notmuch/xapian/*.*
|
||||||
test_expect_equal "$output" "A Xapian exception occurred opening database"
|
test_expect_equal "$output" "A Xapian exception occurred opening database"
|
||||||
|
|
||||||
|
|
||||||
|
make_shim dif-shim<<EOF
|
||||||
|
#include <notmuch-test.h>
|
||||||
|
|
||||||
|
WRAP_DLFUNC(notmuch_status_t, notmuch_database_index_file, \
|
||||||
|
(notmuch_database_t *database, const char *filename, notmuch_indexopts_t *indexopts, notmuch_message_t **message))
|
||||||
|
|
||||||
|
if (unlink ("${MAIL_DIR}/vanish")) {
|
||||||
|
fprintf (stderr, "unlink failed\n");
|
||||||
|
exit (42);
|
||||||
|
}
|
||||||
|
return notmuch_database_index_file_orig (database, filename, indexopts, message);
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
test_begin_subtest "Handle files vanishing between scandir and add_file"
|
test_begin_subtest "Handle files vanishing between scandir and add_file"
|
||||||
|
|
||||||
# A file for scandir to find. It won't get indexed, so can be empty.
|
# A file for scandir to find. It won't get indexed, so can be empty.
|
||||||
touch ${MAIL_DIR}/vanish
|
touch ${MAIL_DIR}/vanish
|
||||||
|
notmuch_with_shim dif-shim new 2>OUTPUT 1>/dev/null
|
||||||
# Breakpoint to remove the file before indexing
|
|
||||||
cat <<EOF > notmuch-new-vanish.gdb
|
|
||||||
set breakpoint pending on
|
|
||||||
set logging file notmuch-new-vanish-gdb.log
|
|
||||||
set logging on
|
|
||||||
break notmuch_database_index_file
|
|
||||||
commands
|
|
||||||
shell rm -f ${MAIL_DIR}/vanish
|
|
||||||
continue
|
|
||||||
end
|
|
||||||
run
|
|
||||||
EOF
|
|
||||||
|
|
||||||
${TEST_GDB} --batch-silent --return-child-result -x notmuch-new-vanish.gdb \
|
|
||||||
--args notmuch new 2>OUTPUT 1>/dev/null
|
|
||||||
echo "exit status: $?" >> OUTPUT
|
echo "exit status: $?" >> OUTPUT
|
||||||
|
|
||||||
# Clean up the file in case gdb isn't available.
|
|
||||||
rm -f ${MAIL_DIR}/vanish
|
|
||||||
|
|
||||||
cat <<EOF > EXPECTED
|
cat <<EOF > EXPECTED
|
||||||
Unexpected error with file ${MAIL_DIR}/vanish
|
Unexpected error with file ${MAIL_DIR}/vanish
|
||||||
add_file: Something went wrong trying to read or write a file
|
add_file: Something went wrong trying to read or write a file
|
||||||
|
|
Loading…
Reference in a new issue