Sunday, June 17, 2012

New Kyua-based versions of atf-run and atf-report

The plan for the upcoming Kyua 0.5 is to have full feature parity with the obsolete atf-report so that we can finally say goodbye to both atf-run and atf-report. The fact that these tools still exist and are in widespread use prevents us from adding much-needed features to Kyua (for compatibility reasons). It is therefore important to get rid of them as early as possible. We are almost there, except for a few details that need to be addressed in the report generation.

As part of this plan, ATF 0.16 will not build the end-user tools by default: they will still be there, but only built whenever the user asks configure to do so. Users will instead be directed to use Kyua itself.

But, of course, making binaries unreachable by the user is never nice. And this is why, in order to simplify the transition from the ATF tools to Kyua, I have written a bunch of simple scripts that reimplement the major features of atf-run and atf-report on top of Kyua. They don't behave in exactly the same manner, but they are close enough to support the most common command line invocations: in particular, a bunch of our users have atf-run | atf-report ingrained in their minds, so it is important to keep this basic use case working to mitigate their frustration (if any).

With all that said, it is time to say hello to the new kyua-atf-compat module! This new package includes the following tools:
  • atf2kyua(1): A tool to convert existing Atffiles to Kyuafiles. This was previously part of the kyua-cli package, had the name kyuaify.sh and was shipped as a miscellaneous script. It has now been promoted to a first-class tool, with a manual page and functionality tests.
  • atf-run(1): Reimplementation of ATF's runtime engine on top of kyua test.
  • atf-report(1): Reimplementation of ATF's reporting engine on top of kyua report.
Testers welcome, of course. A formal release with its corresponding binary packages will follow soon (before Kyua 0.5 and ATF 0.16) so that we can get some mileage on this new code.

No comments:

Post a Comment