Subject: Re: Plans for importing ATF
To: Hubert Feyrer <hubert@feyrer.de>
From: Julio M. Merino Vidal <jmerino@ac.upc.edu>
List: tech-userlevel
Date: 11/05/2007 14:46:15
On 05/11/2007, at 13:49, Hubert Feyrer wrote:

> On Sun, 4 Nov 2007, Julio M. Merino Vidal wrote:
>> Please raise your concerns quickly.  I probably won't be able to  
>> do all this for the following two weeks, but who knows, maybe I'll  
>> find time ;-)
>
> No concerns, but: what do we do with it?

First of all, I think it's an excellent tool for developers.  Every  
time you touch a specific piece of code, say sh(1), you can easily go  
to the tests tree, run the tests and ensure that you have not broken  
anything.  I have found this procedure an invaluable tool when  
working on projects that do have extensive test suites that can  
easily be executed at will.

Then, it'll also be useful to end users.  For example, after you have  
successfully installed a release on a production machine, you can  
easily see that it passes some basic tests to ensure it 1) remains  
stable and 2) behaves as expected.  At the moment most people just  
"builds a release" as a stress test, but the idea is that you can  
have something more accurate and powerful.  This is specially  
interesting on platforms that see less testing; we all know that  
there is much more (obvious) breakage in them than, say, i386.

As a matter of fact, there are a couple of sh(1) regression tests  
that fail at the moment in current, and I bet they remain unfixed  
because no one actually executed the test suite to discover them  
(which is understandable because it's not trivial to do).  Some other  
tests (the ones for df(1)) pass in i386 but fail in amd64.  I expect  
people will have more pressure in fixing those problems if they can  
be notified of them early enough (or notified at all).

> How does this tie into the NetBSD release process? Will it be ran  
> as part of the daily builds, or is there a dedicated machine that  
> runs this, and posts reports? While I understand that this is  
> technically better than src/regress, how do we solve the problem of  
> actually getting those tests ran on a regular base?

There are no plans on this.  To get started, I'd say "don't branch/ 
release if any test fails".  That'd be something for releng to do,  
but I'd really like to see some machine running the test suites  
periodically, and on as many platforms as possible.  (That's  
basically the point of HTML reports, so that we'd collect them into a  
single machine and easily show them to interestd developers.)

We can sort this out later, once people has experimented with the new  
framework, raised concerns about it, and when we have more tests in  
the suite.

> Oh, and from the 'documentation' department: Is there some "intro"  
> text that shows a software author how to write tests for his software?

I added some example to the web site, but I haven't got the time to  
write documentation.  (There are manual pages for all the tools,  
though.)  Even though, writing tests is very easy I think, so using  
others as an example should not be too problematic for now.  Lame  
excuse for lack of formal documentation, I know, and I'll eventually  
get to writing some.

> (And I'm not going to ask if we're going to make regression tests  
> mandatory for all code that we import in the future now :-)

We should! :-)  But again, this is a policy that can be enforced  
later on when people gets used to the framework and sees the value of  
it.

Cheers,

-- 
Julio M. Merino Vidal <jmerino@ac.upc.edu>