Skip to content

Kyua CLI 0.2: Engine with support for different test interfaces and new config and debug commands

Compare
Choose a tag to compare
@jmmv jmmv released this 17 Feb 03:15
· 934 commits to master since this release

Changes in version 0.2

Experimental version released on August 24th, 2011.

The biggest change in this release is the ability for Kyua to run test
programs implemented using different frameworks. What this means is
that, now, a Kyua test suite can include not only ATF-based test
programs, but also "legacy" (aka plain) test programs that do not use
any framework. I.e. if you have tests that are simple programs that
exit with 0 on success and 1 on failure, you can plug them in into a
Kyua test suite.

Other than this, there have been several user-visible changes. The most
important are the addition of the new 'config' and 'debug' subcommands
to the 'kyua' binary. The former can be used to inspect the runtime
configuration of Kyua after parsing, and the latter is useful to
interact with failing tests cases in order to get more data about the
failure itself.

Without further ado, here comes the itemized list of changes:

  • Generalized the run-time engine to support executing test programs
    that implement different interfaces. Test programs that use the ATF
    libraries are just a special case of this. (Issue 18.)
  • Added support to the engine to run "plain" test programs: i.e. test
    programs that do not use any framework and report their pass/fail
    status as an exit code. This is to simplify the integration of legacy
    test programs into a test suite, and also to demonstrate that the
    run-time engine is generic enough to support different test
    interfaces. (Issue 18.)
  • Added the 'debug' subcommand. This command allows end users to tweak
    the execution of a specific test case and to poke into the behavior of
    its execution. At the moment, all this command allows is to view the
    stdout and stderr of the command in real time (which the 'test'
    command currently completely hides).
  • Added the 'config' subcommand. This command allows the end user to
    inspect the current configuration variables after evaluation, without
    having to read through configuration files. (Issue 11.)
  • Removed the test_suites_var function from configuration files. This
    was used to set the value of test-suite-sepecific variables, but it
    was ugly-looking. It is now possible to use the more natural syntax
    'test_suites.. = '. (Issue 11.)
  • Added a mechanism to disable the loading of configuration files
    altogether. Needed for testing purposes and for scriptability.
    Available by passing the '--config=none' flag.
  • Enabled detection of unused parameters and variables in the code and
    fixed all warnings. (Issue 23.)
  • Changed the behavior of "developer mode". Compiler warnings are now
    enabled unconditionally regardless of whether we are in developer mode
    or not; developer mode is now only used to perform strict warning
    checks and to enable assertions. Additionally, developer mode is now
    only automatically enabled when building from the repository, not for
    formal releases. (Issue 22.)
  • Fixed many build and portability problems to Debian sid with GCC 4.6.3
    and Ubuntu 10.04.1 LTS. (Issues 20, 21, 26.)