Skip to content

Latest commit

 

History

History
52 lines (42 loc) · 2.4 KB

README.md

File metadata and controls

52 lines (42 loc) · 2.4 KB

Smoke testing of base utilities (FreeBSD)

Test generation tool made as a part of Google Summer of Code '17 with FreeBSD.
Refer the FreeBSD wiki for an overview and updates.

Project layout

├── 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

Automation tool

An implementation of the automation tool briefly described here [1][2].
The following diagram summarizes how different components fit with the testcase-generator -

Automation-Tool


Dependencies

  • Boost C++ libraries : The tool was tested to work with the port boost-all-1.64.0.
  • Kyua

Instructions

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.