Home | History | Annotate | Line # | Download | only in dist
      1  1.1.1.2  jmmv Changes in version 0.7
      2  1.1.1.2  jmmv ======================
      3  1.1.1.2  jmmv 
      4  1.1.1.2  jmmv Experimental version released on October 18th, 2013.
      5  1.1.1.2  jmmv 
      6  1.1.1.2  jmmv * Made failures from testers more resilent.  If a tester fails, the
      7  1.1.1.2  jmmv   corresponding test case will be marked as broken instead of causing
      8  1.1.1.2  jmmv   kyua to exit.
      9  1.1.1.2  jmmv 
     10  1.1.1.2  jmmv * Added the '--results-filter' option to the 'report-html' command and
     11  1.1.1.2  jmmv   set its default value to skip passed results from HTML reports.  This
     12  1.1.1.2  jmmv   is to keep these reports more succint and to avoid generating tons of
     13  1.1.1.2  jmmv   detail files that will be, in general, useless.
     14  1.1.1.2  jmmv 
     15  1.1.1.2  jmmv * Switched to use Lutok 0.3 to gain compatibility with Lua 5.2.
     16  1.1.1.2  jmmv 
     17  1.1.1.2  jmmv * Issue 69: Cope with the lack of AM_PROG_AR in configure.ac, which
     18  1.1.1.2  jmmv   first appeared in Automake 1.11.2.  Fixes a problem in Ubuntu 10.04
     19  1.1.1.2  jmmv   LTS, which appears stuck in 1.11.1.
     20  1.1.1.2  jmmv 
     21  1.1.1.2  jmmv 
     22      1.1  jmmv Changes in version 0.6
     23      1.1  jmmv ======================
     24      1.1  jmmv 
     25      1.1  jmmv Experimental version released on February 22nd, 2013.
     26      1.1  jmmv 
     27      1.1  jmmv * Issue 36: Changed 'kyua help' to not fail when the configuration file
     28      1.1  jmmv   is bogus.  Help should always work.
     29      1.1  jmmv 
     30      1.1  jmmv * Issue 37: Simplified the syntax() calls in configuration and Kyuafile
     31      1.1  jmmv   files to only specify the requested version instead of also the format
     32      1.1  jmmv   name.  The format name is implied by the file being loaded, so there
     33      1.1  jmmv   is no use in the caller having to specify it.  The version number of
     34      1.1  jmmv   these file formats has been bumped to 2.
     35      1.1  jmmv 
     36      1.1  jmmv * Issue 39: Added per-test-case metadata values to the HTML reports.
     37      1.1  jmmv 
     38      1.1  jmmv * Issue 40: Rewrote the documentation as manual pages and removed the
     39      1.1  jmmv   previous GNU Info document.
     40      1.1  jmmv 
     41      1.1  jmmv * Issue 47: Started using the independent testers in the kyua-testers
     42      1.1  jmmv   package to run the test cases.  Kyua does not implement the logic to
     43      1.1  jmmv   invoke test cases any more, which provides for better modularity,
     44      1.1  jmmv   extensibility and robustness.
     45      1.1  jmmv 
     46      1.1  jmmv * Issue 57: Added support to specify arbitrary metadata properties for
     47      1.1  jmmv   test programs right from the Kyuafile.  This is to make plain test
     48      1.1  jmmv   programs more versatile, by allowing them to specify any of the
     49      1.1  jmmv   requirements (allowed architectures, required files, etc.) supported
     50      1.1  jmmv   by Kyua.
     51      1.1  jmmv 
     52      1.1  jmmv * Reduced automatic screen line wrapping of messages to the 'help'
     53      1.1  jmmv   command and the output of tables by 'db-exec'.  Wrapping any other
     54      1.1  jmmv   messages (specially anything going to stderr) was very annoying
     55      1.1  jmmv   because it prevented natural copy/pasting of text.
     56      1.1  jmmv 
     57      1.1  jmmv * Increased the granularity of the error codes returned by kyua(1) to
     58      1.1  jmmv   denote different error conditions.  This avoids the overload of '1' to
     59      1.1  jmmv   indicate both "expected" errors from specific subcommands and
     60      1.1  jmmv   unexpected errors caused by the internals of the code.  The manual now
     61      1.1  jmmv   correctly explain how the exit codes behave on a command basis.
     62      1.1  jmmv 
     63      1.1  jmmv * Optimized the database schema to make report generation almost
     64      1.1  jmmv   instantaneous.
     65      1.1  jmmv 
     66      1.1  jmmv * Bumped the database schema to 2.  The database now records the
     67      1.1  jmmv   metadata of both test programs and test cases generically, without
     68      1.1  jmmv   knowledge of their interface.
     69      1.1  jmmv 
     70      1.1  jmmv * Added the 'db-migrate' command to provide a mechanism to upgrade a
     71      1.1  jmmv   database with an old schema to the current schema.
     72      1.1  jmmv 
     73      1.1  jmmv * Removed the GDB build-time configuration variable.  This is now part
     74      1.1  jmmv   of the kyua-testers package.
     75      1.1  jmmv 
     76  1.1.1.2  jmmv * Issue 31: Rewrote the Kyuafile parsing code in C++, which results in
     77  1.1.1.2  jmmv   a much simpler implementation.  As a side-effect, this gets rid of the
     78      1.1  jmmv   external Lua files required by 'kyua', which in turn make the tool
     79      1.1  jmmv   self-contained.
     80      1.1  jmmv 
     81      1.1  jmmv * Added caching of various configure test results (particularly in those
     82      1.1  jmmv   tests that need to execute a test program) so that cross-compilers can
     83      1.1  jmmv   predefine the results of the tests without having to run the
     84      1.1  jmmv   executables.
     85      1.1  jmmv 
     86      1.1  jmmv 
     87      1.1  jmmv Changes in version 0.5
     88      1.1  jmmv ======================
     89      1.1  jmmv 
     90      1.1  jmmv Experimental version released on July 10th, 2012.
     91      1.1  jmmv 
     92      1.1  jmmv * Issue 15: Added automatic stacktrace gathering of crashing test cases.
     93      1.1  jmmv   This relies on GDB and is a best-effort operation.
     94      1.1  jmmv 
     95      1.1  jmmv * Issue 32: Added the '--build-root' option to the debug, list and test
     96      1.1  jmmv   commands.  This allows executing test programs from a different
     97      1.1  jmmv   directory than where the Kyuafile scripts live.  See the 'Build roots'
     98      1.1  jmmv   section in the manual for more details.
     99      1.1  jmmv 
    100      1.1  jmmv * Issue 33: Removed the kyuaify.sh script.  This has been renamed to
    101      1.1  jmmv   atf2kyua and moved to the kyua-atf-compat module, where it ships as a
    102      1.1  jmmv   first-class utility (with a manual page and tests).
    103      1.1  jmmv 
    104      1.1  jmmv * Issue 34: Changed the HTML reports to include the stdout and stderr of
    105      1.1  jmmv   every test case.
    106      1.1  jmmv 
    107      1.1  jmmv * Fixed the build when using a "build directory" and a clean source tree
    108      1.1  jmmv   from the repository.
    109      1.1  jmmv 
    110      1.1  jmmv 
    111      1.1  jmmv Changes in version 0.4
    112      1.1  jmmv ======================
    113      1.1  jmmv 
    114      1.1  jmmv Experimental version released on June 6th, 2012.
    115      1.1  jmmv 
    116      1.1  jmmv * Added the 'report-html' command to generate HTML reports of the
    117      1.1  jmmv   execution of any recorded action.
    118      1.1  jmmv 
    119      1.1  jmmv * Changed the '--output' flag of the 'report' command to only take a
    120      1.1  jmmv   path to the target file, not its format.  Different formats are better
    121      1.1  jmmv   supported by implementing different subcommands, as the options they
    122      1.1  jmmv   may receive will vary from format to format.
    123      1.1  jmmv 
    124      1.1  jmmv * Added a '--with-atf' flag to the configure script to control whether
    125      1.1  jmmv   the ATF tests get built or not.  May be useful for packaging systems
    126      1.1  jmmv   that do not have ATF in them yet.  Disabling ATF also cuts down the
    127      1.1  jmmv   build time of Kyua significantly, but with the obvious drawbacks.
    128      1.1  jmmv 
    129      1.1  jmmv * Grouped 'kyua' subcommands by topic both in the output of 'help' and
    130      1.1  jmmv   in the documentation.  In general, the user needs to be aware of
    131      1.1  jmmv   commands that rely on a current project and those commands that rely
    132      1.1  jmmv   purely on the database to generate reports.
    133      1.1  jmmv 
    134      1.1  jmmv * Made 'help' print the descriptions of options and commands properly
    135      1.1  jmmv   tabulated.
    136      1.1  jmmv 
    137      1.1  jmmv * Changed most informational messages to automatically wrap on screen
    138      1.1  jmmv   boundaries.
    139      1.1  jmmv 
    140      1.1  jmmv * Rewrote the configuration file parsing module for extensibility.  This
    141      1.1  jmmv   will allow future versions of Kyua to provide additional user-facing
    142      1.1  jmmv   options in the configuration file.
    143      1.1  jmmv 
    144      1.1  jmmv   No syntax changes have been made, so existing configuration files
    145      1.1  jmmv   (version 1) will continue to be parsed without problems.  There is one
    146      1.1  jmmv   little exception though: all variables under the top-level
    147      1.1  jmmv   'test_suites' tree must be declared as strings.
    148      1.1  jmmv 
    149      1.1  jmmv   Similarly, the '-v' and '--variable' flags to the command line must
    150      1.1  jmmv   now carry a 'test_suites.' prefix when referencing any variables under
    151      1.1  jmmv   such tree.
    152      1.1  jmmv 
    153      1.1  jmmv 
    154      1.1  jmmv Changes in version 0.3
    155      1.1  jmmv ======================
    156      1.1  jmmv 
    157      1.1  jmmv Experimental version released on February 24th, 2012.
    158      1.1  jmmv 
    159      1.1  jmmv * Made the 'test' command record the results of the executed test
    160      1.1  jmmv   cases into a SQLite database.  As a side effect, 'test' now supports a
    161      1.1  jmmv   '--store' option to indicate where the database lives.
    162      1.1  jmmv 
    163      1.1  jmmv * Added the 'report' command to generate plain-text reports of the
    164      1.1  jmmv   test results stored in the database.  The interface of this command is
    165      1.1  jmmv   certainly subject to change at this point.
    166      1.1  jmmv 
    167      1.1  jmmv * Added the 'db-exec' command to directly interact with the store
    168      1.1  jmmv   database.
    169      1.1  jmmv 
    170      1.1  jmmv * Issue 28: Added support for the 'require.memory' test case property
    171      1.1  jmmv   introduced in ATF 0.15.
    172      1.1  jmmv 
    173      1.1  jmmv * Renamed the user-specific configuration file from ~/.kyuarc to
    174      1.1  jmmv   ~/.kyua/kyua.conf for consistency with other files stored in the
    175      1.1  jmmv   ~/.kyua/ subdirectory.
    176      1.1  jmmv 
    177      1.1  jmmv * Switched to use Lutok instead of our own wrappers over the Lua C
    178      1.1  jmmv   library.  Lutok is just what used to be our own utils::lua module, but
    179      1.1  jmmv   is now distributed separately.
    180      1.1  jmmv 
    181      1.1  jmmv * Removed the 'Atffile's from the source tree.  Kyua is stable enough
    182      1.1  jmmv   to generate trustworthy reports, and we do not want to give the
    183      1.1  jmmv   impression that atf-run / atf-report are still supported.
    184      1.1  jmmv 
    185      1.1  jmmv * Enabled logging to stderr for our own test programs.  This makes it
    186      1.1  jmmv   slightly easier to debug problems in our own code when we get a
    187      1.1  jmmv   failing test.
    188      1.1  jmmv 
    189      1.1  jmmv 
    190      1.1  jmmv Changes in version 0.2
    191      1.1  jmmv ======================
    192      1.1  jmmv 
    193      1.1  jmmv Experimental version released on August 24th, 2011.
    194      1.1  jmmv 
    195      1.1  jmmv The biggest change in this release is the ability for Kyua to run test
    196      1.1  jmmv programs implemented using different frameworks.  What this means is
    197      1.1  jmmv that, now, a Kyua test suite can include not only ATF-based test
    198      1.1  jmmv programs, but also "legacy" (aka plain) test programs that do not use
    199      1.1  jmmv any framework.  I.e. if you have tests that are simple programs that
    200      1.1  jmmv exit with 0 on success and 1 on failure, you can plug them in into a
    201      1.1  jmmv Kyua test suite.
    202      1.1  jmmv 
    203      1.1  jmmv Other than this, there have been several user-visible changes.  The most
    204      1.1  jmmv important are the addition of the new 'config' and 'debug' subcommands
    205      1.1  jmmv to the 'kyua' binary.  The former can be used to inspect the runtime
    206      1.1  jmmv configuration of Kyua after parsing, and the latter is useful to
    207      1.1  jmmv interact with failing tests cases in order to get more data about the
    208      1.1  jmmv failure itself.
    209      1.1  jmmv 
    210      1.1  jmmv Without further ado, here comes the itemized list of changes:
    211      1.1  jmmv 
    212      1.1  jmmv * Generalized the run-time engine to support executing test programs
    213      1.1  jmmv   that implement different interfaces.  Test programs that use the ATF
    214      1.1  jmmv   libraries are just a special case of this.  (Issue 18.)
    215      1.1  jmmv 
    216      1.1  jmmv * Added support to the engine to run "plain" test programs: i.e. test
    217      1.1  jmmv   programs that do not use any framework and report their pass/fail
    218      1.1  jmmv   status as an exit code.  This is to simplify the integration of legacy
    219      1.1  jmmv   test programs into a test suite, and also to demonstrate that the
    220      1.1  jmmv   run-time engine is generic enough to support different test
    221      1.1  jmmv   interfaces.  (Issue 18.)
    222      1.1  jmmv 
    223      1.1  jmmv * Added the 'debug' subcommand.  This command allows end users to tweak
    224      1.1  jmmv   the execution of a specific test case and to poke into the behavior of
    225      1.1  jmmv   its execution.  At the moment, all this command allows is to view the
    226      1.1  jmmv   stdout and stderr of the command in real time (which the 'test'
    227      1.1  jmmv   command currently completely hides).
    228      1.1  jmmv 
    229      1.1  jmmv * Added the 'config' subcommand.  This command allows the end user to
    230      1.1  jmmv   inspect the current configuration variables after evaluation, without
    231      1.1  jmmv   having to read through configuration files.  (Issue 11.)
    232      1.1  jmmv 
    233      1.1  jmmv * Removed the test_suites_var function from configuration files.  This
    234      1.1  jmmv   was used to set the value of test-suite-sepecific variables, but it
    235      1.1  jmmv   was ugly-looking.  It is now possible to use the more natural syntax
    236      1.1  jmmv   'test_suites.<test-suite-name>.<variable> = <value>'.  (Issue 11.)
    237      1.1  jmmv 
    238      1.1  jmmv * Added a mechanism to disable the loading of configuration files
    239      1.1  jmmv   altogether.  Needed for testing purposes and for scriptability.
    240      1.1  jmmv   Available by passing the '--config=none' flag.
    241      1.1  jmmv 
    242      1.1  jmmv * Enabled detection of unused parameters and variables in the code and
    243      1.1  jmmv   fixed all warnings.  (Issue 23.)
    244      1.1  jmmv 
    245      1.1  jmmv * Changed the behavior of "developer mode".  Compiler warnings are now
    246      1.1  jmmv   enabled unconditionally regardless of whether we are in developer mode
    247      1.1  jmmv   or not; developer mode is now only used to perform strict warning
    248      1.1  jmmv   checks and to enable assertions.  Additionally, developer mode is now
    249      1.1  jmmv   only automatically enabled when building from the repository, not for
    250      1.1  jmmv   formal releases.  (Issue 22.)
    251      1.1  jmmv 
    252      1.1  jmmv * Fixed many build and portability problems to Debian sid with GCC 4.6.3
    253      1.1  jmmv   and Ubuntu 10.04.1 LTS.  (Issues 20, 21, 26.)
    254      1.1  jmmv 
    255      1.1  jmmv 
    256      1.1  jmmv Changes in version 0.1
    257      1.1  jmmv ======================
    258      1.1  jmmv 
    259      1.1  jmmv Experimental version released on June 23rd, 2011.
    260      1.1  jmmv 
    261      1.1  jmmv This is the first public release of the kyua-cli package.
    262      1.1  jmmv 
    263      1.1  jmmv The scope of this release is to provide functional replacement for the
    264      1.1  jmmv 'atf-run' utility included in the atf package.  At this point, 'kyua'
    265      1.1  jmmv can reliably run the NetBSD 5.99.53 test suite delivering the same
    266      1.1  jmmv results as 'atf-run'.
    267      1.1  jmmv 
    268      1.1  jmmv The reporting facilities of this release are quite limited.  There is
    269      1.1  jmmv no replacement for 'atf-report' yet, and there is no easy way of
    270      1.1  jmmv debugging failing test programs other than running them by hand.  These
    271      1.1  jmmv features will mark future milestones and therefore be part of other
    272      1.1  jmmv releases.
    273      1.1  jmmv 
    274      1.1  jmmv Be aware that this release has suffered very limited field testing.
    275      1.1  jmmv The test suite for kyua-cli is quite comprehensive, but some bugs may
    276      1.1  jmmv be left in any place.
    277