gavin 5df68102bc test of index entry with colon 7 lat temu
..
infodir 5df68102bc test of index entry with colon 7 lat temu
Infokey-config 08bf6a0942 revert last revision 9 lat temu
Init-inter.inc 805b6142ea commit change use : as path sep 8 lat temu
Init-test.inc 08bf6a0942 revert last revision 9 lat temu
README 08bf6a0942 revert last revision 9 lat temu
Timeout-test.inc 08bf6a0942 revert last revision 9 lat temu
adjust-anchors.sh 08bf6a0942 revert last revision 9 lat temu
all-only.sh 08bf6a0942 revert last revision 9 lat temu
anchor-positions.sh 08bf6a0942 revert last revision 9 lat temu
body-start.sh 08bf6a0942 revert last revision 9 lat temu
c-u-m-x-scroll-forward.sh 08bf6a0942 revert last revision 9 lat temu
cr-tag-table.sh 08bf6a0942 revert last revision 9 lat temu
dir-3-menus.sh 08bf6a0942 revert last revision 9 lat temu
dir-dangling-entry.sh a0cac5f2b1 don't fall back to dir node 8 lat temu
dir-entry-to-subdir.sh 08bf6a0942 revert last revision 9 lat temu
dir-file-index.sh 08bf6a0942 revert last revision 9 lat temu
dir-file-menu.sh 08bf6a0942 revert last revision 9 lat temu
dir-file-no-menu.sh 08bf6a0942 revert last revision 9 lat temu
dir-file-node.sh 08bf6a0942 revert last revision 9 lat temu
dir-file-sloppily.sh 08bf6a0942 revert last revision 9 lat temu
dir-file.sh 08bf6a0942 revert last revision 9 lat temu
dir-menus-sloppily.sh 08bf6a0942 revert last revision 9 lat temu
dir-merge.sh a68cdbca6e dir-merge.sh test 8 lat temu
dir-no-file.sh 08bf6a0942 revert last revision 9 lat temu
dir-nondir.sh 08bf6a0942 revert last revision 9 lat temu
dir.sh 08bf6a0942 revert last revision 9 lat temu
empty-infopath.sh 08bf6a0942 revert last revision 9 lat temu
empty.sh 08bf6a0942 revert last revision 9 lat temu
end-of-line.sh 08bf6a0942 revert last revision 9 lat temu
file-file-with-dot.sh 08bf6a0942 revert last revision 9 lat temu
file-index-colons.sh 5df68102bc test of index entry with colon 7 lat temu
file-index.sh 08bf6a0942 revert last revision 9 lat temu
file-node-with-dot.sh 08bf6a0942 revert last revision 9 lat temu
file-node.sh 08bf6a0942 revert last revision 9 lat temu
file-nodes.sh 08bf6a0942 revert last revision 9 lat temu
file-relative-path.sh 08bf6a0942 revert last revision 9 lat temu
file.sh 08bf6a0942 revert last revision 9 lat temu
gc-split.sh 08bf6a0942 revert last revision 9 lat temu
goal-column.sh 08bf6a0942 revert last revision 9 lat temu
goto-quoted.sh 08bf6a0942 revert last revision 9 lat temu
help.sh 08bf6a0942 revert last revision 9 lat temu
inc-sea-bs-after-strip-cr.sh 08bf6a0942 revert last revision 9 lat temu
inc-sea-forward-nonregex.sh 08bf6a0942 revert last revision 9 lat temu
inc-sea-forward.sh 08bf6a0942 revert last revision 9 lat temu
inc-sea-history.sh 08bf6a0942 revert last revision 9 lat temu
inc-sea-insensitive.sh 08bf6a0942 revert last revision 9 lat temu
index-apropos.sh 08bf6a0942 revert last revision 9 lat temu
index-completing.sh 08bf6a0942 revert last revision 9 lat temu
index-long-nodeline.sh 08bf6a0942 revert last revision 9 lat temu
index-search.sh 08bf6a0942 revert last revision 9 lat temu
index.sh 08bf6a0942 revert last revision 9 lat temu
last-no-history.sh 08bf6a0942 revert last revision 9 lat temu
last-node-not-top-level.sh 08bf6a0942 revert last revision 9 lat temu
menu-sequence.sh 08bf6a0942 revert last revision 9 lat temu
next-quoted.sh 08bf6a0942 revert last revision 9 lat temu
no-file.sh 08bf6a0942 revert last revision 9 lat temu
no-index.sh 08bf6a0942 revert last revision 9 lat temu
node-no-file.sh e23d36587e "info --output -" to output dir node 9 lat temu
node-target 08bf6a0942 revert last revision 9 lat temu
quoted-label-and-target.sh 08bf6a0942 revert last revision 9 lat temu
quoted-label-as-target.sh 08bf6a0942 revert last revision 9 lat temu
quoted-manual-in-label.sh 08bf6a0942 revert last revision 9 lat temu
quoted-manual-in-target.sh 08bf6a0942 revert last revision 9 lat temu
quoted-target.sh 08bf6a0942 revert last revision 9 lat temu
relative-path.sh 08bf6a0942 revert last revision 9 lat temu
relative-reference.sh 08bf6a0942 revert last revision 9 lat temu
replace-viewed.sh 08bf6a0942 revert last revision 9 lat temu
resize-in-completions.sh 08bf6a0942 revert last revision 9 lat temu
search-after-tag.sh 08bf6a0942 revert last revision 9 lat temu
search-empty.sh 08bf6a0942 revert last revision 9 lat temu
search-skip-screen.sh 08bf6a0942 revert last revision 9 lat temu
search-split-after-index.sh 2247ed2316 commit test 9 lat temu
spec-file-node.sh 08bf6a0942 revert last revision 9 lat temu
spec-menu.sh 08bf6a0942 revert last revision 9 lat temu
spec-no-node.sh 08bf6a0942 revert last revision 9 lat temu
split-file-menu.sh 08bf6a0942 revert last revision 9 lat temu
split-footnotes.sh 08bf6a0942 revert last revision 9 lat temu
split-index.sh 08bf6a0942 revert last revision 9 lat temu
split.sh 08bf6a0942 revert last revision 9 lat temu
star-note-non-whitespace.sh 08bf6a0942 revert last revision 9 lat temu
tab-argument.sh 08bf6a0942 revert last revision 9 lat temu
tab-no-xref.sh 08bf6a0942 revert last revision 9 lat temu
tab-skip-node.sh 08bf6a0942 revert last revision 9 lat temu
tab.sh 08bf6a0942 revert last revision 9 lat temu
where-dir-file.sh 08bf6a0942 revert last revision 9 lat temu
window-split-dir.sh 08bf6a0942 revert last revision 9 lat temu
xref-across-lines.sh 08bf6a0942 revert last revision 9 lat temu
xref-to-anchor.sh 08bf6a0942 revert last revision 9 lat temu

README

This directory contains shell scripts used as tests for Info. They are
listed in "info/Makefile.am" and will usually be run with "make check".
It should be possible to run a test on its own by running it at the
command line and checking the return value, e.g.

bash $t/goto-quoted.sh
bash $echo $?
1

shows a test failure.

The tests fall into two categories: tests of non-interactive and
interactive operation.

New tests can be created by copying existing ones. Each test should
start with the lines

srcdir=${srcdir:-.}
. $srcdir/t/Init-test.inc

to allow running at the command line, or with either an in-source or
out-of-source build with "make check". Tests of interactive operation
should follow with the line.

. $t/Init-inter.inc

Any interactive test should also finish with

. $t/Cleanup.inc

to cleanup temporary files and spawned processes. This shell snippet
will exit with whatever the value of RETVAL is, so you can set the
exit status of the script indicating success or failure.

Tests of interactive operation
------------------------------

These use the "pseudotty" program in the info subdirectory, which
creates a pseudo-terminal for the input and output of the program.
This allows the program to happily enter interactive operation (its standard
file descriptors pass the isatty library function) and avoids affecting
the output of the terminal the test was invoked from. pseudotty reads and
discards all input on its stdin, and passes through any bytes read on
its control channel into the pseudo-terminal. It prints the name of the
pseudoterminal slave device on standard output.

(test script)
^ |
| `-control----> pseudotty (master) <---> (slave) stdin/stdout ginfo
`-name of slave-----'

pseudotty will stop running either when killed, or when it exits after
its control channel is closed.

Since ginfo is reading to and writing from the pseudoterminal slave
device, if pseudotty exits before ginfo does, ginfo will exit with an
I/O error.

Many of the tests of interactive operation try to position the cursor
on a cross-reference by various means, follow the reference, and dump the node
reached to a file. (It can be compared with a target file in
info/t/node-target, to check that we ended up where we thought we would.)