The set of introduced changes demonstrate a basic structure of tests
which are generated by an automation tool [1]. These tests lay the
guidelines on which future (generated) tests will be based upon.
Utilities covered -
- chflags(1)
- mkdir(1)
- rcp(1)
- rmdir(1)
The aim is to generate very basic amount of test coverage for all the
utilities in the base system. After all the utilities are covered, these
test scripts can then be manually updated.
A basic structure of testcases in a generated test -
- invalid_usage : Verifies the behavior of a utility when an invalid usage is performed for a supported option.
- ($option)_flag: Verifies the behavior of a utility when a valid usage is performed for a supported option - $option.
- no_arguments : Verifies the behavior of a utility when it is used without any supported options.
Quoting @brooks on the purpose of having a minimal test coverage -
When replacing major toolchain components, it's quite easy to subtlety
break the startup code in layout or obscure-feature dependent ways. I'm
looking absolute minimum validation of startup. If that's a real test
great, but touching every non-contrib program would be a good start.
This project idea was borne out of frustration with our extremely poor
breadth of coverage while bringing up a new ABI out of tree.