Considered testing against the GNU specification of the well-known UNIX/Linux command "ls" (List Directory). It includes test architecture design, detailed test design, test case creation, and automated test execution through a CI environment. Note that CI is Failing because some options do not meet the GNU specification, as described below.
ls command for ubuntsu-latest Ubuntu 20.04.3 LTS as of 2020-11
- Detail page https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html#ls-invocation
- https://github.com/coreutils/coreutils/blob/master/src/ls.c
- argument switch
https://github.com/snsk/ls_testing/wiki/test_development
Test Case Execution:
git clone https://github.com/snsk/ls_testing.git
sudo apt install python3-behave
cd ls_testing
behave*Currently IDs 6, 7, 8, 10, 12, and 15 for "Functional_SpecConfirmance_Arguments_Single_WhichFilesAreListed" fail. This does not appear to be working properly for the GNU specification.
Test Case Execution:
git clone https://github.com/snsk/ls_testing.git
pip install pytest
cd ls_testing
pytestTest Case Execution:
git clone https://github.com/snsk/ls_testing.git
pip install randomfiletree
cd ls_testing/HierarchyFuzzing
python3 run_hf.pyTest Case Execution:
git clone https://github.com/snsk/ls_testing.git
pip install randomfiletree
cd ls_testing/Arguments_fuzzing
python3 run_af.pyCI by Github Actions is supported(see /workflows/ls_test.yml). In the example below, fuzzing is executed in parallel with Functional Testing because it takes time.
MIT

