tests: README: updates README
This commit is contained in:
		
							parent
							
								
									eb821715f7
								
							
						
					
					
						commit
						8e5090d13d
					
				
							
								
								
									
										64
									
								
								tests/README
									
									
									
									
									
								
							
							
						
						
									
										64
									
								
								tests/README
									
									
									
									
									
								
							| @ -1,57 +1,33 @@ | ||||
| The testing suite contains two main trees (plus translations for strings used in | ||||
| the shell scripts): the Bonsai tree and the POSIX tree: | ||||
| The testing suite contains two trees: 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 | ||||
| ├── bonsai/ | ||||
| │   ├── dj.mk | ||||
| │   ├── false.mk | ||||
| │   ├── fop.mk | ||||
| │   └── ... | ||||
| ├── posix/ | ||||
| └── tests.mk | ||||
| 
 | ||||
| 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. | ||||
| The POSIX tests are currently a work-in-progress. Their status in this | ||||
| repository is uncertain. | ||||
| 
 | ||||
| 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]. | ||||
| Both sets of tests also inherit the environment set by the top-level Makefile, | ||||
| which sets the BIN variable to the build/bin directory at the root of the | ||||
| project; therefore, each binary is located at $(BIN)/tool for idiomatic access. | ||||
| 
 | ||||
| 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. | ||||
| Each test contains a set of PHONY targets which are prefixed with the name of | ||||
| the tool being tested and an underscore. The first target is tests, which | ||||
| depends on all the other targets in the test file. These test files are each | ||||
| included in the top Makefile, so they can be called from the root of the | ||||
| repository. This also means that BIN can be set manually so that tests can be | ||||
| run using make(1) inside of the tests directory: | ||||
| 
 | ||||
| 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> | ||||
| 	$ make -f tests.mk BIN=../build/bin dj_tests | ||||
| 
 | ||||
| -- | ||||
| Copyright © 2024 Emma Tebibyte <emma@tebibyte.media> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user