man-db/tests/man-db/man-suffixed-extension

54 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
# Test for:
# man chmod.2 => man 2 chmod
# man 'chmod(2)' => man 2 chmod
# man chmod.2p => man 2p chmod
# man 'chmod(2p)' => man 2p chmod
: ${srcdir=.}
. "$srcdir/testlib.sh"
: ${MAN=man}
init
fake_config /usr/share/man
MANPATH="$tmpdir/usr/share/man"
export MANPATH
page_name="chmod"
write_page "$page_name" 1 "$tmpdir/usr/share/man/man1/${page_name}.1.gz" \
UTF-8 gz '' "$page_name \- coreutils $page_name manual page"
write_page "$page_name" 2 "$tmpdir/usr/share/man/man2/${page_name}.2.gz" \
UTF-8 gz '' "$page_name \- $page_name() syscall manual page"
cat >"$tmpdir/2.exp" <<EOF
$abstmpdir/usr/share/man/man2/${page_name}.2.gz
EOF
run $MAN -C "$tmpdir/manpath.config" -aw "$page_name".2 >"$tmpdir/2.out"
expect_pass '"man name.2" is the same as "man 2 name"' \
'diff -u "$tmpdir/2.exp" "$tmpdir/2.out"'
run $MAN -C "$tmpdir/manpath.config" -aw "$page_name(2)" >"$tmpdir/2.out"
expect_pass '"man '\''name(2)'\''" is the same as "man 2 name"' \
'diff -u "$tmpdir/2.exp" "$tmpdir/2.out"'
(
cd "$tmpdir/usr/share/man/man2/"
mv "${page_name}.2.gz" "${page_name}.2p.gz"
)
cat >"$tmpdir/2p.exp" <<EOF
$abstmpdir/usr/share/man/man2/${page_name}.2p.gz
EOF
run $MAN -C "$tmpdir/manpath.config" -aw "$page_name".2p >"$tmpdir/2p.out"
expect_pass '"man name.2p" is the same as "man 2p name"' \
'diff -u "$tmpdir/2p.exp" "$tmpdir/2p.out"'
run $MAN -C "$tmpdir/manpath.config" -aw "$page_name(2p)" >"$tmpdir/2p.out"
expect_pass '"man '\''name(2p)'\''" is the same as "man 2p name"' \
'diff -u "$tmpdir/2p.exp" "$tmpdir/2p.out"'
finish