LSB Distro Testing, Redux

A while back, I posted a set of instructions on how to test a Linux distribution for LSB compliance. With the 3.1 update, testing has gotten a lot easier.

The most notable enhancement in the update is the LSB Distribution Test Kit Manager, or “DTK Manager” for short. This is a framework which controls the execution of the entire test suite and collecting the results.

So, it’s time to update the instructions.

First of all, as before, your distribution must ship a few things. There must be a “lsb” package, which depends on everything required by the LSB; if it’s not installed by default, you will need to install it. Your distribution must have a facility for installing RPM packages; this will usually either be RPM itself, or a converter such as alien. (The alien utility is used mostly by Debian-based systems, such as Debian, Xandros, or Ubuntu.) Once those are in place, you should install the “Xvfb” or “xvfb” package provided by your distribution. Since Xvfb is a part of X.org, it is almost always available.

When your system is ready, download and install the “lsb-dtk-manager” package, found on the Linux Foundation’s download page. Several bundles are available; find the one that matches the architecture of the distribution you are testing. You may use the “lsb-dist-testkit-manager” or “lsb-dist-testkit” tarballs. Once the tarball is downloaded, unpack it, change to the directory it creates, and run the install.sh script.

After install.sh is done, start DTK Manager. This is done with the following command:

/opt/lsb/test/manager/bin/lsb-tef-start.sh [port-number]

This will start the manager back end, and attempt to run a browser to present the user interface. If this doesn’t work, point a browser at the port number you gave the script. The port number defaults to 8888 if you don’t give one.

If this has all worked, you will see a welcome page in your browser. Click “Get Certified”, fill in the information it requests, such as your name and the name of your distribution; this information will be stored in the test results. Then click “Run tests”.

And that’s it! The tests will take quite a while to run; the browser will display a status window. You can close the browser and do other things while the tests runs; point the browser back at the DTK Manager port and click “Execution” to see progress.

When the tests are done running, you will be presented with a results page, which tells you how the tests went. You can fix any problems you find and re-run the tests by going back to the “Get Certified” link. If you pass most tests and fail only a few, you can use “Custom Tests” to run just the test suites with failures.

Of course, you can still run the tests the old way if you prefer; the journals are all that we need for certification. Give the new DTK Manager a try, though, to see if it’s easier.

It’s certainly made my job easier. Besides the ease with which the tests are run (meaning fewer requests for help from testers), it’s possible to completely automate test runs, which will ensure that we can test the next release of the LSB more extensively and learn about problems sooner in the development process.

Like what you see? Thank the Insitute for System Programming at the Russian Academy of Sciences. They’ve done an excellent job.