Linux Kernel Gets Fully Automated Test
An anonymous reader writes "The Linux Kernel is now getting automatically tested within 15 minutes of a new version being released, across a variety of hardware and the results are being published for all to see. Martin Bligh
announced this yesterday, running on top of IBM's internal test automation system. Maybe this will enable the kernel developers to keep up with the 2.6 kernel's rapid pace of change. Looks like it caught one new problem with last night's build already ..."
Wouldn't it be nice if Linux had an automated test platform for the kernel?
code generation...
Why has it taken so long?
"The Linux Kernel is now getting automatically tested within 15 minutes of a new version being released"
Would be much better to test it BEFORE a new version is being released, otherwise this is completely useless...
How were the previous kernels being tested? Were sources for improvement/change/modification, bugs and areas requiring refactoring being discovered by chance?
This is good, and long overdue (I'm surprised it hasn't been around for years), but just how much testing is being done? Compiling? Booting? Or are there actual functional and reliability tests which are being performed?
Most projects of any complexity use automated continuous build and testing as a standard development practise.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
automated performance regression tests may be useful too.
Wondering why i am doing so strange posts? I am trying to get a "+5,Flamebait" or "-1,Insightful" rating.
But it can't catch everything - the 1394 bus was screwed in 2.6.11. There are a lot of regressions that show up - and even that healthy cluster of systems will not show every problem.
Sound issues? Older network and SCSI cards? There are a lot of drivers that break, and no one notices it because there is nobody with the hardware testing the -rc or -mm kernels.
Wouldn't it make more sense to package these tools for someone to install on their collection of oddball equipment, and assist in the debugging/testing?
Where's the ARM, MIPS, and SH?
Why can't I mod "-1 Idiot"?
ARM Linux has had something similar in Kautobuild for some time.
Although the testing and building is limited to the ARM platform.
The site also has a whos who thats worh looking at ;-)
...the cross-platform, cross-hardware part? Setting up one machine to build automatically is easy. Setting up a whole bunch of them (and all unique, read administration nightmare) and tie them together to a system, that's quite a bit of work.
Kjella
Live today, because you never know what tomorrow brings
Related projects at OSDL
http://osdl.org/projects/26lnxstblztn/results/
http://developer.osdl.org/cherry/compile/
Red Hat (and probably Novell/SuSe, since they use over one thousand kernel patches) runs a myriad of tests on each of its own kernel builds nightly - and has been doing so for years. On more than just the 3 architectures covered by this test.
That said, pushing tests upstream is a great idea. Just not revolutionary or anything.
I hope they are using code from the Linux testing suite. That piece of work has already formed a nice set of tests. Also, I hope that the kernel is automatically built with many different combinations of options. And with time, I hope this will become better. The more tests, with the more hardware configurations, with the more kernel configurations, with the more types of input data (including many imaginative forms of incorrect input data to test that the kernel handles it gracefully and thwarts attacks based on such methods), the better quality we will have in the kernel, and it is likely that Linux will be unmatched in quality, stability, efficiency (well, maybe not efficiency necessarily), and long uptimes.
With an automated test suite, what happens when a class of bug is discovered to be untested-for? Presumably, the suite is modified to detect it. Then, is the resulting new suite itself subjected to an automated test suite? And, then...[divide-by-zero error...]
Seeing bad movies only encourages them. Watch responsibly
Does this mean we'll get back to 2.6.x releases? Instead of new version of 2.6.x being released as 2.6.x.x every third day?
We should consider keeping the automated test technology under the label, "top secret". The Chinese are aggressively trying to modernize their military. Computer software for coordinating the various pieces of battlefield hardware is integral to Chinese plans for the next-generation of warfare.
One downside is that people can become sloppy if they rely too much in the test suite caching all bugs (it obviously cannot).
Anyway, I think that if put to good use it can be an step forward.
Regarding sharing code with other test projects... I hope they do not! What we need is as much different tests and testing methodologies as we can generate. The more the better, so let's go invent a better wheel!
Martin Bligh announced this yesterday, running on top of IBM's internal test automation system.
Hope he doesn't fall off and hurt himself.
I got to work on part of this system, which IBM calls Autobench, for my senior project at PSU. The system is a highly configurable framework which can download, compile, and run various benchmarks and profilers (for example while compiling a kernel). Its all centrally administered, so IBM can run a battery of tests on a variety of different machines at once.
I think Martin Bligh said that IBM has been using this for a while now, automatically downloading kernels upon release and testing them. The new thing is the regression matrix which is posted to the web. Very cool.
needs work! The latest builds all failed!
Compiling is considered a test?
Let me guess... You're American?
IBM's efforts vis-a-vis Linux are a real eye opener when you look at the scraps that Apple gives back to the open source community after taking so much.
I hope all this translates to easier compilation of linux. I had worked with User Mode Linux a while back, and it takes a trip to hell and back to compile.. you need just the right setup of gcc, config files to get it to compile, which took me forver to get right, and honestly a waste of time.
Years later and finally it is getting some *basic* QA testing done! What will they think of next!
Believe me, if I started murdering people, there would be none of you left.
Um, he's the well known "phrusa troll" that usually only posts in China-related stories.
Sometimes, though, he interjects his posts into unrelated articles.
GWB has been selling all sorts of technology to the chinese. This will end up in their hands so that halliburton can make a buck.
You say it's "completely useless" because you have to wait 15 minutes when a kernel is released.
And this is modded "insightful".
Just get MS virus to work on Linux. Lots of code generation that way.
fact came iNto d0n't feel that
One of the main goals appears to be whether the kernel builds or not. I shouldn't have to tell slashdot that build errors are among the most trivial of OS programming errors. They certainly exist, as the chart shows, but whoever is in charge of this project has a long way to go, by adding real tests of functionality. Consider it job security ;)
I Browse at +4 Flamebait
Open Source Sysadmin
1) the very need for such tests means that current 2.6.x kernels are very unstable - this means that Linux currently does not have any stable version - not good
2) remember Microsoft? they have been always doing nightly builds of Windows since the beginning of the time; the only thing sure is that it did not improve the quality of the code...
You can defy gravity... for a short time
Any other projects out there with similar transparency in their automated testing?
Reliable, repeatable testing is a great way to prevent fixes in one area from causing bugs in another. When I fix A, I generally only test A manually. I don't test every other conceivable code path, even though my fix for A might well impact them.
An automated test for B will catch regressions caused by my fix in A, making it harder to backslide. Backsliding is very expensive because bugs are far removed from their cause. If an automated test sees that changes in A caused a regression in B, the cause is immediately obvious.
It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
http://aegis.sf.net/aegis.sf.net
and it can do a lot of other things too, like making sure that each change has an accompagning test and that all tests pass before anybody else is bothered with that change.
The biggest downside for aegis (as I see it) is that it needs to run on a central development server, it is not server based like CVS or the others(it has a cvs-like interface for reading). But OTOH, would it be so hare to have the kernel developers log into a central compile farm where the linux kernel is developed.
This space is intentionally staring blankly at you
- Hubert
Could use some work on the failure console output.6 ;3H[16;3H [16;
3H[16;3H[16;3H[16;3H[16;3H[16;3H[16;3H[1
(rest of irony deleted due to filter)
I really dunno where you would find a thousand moon keys!
- Download the latest test version of the kernel (or any other program).
- Build it.
- Create a bootable ISO image that uses that kernel, along with testing programs.
- Burn the CD and reboot.
- After the automatic tests complete, send a short summary of the results to a central place where the data could be collected and analyzed.
This would have the benefit of doing basic testing on a wide variety of hardware. Users wouldn't have to change their computers to run the test versions. I know I'd be happy to run such a test at least weekly, if only to help ensure that future versions of Linux run well on my hardware.what about them ?
May not be 100% or even hardcore, but you can go from use case to code if you put in some time. It will also write Java code using your UML diagrams.
It's based off of Eclipse. Check it out if you can.
The Linux Kernel is now getting automatically tested within 15 minutes of a new version being released, across a variety of hardware and the results are being published for all to see.
How about they test it 15 minutes before being released (or longer)? Otherwise you get a seriously broken release and find out 15 minutes later "it's majorly broken".
The Itanium Linux crowd have been doing this for months now:
B uild
http://www.gelato.unsw.edu.au/IA64wiki/KernelAuto
there's even a freaking RSS stream:
http://www.gelato.unsw.edu.au/kerncomp/rss.php
oh well, good to see IBM testing linux on more common-or-garden x86 machines...
Please don't play this card all the time. We hear it way too often in the Free Software/Open Source communities, and it's really quite silly.
The grandparent post asked if it would make more sense to do it another way. That's a perfectly valid and logical question. Either he's right, and it does make more sense, or he's wrong (for a variety of reasons), and it's best to keep it the way it is. None of these require one person to do it incorrectly, and another to do it properly later. With that kind of argument, you're simply defending bad solutions.
In this case, though, it's simply a misleading article summary.
It's about time, that kernel.org that gets a tool lik this, beter late then never ;-)
Mozilla.org tinderboxes working for years now.