X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2Ftest-lib.sh;h=126911fb385aacb7aa087ab9c7c099419c7641fd;hp=133fbe4025143ffebf68ddaab47ff582a275dafe;hb=98ee460eaa98f1428aecf03dd39fcf314e6f62c0;hpb=7fcd100a2f4fcc3762f2f73bcca3c30cc971b67a diff --git a/test/test-lib.sh b/test/test-lib.sh index 133fbe40..126911fb 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -73,6 +73,8 @@ if [[ ( -n "$TEST_EMACS" && -z "$TEST_EMACSCLIENT" ) || \ fi TEST_EMACS=${TEST_EMACS:-${EMACS:-emacs}} TEST_EMACSCLIENT=${TEST_EMACSCLIENT:-emacsclient} +TEST_CC=${TEST_CC:-cc} +TEST_CFLAGS=${TEST_CFLAGS:-"-g -O0"} # Protect ourselves from common misconfiguration to export # CDPATH into the environment @@ -94,7 +96,8 @@ _x32="$_x04$_x04$_x04$_x04$_x04$_x04$_x04$_x04" # test_description='Description of this test... # This test checks if command xyzzy does the right thing... # ' -# . ./test-lib.sh +# . ./test-lib.sh || exit 1 + [ "x$ORIGINAL_TERM" != "xdumb" ] && ( TERM=$ORIGINAL_TERM && export TERM && @@ -485,7 +488,7 @@ emacs_deliver_message () (message-goto-body) (insert \"${body}\") $@ - (message-send-and-exit))" + (notmuch-mua-send-and-exit))" # In case message was sent properly, client waits for confirmation # before exiting and resuming control here; therefore making sure @@ -520,7 +523,7 @@ emacs_fcc_message () (message-goto-body) (insert \"${body}\") $@ - (message-send-and-exit))" || return 1 + (notmuch-mua-send-and-exit))" || return 1 notmuch new >/dev/null } @@ -619,9 +622,9 @@ test_expect_equal_json () { # The test suite forces LC_ALL=C, but this causes Python 3 to # decode stdin as ASCII. We need to read JSON in UTF-8, so # override Python's stdio encoding defaults. - output=$(echo "$1" | PYTHONIOENCODING=utf-8 python -mjson.tool \ + output=$(echo "$1" | PYTHONIOENCODING=utf-8 $NOTMUCH_PYTHON -mjson.tool \ || echo "$1") - expected=$(echo "$2" | PYTHONIOENCODING=utf-8 python -mjson.tool \ + expected=$(echo "$2" | PYTHONIOENCODING=utf-8 $NOTMUCH_PYTHON -mjson.tool \ || echo "$2") shift 2 test_expect_equal "$output" "$expected" "$@" @@ -717,6 +720,11 @@ notmuch_date_sanitize () sed \ -e 's/^Date: Fri, 05 Jan 2001 .*0000/Date: GENERATED_DATE/' } + +notmuch_uuid_sanitize () +{ + sed 's/[0-9a-f]\{8\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{12\}/UUID/g' +} # End of notmuch helper functions # Use test_set_prereq to tell that a particular prerequisite is available. @@ -1151,16 +1159,28 @@ test_python() { export LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib export PYTHONPATH=$TEST_DIRECTORY/../bindings/python - # Some distros (e.g. Arch Linux) ship Python 2.* as /usr/bin/python2, - # most others as /usr/bin/python. So first try python2, and fallback to - # python if python2 doesn't exist. - cmd=python2 - [[ ${test_missing_external_prereq_[python2]} == t ]] && cmd=python - (echo "import sys; _orig_stdout=sys.stdout; sys.stdout=open('OUTPUT', 'w')"; cat) \ - | $cmd - + | $NOTMUCH_PYTHON - } +test_ruby() { + export LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib + MAIL_DIR=$MAIL_DIR ruby -I $TEST_DIRECTORY/../bindings/ruby> OUTPUT +} + +test_C () { + exec_file="test${test_count}" + test_file="${exec_file}.c" + cat > ${test_file} + export LD_LIBRARY_PATH=${TEST_DIRECTORY}/../lib + ${TEST_CC} ${TEST_CFLAGS} -I${TEST_DIRECTORY}/../lib -o ${exec_file} ${test_file} -L${TEST_DIRECTORY}/../lib/ -lnotmuch -ltalloc + echo "== stdout ==" > OUTPUT.stdout + echo "== stderr ==" > OUTPUT.stderr + ./${exec_file} "$@" 1>>OUTPUT.stdout 2>>OUTPUT.stderr + sed "s,${PWD},CWD,g" OUTPUT.stdout OUTPUT.stderr > OUTPUT +} + + # Creates a script that counts how much time it is executed and calls # notmuch. $notmuch_counter_command is set to the path to the # generated script. Use notmuch_counter_value() function to get the @@ -1209,14 +1229,14 @@ test_init_ () { } -. ./test-lib-common.sh +. ./test-lib-common.sh || exit 1 emacs_generate_script # Use -P to resolve symlinks in our working directory so that the cwd # in subprocesses like git equals our $PWD (for pathname comparisons). -cd -P "$test" || error "Cannot setup test environment" +cd -P "$test" || error "Cannot set up test environment" if test "$verbose" = "t" then @@ -1305,5 +1325,4 @@ test_declare_external_prereq emacs test_declare_external_prereq ${TEST_EMACSCLIENT} test_declare_external_prereq gdb test_declare_external_prereq gpg -test_declare_external_prereq python -test_declare_external_prereq python2 +test_declare_external_prereq ${NOTMUCH_PYTHON}