X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b793b5e976e7ece3588f1d0e69c9fe8234278783..b18f2d1fcd634e79fff9d69bc9b7ddf220755290:/test/common.sh.in diff --git a/test/common.sh.in b/test/common.sh.in index e8660336..d3875a39 100644 --- a/test/common.sh.in +++ b/test/common.sh.in @@ -39,6 +39,9 @@ unset MHLDEBUG MHWDEBUG PAGER XOAUTH SMTPUTF8 #### Set LC_ALL in individual tests as needed. Unset these so #### that we don't depend on user's settings in other tests. unset LANG LC_ALL LC_CTYPE +# Don't have libcurl(3) use the environment's proxy for tests' +# connections to 127.0.0.1. +unset http_proxy ALL_PROXY all_proxy #### Use a test dir for tmp files when MHTMPDIR applies. MHTMPDIR="$MH_TEST_DIR"/Mail @@ -175,6 +178,12 @@ squeeze_lines() { sed '/^$/N;/\n$/D' } +#### Filter that removes blank lines and leading space that lynx inserts. +#### but sufficient for our purpose. +squeeze_whitespace() { + sed '/^$/D; s/^ *//;' +} + #### Filter that converts non-breakable space U+00A0 to an ASCII space. prepare_space() { sed 's/'"`printf '\\302\\240'`"'/ /g' @@ -272,6 +281,36 @@ run_test() { fi } +#### Run a command but don't wait for user input. We switched from script(1) +#### to our own utility, runpty. Check that it makes the command look like +#### it's connected to a terminal below. +#### The single argument is the name of the file in which to place the output. +run_without_input() { + actual=$1 + shift + runpty="${MH_OBJ_DIR}/test/runpty" + + #### Create a command to use as a shell for script. + cmd="${MH_TEST_DIR}/Mail/cmd" + cat >"${cmd}" </dev/null || test_skip "runpty doesn't simulate tty" + rm -f "$actual" +} + #### check_exit() runs the command in $2..., capturing stdout and #### stderr, and then tests its exit status with the test(1) condition #### in $1. If that fails, the captured stdout and stderr are