Regression testing for generated RPM

This forum is dedicated to new ideas, suggestions and proposals.

Regression testing for generated RPM

Postby brejoc » Jan 3rd, '13, 22:40

Hi everyone,

I'd like to ask if it would make sense for Mageia to automatically test generated RPM packages. The idea isn't new. Ubuntu is using regression tests with python-unit for a lot of packages in their distribution: https://wiki.ubuntu.com/MeetingLogs/dev ... ssionTests

I think that using automated regession tests would make the ob QA a lot easier. Failure within packages would surface much faster and a lot of manual checking could be avoided. Don't get me wrong. Every package that would pass the regression tests should still be check by a human. ;)

The following scenario could be used for this. After the package hast been generated, the RPM (or job) is passed to the regession test server. This server spawns a new virtual machine with the Mageia version the package should be checked on. When the machine is booted, the package is installed with all the needed dependencies and the tests are executed. If everyting went smooth, the package might be check again by QA. If one or more tests failed, there is something wrong with package, although the package generation worked, and the maintainer/developer might want to take a look at it again.

To setup this up a combination of hudson ( http://hudson-ci.org ) and vagrant ( http://vagrantup.com ) could be used. vagrant allows to use VirtualBox to boot serveral VM instances from base images that are thrown away after everything is done. This way multiple versions of Mageia could be tested on one well equipped server. One drawback with VirtualBox would be the missing ARM support.

Let's use something like a JSON lib for Python as an example. The package generation was successful. But Python is a highly dynamic language, so some submodule is missing due to a wrong install path, although "import json-xy" of the main module works flawlessly. Without further testing this will only surface when a poor developer uses the submodule or when a second package that depends on that submodule is tested by QA and shows errors or misbehaviours.
Second example, same lib. The JSON lib usually ships with a handy executable to lint check JSON files, but upstream decided to change that. Due to an error in the upstream repo, the executable script file is still there but it's empty or there is gibberish in it. There is no more lint checking possible with this executable. Automatic testing would show this very fast and without someone sitting there, pasting some JSON into a file to feed the executable with it.

Testing UI would be an other story, but I guess you get the idea. ;-)

That do you think about that? I think it would enhance the quality on Mageia in the long run and take some work from QA to find the really tricky bugs.

Regards,

Jochen
brejoc
 
Posts: 4
Joined: Jan 2nd, '13, 15:55

Re: Regression testing for generated RPM

Postby doktor5000 » Jan 3rd, '13, 23:35

brejoc wrote:I'd like to ask if it would make sense for Mageia to automatically test generated RPM packages.


Definitely :D

You may want to bring that topic to mageia-dev mailing list, as usually only very few of the developers visit here, or at least it's really rare.
https://wiki.mageia.org/en/How_to_subsc ... ling_lists
https://www.mageia.org/mailman/listinfo/mageia-dev
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17659
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: Regression testing for generated RPM

Postby brejoc » Jan 3rd, '13, 23:48

Okay, I'll do that tomorrow. Thanks!
brejoc
 
Posts: 4
Joined: Jan 2nd, '13, 15:55

Re: Regression testing for generated RPM

Postby brejoc » Jan 4th, '13, 19:56

Here is the link to the post on the mailing list: https://www.mageia.org/pipermail/mageia ... 21124.html
brejoc
 
Posts: 4
Joined: Jan 2nd, '13, 15:55


Return to Ideas and suggestions

Who is online

Users browsing this forum: No registered users and 1 guest

cron