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