summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2013-06-06 10:59:29 +0100
committerColin Watson <cjwatson@debian.org>2013-06-06 10:59:29 +0100
commit51e3c207a28e6973d034cab241e3c9af64538d22 (patch)
treeea1ae8e0f9e2d0ebfb92e22a20199ff024b0b497
parent09fe3fa601510d98d1361e07656b3234848a2944 (diff)
* src/tests/man-1, src/tests/man-2, src/tests/man-3,
src/tests/man-4, src/tests/mandb-1, src/tests/mandb-2, src/tests/mandb-3, src/tests/mandb-4, src/tests/mandb-5, src/tests/mandb-6, src/tests/whatis-1, src/tests/zsoelim-1: Export MANPATH separately rather than trying to set it just for the 'run' function. The latter approach does not seem to work reliably in FreeBSD's /bin/sh. * src/tests/testlib.sh: Stop exporting MANPATH here.
-rw-r--r--ChangeLog11
-rwxr-xr-xsrc/tests/man-15
-rwxr-xr-xsrc/tests/man-24
-rwxr-xr-xsrc/tests/man-35
-rwxr-xr-xsrc/tests/man-49
-rwxr-xr-xsrc/tests/mandb-15
-rwxr-xr-xsrc/tests/mandb-214
-rwxr-xr-xsrc/tests/mandb-311
-rwxr-xr-xsrc/tests/mandb-48
-rwxr-xr-xsrc/tests/mandb-58
-rwxr-xr-xsrc/tests/mandb-65
-rw-r--r--src/tests/testlib.sh1
-rwxr-xr-xsrc/tests/whatis-114
-rwxr-xr-xsrc/tests/zsoelim-15
14 files changed, 60 insertions, 45 deletions
diff --git a/ChangeLog b/ChangeLog
index 3087111a..b56236d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Thu Jun 6 10:57:17 BST 2013 Colin Watson <cjwatson@debian.org>
+
+ * src/tests/man-1, src/tests/man-2, src/tests/man-3,
+ src/tests/man-4, src/tests/mandb-1, src/tests/mandb-2,
+ src/tests/mandb-3, src/tests/mandb-4, src/tests/mandb-5,
+ src/tests/mandb-6, src/tests/whatis-1, src/tests/zsoelim-1: Export
+ MANPATH separately rather than trying to set it just for the 'run'
+ function. The latter approach does not seem to work reliably in
+ FreeBSD's /bin/sh.
+ * src/tests/testlib.sh: Stop exporting MANPATH here.
+
Thu Jun 6 09:37:46 BST 2013 Colin Watson <cjwatson@debian.org>
* configure.ac: Use BSD layout on *-*bsd* (e.g. FreeBSD), not just
diff --git a/src/tests/man-1 b/src/tests/man-1
index 7297aa1b..8c8d6190 100755
--- a/src/tests/man-1
+++ b/src/tests/man-1
@@ -10,6 +10,8 @@
init
fake_config /usr/local/man /usr/share/man
+MANPATH="$tmpdir/usr/local/man:$tmpdir/usr/share/man"
+export MANPATH
write_page md5sum 1 "$tmpdir/usr/share/man/man1/md5sum.1.gz" \
UTF-8 gz '' 'md5sum \- Debian md5sum manual page'
@@ -22,8 +24,7 @@ cat >"$tmpdir/1.exp" <<EOF
$(pwd -P)/$tmpdir/usr/share/man/man1/md5sum.textutils.1.gz
$(pwd -P)/$tmpdir/usr/share/man/man1/md5sum.1.gz
EOF
-MANPATH="$tmpdir/usr/local/man:$tmpdir/usr/share/man" run $MAN \
- -C "$tmpdir/manpath.config" -aw md5sum >"$tmpdir/1.out"
+run $MAN -C "$tmpdir/manpath.config" -aw md5sum >"$tmpdir/1.out"
expect_pass 'symlinks with matching names win' \
'diff -u "$tmpdir/1.exp" "$tmpdir/1.out"'
diff --git a/src/tests/man-2 b/src/tests/man-2
index ba31645b..a2b773b4 100755
--- a/src/tests/man-2
+++ b/src/tests/man-2
@@ -10,10 +10,12 @@
init
fake_config /usr/share/man
+MANPATH="$tmpdir/usr/share/man"
+export MANPATH
write_page file 1 "$tmpdir/file.1" UTF-8 '' '' 'file \- test'
chmod +x "$tmpdir/file.1"
-PATH="$PATH:$tmpdir" MANPATH="$tmpdir/usr/share/man" run $MAN \
+PATH="$PATH:$tmpdir" run $MAN \
-C "$tmpdir/manpath.config" "$tmpdir/file.1" >/dev/null
code=$?
expect_pass 'executable page on path' 'test "$code" = 0'
diff --git a/src/tests/man-3 b/src/tests/man-3
index 0c81a517..bfd1cc6f 100755
--- a/src/tests/man-3
+++ b/src/tests/man-3
@@ -10,6 +10,8 @@
init
fake_config /usr/share/man
+MANPATH="$tmpdir/usr/share/man"
+export MANPATH
# Force default section order.
cat >>"$tmpdir/manpath.config" <<EOF
@@ -24,8 +26,7 @@ cat >"$tmpdir/1.exp" <<EOF
$(pwd -P)/$tmpdir/usr/share/man/man3p/open.3p.gz
$(pwd -P)/$tmpdir/usr/share/man/man3/open.3pm.gz
EOF
-MANPATH="$tmpdir/usr/share/man" run $MAN \
- -C "$tmpdir/manpath.config" -aw 3p open >"$tmpdir/1.out"
+run $MAN -C "$tmpdir/manpath.config" -aw 3p open >"$tmpdir/1.out"
expect_pass 'exact section matches win' \
'diff -u "$tmpdir/1.exp" "$tmpdir/1.out"'
diff --git a/src/tests/man-4 b/src/tests/man-4
index 33e03a53..f2489184 100755
--- a/src/tests/man-4
+++ b/src/tests/man-4
@@ -71,7 +71,8 @@ expect_pass 'wildcards: -M option: with wildcards: check existing man page II' \
#
# Without wildcards
-export MANPATH="$tmpdir/usr/share/man"
+MANPATH="$tmpdir/usr/share/man"
+export MANPATH
run $MAN -C "$tmpdir/manpath.config" \
-aw manpathx > "$tmpdir/1.out" 2> /dev/null
@@ -88,7 +89,8 @@ expect_pass 'wildcards: MANPATH: without wildcards: check existing man page' \
'diff -u "$tmpdir/1.exp" "$tmpdir/1.out"'
# With wildcards
-export MANPATH="$tmpdir/usr/share/prog/*/man"
+MANPATH="$tmpdir/usr/share/prog/*/man"
+export MANPATH
run $MAN -C "$tmpdir/manpath.config" \
-aw manx > "$tmpdir/1.out" 2> /dev/null
@@ -104,7 +106,8 @@ EOF
expect_pass 'wildcards: MANPATH: with wildcards: check existing man page' \
'diff -u "$tmpdir/1.exp" "$tmpdir/1.out"'
-export MANPATH="$tmpdir/usr/share/prog/[ab]/man"
+MANPATH="$tmpdir/usr/share/prog/[ab]/man"
+export MANPATH
run $MAN -C "$tmpdir/manpath.config" \
-aw whatisx > "$tmpdir/1.out"
diff --git a/src/tests/mandb-1 b/src/tests/mandb-1
index a2cc1748..0037bb4f 100755
--- a/src/tests/mandb-1
+++ b/src/tests/mandb-1
@@ -10,12 +10,13 @@
init
fake_config /usr/share/man
+MANPATH="$tmpdir/usr/share/man"
+export MANPATH
db_ext="$(db_ext)"
write_page test 1 "$tmpdir/usr/share/man/man1/test.1.gz" UTF-8 gz t \
'test \- simple mandb test'
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
echo 'test -> "- 1 1 MTIME A - - gz simple mandb test"' >"$tmpdir/1.exp"
accessdb_filter "$tmpdir/usr/share/man/index$db_ext" >"$tmpdir/1.out"
expect_pass 'simple mandb test' 'diff -u "$tmpdir/1.exp" "$tmpdir/1.out"'
diff --git a/src/tests/mandb-2 b/src/tests/mandb-2
index 5d07b9e9..d212fb5b 100755
--- a/src/tests/mandb-2
+++ b/src/tests/mandb-2
@@ -12,12 +12,13 @@
init
fake_config /usr/share/man
+MANPATH="$tmpdir/usr/share/man"
+export MANPATH
db_ext="$(db_ext)"
write_page fs 5 "$tmpdir/usr/share/man/man5/fs.5.gz" \
UTF-8 gz t 'fs \- fs(5)'
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
cat >"$tmpdir/1.exp" <<EOF
fs -> "- 5 5 MTIME A - - gz fs(5)"
EOF
@@ -28,8 +29,7 @@ next_second
write_page filesystems 5 "$tmpdir/usr/share/man/man5/filesystems.5.gz" \
UTF-8 gz t 'filesystems \- filesystems(5)'
ln -sf filesystems.5.gz "$tmpdir/usr/share/man/man5/fs.5.gz"
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
cat >"$tmpdir/2.exp" <<EOF
filesystems -> "- 5 5 MTIME A - - gz filesystems(5)"
fs -> "- 5 5 MTIME B - - gz filesystems(5)"
@@ -40,8 +40,7 @@ expect_pass 'mandb notices regular file -> symlink' \
next_second
ln -sf fs.5.gz "$tmpdir/usr/share/man/man5/fs2.5.gz"
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
cat >"$tmpdir/3.exp" <<EOF
filesystems -> "- 5 5 MTIME A - - gz filesystems(5)"
fs -> "- 5 5 MTIME B - - gz filesystems(5)"
@@ -55,8 +54,7 @@ next_second
rm -f "$tmpdir/usr/share/man/man5/fs.5.gz"
write_page fs 5 "$tmpdir/usr/share/man/man5/fs.5.gz" \
UTF-8 gz t 'fs \- new fs(5)'
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
cat >"$tmpdir/4.exp" <<EOF
filesystems -> "- 5 5 MTIME A - - gz filesystems(5)"
fs -> "- 5 5 MTIME A - - gz new fs(5)"
diff --git a/src/tests/mandb-3 b/src/tests/mandb-3
index 85ef0c7c..2139094f 100755
--- a/src/tests/mandb-3
+++ b/src/tests/mandb-3
@@ -11,6 +11,8 @@
init
fake_config /usr/share/man
+MANPATH="$tmpdir/usr/share/man"
+export MANPATH
db_ext="$(db_ext)"
NL='
@@ -18,8 +20,7 @@ NL='
write_page test 1 "$tmpdir/usr/share/man/man1/test.1.gz" UTF-8 gz t \
"test \- test page${NL}.br${NL}testlink \- link to test page"
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
cat >"$tmpdir/1.exp" <<EOF
test -> "- 1 1 MTIME A - - gz test page"
testlink -> "- 1 1 MTIME C test - gz "
@@ -29,8 +30,7 @@ expect_pass 'setup' 'diff -u "$tmpdir/1.exp" "$tmpdir/1.out"'
next_second
echo '.so test.1' | gzip -9c >"$tmpdir/usr/share/man/man1/testlink.1.gz"
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
cat >"$tmpdir/2.exp" <<EOF
test -> "- 1 1 MTIME A - - gz test page"
testlink -> "- 1 1 MTIME C test - gz "
@@ -39,8 +39,7 @@ accessdb_filter "$tmpdir/usr/share/man/index$db_ext" >"$tmpdir/2.out"
expect_pass 'broken whatis' 'diff -u "$tmpdir/2.exp" "$tmpdir/2.out"'
next_second
-MANPATH="$tmpdir/usr/share/man" LC_ALL=C run $MANDB \
- -C "$tmpdir/manpath.config" -u \
+LC_ALL=C run $MANDB -C "$tmpdir/manpath.config" -u \
"$tmpdir/usr/share/man" >"$tmpdir/3.out" 2>/dev/null
realtmpdir="$(pwd -P)/$tmpdir"
cat >"$tmpdir/3.exp" <<EOF
diff --git a/src/tests/mandb-4 b/src/tests/mandb-4
index 705008f9..c36458b4 100755
--- a/src/tests/mandb-4
+++ b/src/tests/mandb-4
@@ -11,6 +11,8 @@
init
fake_config /usr/share/man /usr/X11R6/man
+MANPATH="$tmpdir/usr/share/man:$tmpdir/usr/X11R6/man"
+export MANPATH
db_ext="$(db_ext)"
write_page xterm 1x "$tmpdir/usr/X11R6/man/man1/xterm.1x.gz" \
@@ -18,8 +20,7 @@ write_page xterm 1x "$tmpdir/usr/X11R6/man/man1/xterm.1x.gz" \
mkdir -p "$tmpdir/usr/share/man/man1"
ln -s ../../../X11R6/man/man1/xterm.1x.gz \
"$tmpdir/usr/share/man/man1/x-terminal-emulator.1.gz"
-MANPATH="$tmpdir/usr/share/man:$tmpdir/usr/X11R6/man" run $MANDB \
- -C "$tmpdir/manpath.config" -u -q \
+run $MANDB -C "$tmpdir/manpath.config" -u -q \
"$tmpdir/usr/share/man:$tmpdir/usr/X11R6/man"
cat >"$tmpdir/1-share.exp" <<EOF
x-terminal-emulator -> "- 1 1 MTIME B - - gz terminal emulator for X"
@@ -40,8 +41,7 @@ write_page uxterm 1x "$tmpdir/usr/X11R6/man/man1/uxterm.1x.gz" \
'uxterm \- X terminal emulator for Unicode (UTF-8) environments'
ln -sf ../../../X11R6/man/man1/uxterm.1x.gz \
"$tmpdir/usr/share/man/man1/x-terminal-emulator.1.gz"
-MANPATH="$tmpdir/usr/share/man:$tmpdir/usr/X11R6/man" run $MANDB \
- -C "$tmpdir/manpath.config" -u -q \
+run $MANDB -C "$tmpdir/manpath.config" -u -q \
"$tmpdir/usr/share/man:$tmpdir/usr/X11R6/man"
cat >"$tmpdir/2-share.exp" <<EOF
x-terminal-emulator -> "- 1 1 MTIME B - - gz X terminal emulator for Unicode (UTF-8) environments"
diff --git a/src/tests/mandb-5 b/src/tests/mandb-5
index 80313b87..6f82fe5e 100755
--- a/src/tests/mandb-5
+++ b/src/tests/mandb-5
@@ -10,20 +10,20 @@
init
fake_config /usr/share/man /usr/X11R6/man
+MANPATH="$tmpdir/usr/share/man"
+export MANPATH
db_ext="$(db_ext)"
mkdir -p "$tmpdir/usr/share/man/man1"
touch "$tmpdir/usr/share/man/man1/empty.1"
gzip -9 "$tmpdir/usr/share/man/man1/empty.1"
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
# $? is deliberately expanded here.
expect_pass 'empty page' "test $? -eq 0"
next_second
ln -s empty.1.gz "$tmpdir/usr/share/man/man1/empty2.1.gz"
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
# $? is deliberately expanded here.
expect_pass 'symlink to empty page' "test $? -eq 0"
diff --git a/src/tests/mandb-6 b/src/tests/mandb-6
index bce95655..b0ec9aac 100755
--- a/src/tests/mandb-6
+++ b/src/tests/mandb-6
@@ -10,14 +10,15 @@
init
fake_config /usr/share/man
+MANPATH="$tmpdir/usr/share/man"
+export MANPATH
mkdir -p "$tmpdir/usr/share/man/man8"
mkdir -p "$tmpdir/usr/lib/aa-bbb"
write_page test1 8 "$tmpdir/usr/lib/aa-bbb/aa-test1.8.gz" UTF-8 gz t \
'test1 \- testing man page'
ln -s "../../../lib/aa-bbb/aa-test1.8.gz" "$tmpdir/usr/share/man/man8/aa-test1.8.gz"
-MANPATH="$tmpdir/usr/share/man" run $MANDB -C "$tmpdir/manpath.config" -u -q \
- "$tmpdir/usr/share/man"
+run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man"
# $? is deliberately expanded here.
expect_pass 'double free' "test $? -eq 0"
diff --git a/src/tests/testlib.sh b/src/tests/testlib.sh
index f13f5299..c0b86aa2 100644
--- a/src/tests/testlib.sh
+++ b/src/tests/testlib.sh
@@ -2,7 +2,6 @@ failures=0
# Save tests the trouble of exporting variables they set when executing 'run'.
export LC_ALL
-export MANPATH
init () {
tmpdir="tmp-${0##*/}"
diff --git a/src/tests/whatis-1 b/src/tests/whatis-1
index 22fe468a..07b18a5b 100755
--- a/src/tests/whatis-1
+++ b/src/tests/whatis-1
@@ -14,6 +14,8 @@ cat >>"$tmpdir/manpath.config" <<EOF
MANPATH_MAP $tmpdir/usr/bin $tmpdir/usr/share/man
MANPATH_MAP $tmpdir/usr/local/bin $tmpdir/usr/local/man
EOF
+MANPATH="$tmpdir/usr/share/man:$tmpdir/usr/local/man"
+export MANPATH
write_page test 1 "$tmpdir/usr/share/man/man1/test.1.gz" \
UTF-8 gz '' 'test \- /usr/bin/test'
@@ -22,16 +24,14 @@ write_page test 8 "$tmpdir/usr/local/man/man8/test.8.gz" \
mkdir -p "$tmpdir/usr/bin" "$tmpdir/usr/local/bin"
touch "$tmpdir/usr/bin/test" "$tmpdir/usr/local/bin/test"
chmod +x "$tmpdir/usr/bin/test" "$tmpdir/usr/local/bin/test"
-MANPATH="$tmpdir/usr/share/man:$tmpdir/usr/local/man" run $MANDB \
- -C "$tmpdir/manpath.config" -u -q \
+run $MANDB -C "$tmpdir/manpath.config" -u -q \
"$tmpdir/usr/share/man:$tmpdir/usr/local/man"
cat >"$tmpdir/1.exp" <<EOF
test (1) - /usr/bin/test
test (8) - /usr/local/bin/test
EOF
-PATH="$PATH:$tmpdir/usr/bin:$tmpdir/usr/local/bin" \
- MANPATH="$tmpdir/usr/share/man:$tmpdir/usr/local/man" run $WHATIS \
+PATH="$PATH:$tmpdir/usr/bin:$tmpdir/usr/local/bin" run $WHATIS \
-C "$tmpdir/manpath.config" test >"$tmpdir/1.out"
expect_pass 'simple name returns all matches' \
'diff -u "$tmpdir/1.exp" "$tmpdir/1.out"'
@@ -39,8 +39,7 @@ expect_pass 'simple name returns all matches' \
cat >"$tmpdir/2.exp" <<EOF
test (1) - /usr/bin/test
EOF
-PATH="$PATH:$tmpdir/usr/bin:$tmpdir/usr/local/bin" \
- MANPATH="$tmpdir/usr/share/man:$tmpdir/usr/local/man" run $WHATIS \
+PATH="$PATH:$tmpdir/usr/bin:$tmpdir/usr/local/bin" run $WHATIS \
-C "$tmpdir/manpath.config" "$tmpdir/usr/bin/test" >"$tmpdir/2.out"
expect_pass '/usr/bin/test only returns appropriate match' \
'diff -u "$tmpdir/2.exp" "$tmpdir/2.out"'
@@ -48,8 +47,7 @@ expect_pass '/usr/bin/test only returns appropriate match' \
cat >"$tmpdir/3.exp" <<EOF
test (8) - /usr/local/bin/test
EOF
-PATH="$PATH:$tmpdir/usr/bin:$tmpdir/usr/local/bin" \
- MANPATH="$tmpdir/usr/share/man:$tmpdir/usr/local/man" run $WHATIS \
+PATH="$PATH:$tmpdir/usr/bin:$tmpdir/usr/local/bin" run $WHATIS \
-C "$tmpdir/manpath.config" "$tmpdir/usr/local/bin/test" \
>"$tmpdir/3.out"
expect_pass '/usr/local/bin/test only returns appropriate match' \
diff --git a/src/tests/zsoelim-1 b/src/tests/zsoelim-1
index 8ebd8f6a..1c1a3f55 100755
--- a/src/tests/zsoelim-1
+++ b/src/tests/zsoelim-1
@@ -10,6 +10,8 @@
init
fake_config /usr/local/man /usr/share/man
+MANPATH="$tmpdir/usr/local/man:$tmpdir/usr/share/man"
+export MANPATH
cat >"$tmpdir/fake-program" <<EOF
#! /bin/sh
@@ -50,8 +52,7 @@ test3 \- third-level test page
.SH DESCRIPTION
test
EOF
-MANPATH="$tmpdir/usr/local/man:$tmpdir/usr/share/man" run $MAN \
- -C "$tmpdir/manpath.config" test | \
+run $MAN -C "$tmpdir/manpath.config" test | \
grep -v '^\.l[flt] ' >"$tmpdir/1.out"
expect_pass 'test(1) expanded correctly' \
'diff -u "$tmpdir/1.exp" "$tmpdir/1.out"'