Test generation tool made as a part of Google Summer of Code '17 with FreeBSD.
Refer the FreeBSD wiki for an overview and updates.
├── deprecated_tests
│ └── ............................:: Tests pertaining to initial test plan
└── src ............................:: Automation tool pertaining to new test plan
├── annotations
│ └── ........................:: Annotation files (generated/user-defined)
├── generated_tests
│ └── ........................:: Generated atf-sh test scripts
├── scripts
│ └── ........................:: Helper scripts
├── add_testcase.cpp ...........:: Testcase generator
├── generate_license.cpp .......:: Customized license generator
├── generate_test.cpp ..........:: Test generator
├── logging.cpp ................:: Logger
├── read_annotations.cpp .......:: Annotation parser
└── utils.cpp ..................:: Index generator
An implementation of the automation tool briefly described here [1][2].
The following diagram summarizes how different components fit with the testcase-generator -
- Boost C++ libraries : The tool was tested to work with the port
boost-all-1.64.0
. - Kyua
NOTE: The tool is yet to be merged in the FreeBSD src, and the status can be tracked here. In case using it before the merge, the contents of src should be copied under <local_FreeBSD_src>/tools/tools/smoketestsuite
before proceeding further.
-
The tool needs to know about the utilities in src which don't already have tests. The list of all such utilities can be generated via -
make fetch_utils
This will generate the file
scripts/utils_list
. -
For generating the tests, execute the following -
make clean make && make run
A few demo tests are located in src/generated_tests.