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/>.
|