Wednesday, September 26, 2012

Status report: 2012-09-17 - 2012-09-23

Belated report for last week. I've been so busy this week so far that I even forgot to look at my scheduled to-dos...
  • More work in getting rid of the test case and test program class hierarchies for simplicity reasons. In particular, many different attempts at generalizing the representation of a test's metadata. Most of these attempts lead to dead ends, but finally chose one that might work.
Meh, we are already mid-week and I have exciting news to share! But I'll keep them for the next report. I promise: the above one-liner does not include things that happened since this Monday.

Monday, September 17, 2012

Status report: 2012-09-10 - 2012-09-16

  • Wrote a plan on how to modularize the code that implements the different test interfaces. This would result in a much simpler code base and in a bunch of code being rewritten in C (thus reducing build times).
  • Started work on the previous plan by:
    • Simplifying the test case and test program abstractions to allow dynamic loading. In particular, this gets rid of class hierarchies in favor of just generalizing their implementations. The side-effect of this will be that pretty much all the requirement checks provided by the ATF interface will also be available in the plain interface.
    • Writing some preliminary code for the testers. Have got the basic command line processing implemented and some basic form of plain test case execution.
  • Sent the plan to import Kyua into NetBSD to the NetBSD core@ team for approval.

Friday, September 14, 2012

Modularizing testers as independent binaries

While waiting for an approval to get Kyua into NetBSD (just sent the plan to the core team), I have started to think about how to implement a highly desired feature: that is, the parallel execution of test cases.

Theoretically, this should be relatively simple in most cases because test cases are independent entities and because they are run in an isolated manner precisely to allow this. However, the current implementation of the test case isolation makes this very hard — or rather, extremely hard to get right — as all the logic would be in a single process and would require threads.

I have written a more detailed exposition of the problems to solve and the idea that is floating my mind in the new TestersDesign wiki page. Please take a look!

(Alright, alright: sincerely speaking, the major reason I am considering this restructuration right now is because the new code could be easily written in C and a lot of C++ code could be dropped from Kyua... which could be a major selling point for NetBSD users. But it's true that such a design could make the whole implementation clearer and the addition of parallel execution of tests much simpler!)

Sunday, September 9, 2012

Status report: 2012-09-03 - 2012-09-09

  • Converted the documentation from texinfo to manpages. This was a suggestion raised during the review of the plan to integrate Kyua into NetBSD. I had been thinking about this for a while and the fact that somebody else reminded me of it made me give the change a chance. And after finishing with this, I am quite happy with the results actually.
  • Changed the exit status codes of Kyua to provide different numbers on different types of errors.

Monday, September 3, 2012

Status report: 2012-08-27 - 2012-09-02

  • Wrote a plan on how to integrate Kyua into NetBSD so that it's ready by 7.0.
  • Sent the plan for review to tech-userlevel@.

Saturday, September 1, 2012

Importing Kyua into NetBSD: the plan

After years of development (and long pauses due to "real life"), the time to propose the import of Kyua into NetBSD has come. This needs to happen for two reasons: first, to force me to finish the little details necessary for this transition; and, second, to finally get rid of the old ATF code and allow us to have shiny new features in Kyua. And today is just as good as any other time to start the process.

The detailed plan can be found in the "Kyua: The way into NetBSD" wiki page and the initial discussion will take place in the tech-userlevel@ "Importing Kyua into NetBSD" thread.

Let the commenting start!