document sorting

This commit is contained in:
Thomas Levine 2016-03-31 18:55:28 +00:00
parent cac691805c
commit 406e5c360c

View File

@ -43,21 +43,8 @@ Urchin depends on the following programs.
* timeout * timeout
* sort * sort
All of the above programs are usually included on base BSD installations. Vanilla installations of modern BSD and GNU systems usually include all
On GNU systems it should be sufficient to install the busybox package. of these programs.
Urchin uses sort to format its output. GNU sort (as of GNU coreutils version
8.24) lacks the ability to sort in lexicographic order, and this feature is
necessary for the output to look right. If your version of sort lacks this
feature, Urchin will try to use one of the following tools for sorting.
* perl
* python
If no acceptable sorting program is available, Urchin will print a warning
and use the incomplete sort that is installed on your system. This is not a
big deal; if your test files all start with alphanumeric letters, the output
should look fine.
## Install ## Install
Urchin is contained in a single file, so you can install it by copying it to a Urchin is contained in a single file, so you can install it by copying it to a
@ -121,14 +108,20 @@ Files are only run if they are executable, and files beginning with `.` are
ignored. Thus, fixtures and libraries can be included sloppily within the test ignored. Thus, fixtures and libraries can be included sloppily within the test
directory tree. The test passes if the file exits 0; otherwise, it fails. directory tree. The test passes if the file exits 0; otherwise, it fails.
urchin looks for files within a directory in the following manner. urchin looks for files within a directory in the following manner,
for file in *; do for file in *; do
do_something_with_test_file $file do_something_with_test_file $file
done done
`*` usually returns files in ASCIIbetical order. On at least some GNU so files are run in whatever order `*` produces. On GNU systems the
systems, it returns files in alphabetic order. order is configured in your
[environment](https://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Sort-does-not-sort-in-normal-order_0021).
Other systems may ignore the locales configured in the environment and
always produce ASCIIbetical order.
Results are always printed in ASCIIbetical order, regardless of what
order the tests ran in.
### Writing cross-shell compatibility tests for testing shell code ### Writing cross-shell compatibility tests for testing shell code