Skip to content

Smoke testing infra for all utilities in the FreeBSD base system (made as a part of Google Summer of Code '17)

License

Notifications You must be signed in to change notification settings

shivansh/smoketestsuite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Smoke testing infra for all utilities in the FreeBSD base system (made as a part of Google Summer of Code '17)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published