61 lines
2.4 KiB
Plaintext
61 lines
2.4 KiB
Plaintext
|
The testing suite contains two main trees (plus translations for strings used in
|
|||
|
the shell scripts): the Bonsai tree and the POSIX tree:
|
|||
|
|
|||
|
.
|
|||
|
├── bonsai
|
|||
|
│ ├── test_env
|
|||
|
│ ├── dj.sh
|
|||
|
│ ├── false.sh
|
|||
|
│ ├── fop.sh
|
|||
|
│ ├── hru.sh
|
|||
|
│ ├── intcmp.sh
|
|||
|
│ ├── mm.sh
|
|||
|
│ ├── strcmp.sh
|
|||
|
│ └── true.sh
|
|||
|
├── locales
|
|||
|
│ ├── en_US.UTF-8
|
|||
|
│ └── tok
|
|||
|
├── posix
|
|||
|
│ ├── bin
|
|||
|
│ │ ├── cat
|
|||
|
│ │ ├── false
|
|||
|
│ │ └── true
|
|||
|
│ └── posix_env
|
|||
|
├── README
|
|||
|
└── test.sh
|
|||
|
|
|||
|
The Bonsai tree tests the functionality of Harakit utilities for regressions and
|
|||
|
other issues relating to compliance to our standards of practice.
|
|||
|
|
|||
|
The POSIX tree tests the use of Harakit utilities in place of the standard usage
|
|||
|
of POSIX utilities. These scripts test the ability of Harakit to comply to POSIX
|
|||
|
standards using its native utilities in shell scripts as a compatibility shim.
|
|||
|
Each shell script in the top directory should contain a set of tests for each
|
|||
|
POSIX utility and be named for that utility. The bin directory should contain
|
|||
|
a set of shim scripts which will be imported into the path as POSIX utilities.
|
|||
|
Each test will compare the behavior of the shim script to the real utility on
|
|||
|
the system.
|
|||
|
|
|||
|
Currently, due to the limitations of POSIX shell quoting, a subset of argument
|
|||
|
parsing is supported: arguments containing characters from POSIX’s Portable
|
|||
|
Filename Character Set [0].
|
|||
|
|
|||
|
The bonsai/test_env and posix/posix_env files contain prerequisite shared
|
|||
|
environments for each of the tests. These scripts both contain lines which set
|
|||
|
the shell to write all commands run in them (-x) and to fail if any command
|
|||
|
fails (-e). See set(1p) for more information.
|
|||
|
|
|||
|
Both sets of tests also inherit the environment set by the test.sh script, which
|
|||
|
sets the $BIN environment variable to the bin directory at the root of the
|
|||
|
project for easy and idiomatic access to the built Harakit binaries. When
|
|||
|
calling the POSIX test scripts, test.sh also sets the variable $realutil to be
|
|||
|
the absolute path to the currently tested utility’s counterpart on the system.
|
|||
|
|
|||
|
[0] <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282>
|
|||
|
|
|||
|
--
|
|||
|
Copyright © 2024 Emma Tebibyte <emma@tebibyte.media>
|
|||
|
|
|||
|
This work is licensed under CC BY-SA 4.0. To view a copy of this license, visit
|
|||
|
<http://creativecommons.org/licenses/by-sa/4.0/>.
|