#! /bin/sh # Ensure that we don't repeatedly rescan when a whatis entry turns into a # broken link. : "${srcdir=.}" # shellcheck source-path=SCRIPTDIR . "$srcdir/testlib.sh" : "${MANDB=mandb}" : "${ACCESSDB=accessdb}" init fake_config /usr/share/man MANPATH="$tmpdir/usr/share/man" export MANPATH db_ext="$(db_ext)" 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" run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man" cat >"$tmpdir/1.exp" < "- 1 1 MTIME A - - gz test page" testlink -> "- 1 1 MTIME C test - gz " EOF accessdb_filter "$tmpdir/usr/share/man/index$db_ext" >"$tmpdir/1.out" expect_files_equal 'setup' "$tmpdir/1.exp" "$tmpdir/1.out" ./fspause echo '.so nonexistent.1' | gzip -9c >"$tmpdir/usr/share/man/man1/testlink.1.gz" run $MANDB -C "$tmpdir/manpath.config" -u -q "$tmpdir/usr/share/man" cat >"$tmpdir/2.exp" < "- 1 1 MTIME A - - gz test page" testlink -> "- 1 1 MTIME C test - gz " EOF accessdb_filter "$tmpdir/usr/share/man/index$db_ext" >"$tmpdir/2.out" expect_files_equal 'broken whatis' "$tmpdir/2.exp" "$tmpdir/2.out" ./fspause LC_ALL=C run $MANDB -C "$tmpdir/manpath.config" -u \ "$tmpdir/usr/share/man" >"$tmpdir/3.out" 2>/dev/null cat >"$tmpdir/3.exp" <