test: generate run_emacs script once on test startup

Instead of generating auxiliary run_emacs script every time
test_emacs is run, do it once in the beginning of the test.

Also, use absolute paths in the script to make it more robust.
This commit is contained in:
Dmitry Kurochkin 2011-06-28 08:45:10 +04:00 committed by Carl Worth
parent 0cc5483a9c
commit 273d896097

View file

@ -839,11 +839,11 @@ test_done () {
fi fi
} }
test_emacs () { emacs_generate_script () {
# Construct a little test script here for the benefit of the user, # Construct a little test script here for the benefit of the user,
# (who can easily run "run_emacs" to get the same emacs environment # (who can easily run "run_emacs" to get the same emacs environment
# for investigating any failures). # for investigating any failures).
cat <<EOF > run_emacs cat <<EOF >"$TMP_DIRECTORY/run_emacs"
#!/bin/sh #!/bin/sh
export PATH=$PATH export PATH=$PATH
export NOTMUCH_CONFIG=$NOTMUCH_CONFIG export NOTMUCH_CONFIG=$NOTMUCH_CONFIG
@ -867,12 +867,15 @@ fi
# --load Force loading of notmuch.el and test-lib.el # --load Force loading of notmuch.el and test-lib.el
emacs \$BATCH --no-init-file --no-site-file \ emacs \$BATCH --no-init-file --no-site-file \
--directory ../../emacs --load notmuch.el \ --directory "$TMP_DIRECTORY/../../emacs" --load notmuch.el \
--directory .. --load test-lib.el \ --directory "$TMP_DIRECTORY/.." --load test-lib.el \
--eval "(progn \$@)" --eval "(progn \$@)"
EOF EOF
chmod a+x ./run_emacs chmod a+x "$TMP_DIRECTORY/run_emacs"
./run_emacs "$@" }
test_emacs () {
"$TMP_DIRECTORY/run_emacs" "$@"
} }
@ -1000,6 +1003,8 @@ primary_email=test_suite@notmuchmail.org
other_email=test_suite_other@notmuchmail.org;test_suite@otherdomain.org other_email=test_suite_other@notmuchmail.org;test_suite@otherdomain.org
EOF EOF
emacs_generate_script
# Use -P to resolve symlinks in our working directory so that the cwd # Use -P to resolve symlinks in our working directory so that the cwd
# in subprocesses like git equals our $PWD (for pathname comparisons). # in subprocesses like git equals our $PWD (for pathname comparisons).