aniketp / smoketestsuite

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

Home Page:https://wiki.freebsd.org/SummerOfCode2017/SmokeTestingOfBaseUtilities

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  • 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 GSoC '17)

https://wiki.freebsd.org/SummerOfCode2017/SmokeTestingOfBaseUtilities

License:BSD 2-Clause "Simplified" License


Languages

Language:C++ 65.1%Language:Shell 23.7%Language:C 9.9%Language:Makefile 1.2%