About the test suites

Most packages provide a test suite. Running the test suite for a newly built package is generally a good idea, as it can provide a nice sanity check that everything compiled correctly. A test suite that passes its set of checks usually proves that the package is functioning as the developer intended. It does not, however, guarantee that the package is totally bug free.

Some test suites are more important than others. For example, the test suites for the core toolchain packages -- GCC, Binutils, and Glibc -- are of the utmost importance due to their central role in a properly functioning system. But be warned, the test suites for GCC and Glibc can take a very long time to complete, especially on slower hardware.

[Note] Note

Experience has shown us that there is little to be gained from running the test suites in Chapter 5. There can be no escaping the fact that the host system always exerts some influence on the tests in that chapter, often causing weird and inexplicable failures. Not only that, the tools built in Chapter 5 are temporary and eventually discarded. For the average reader of this book we recommend not to run the test suites in Chapter 5. The instructions for running those test suites are still provided for the benefit of testers and developers, but they are strictly optional for everyone else.

A common problem when running the test suites for Binutils and GCC is running out of pseudo terminals (PTYs for short). The symptom is a very high number of failing tests. This can happen for several reasons, but the most likely cause is that the host system doesn't have the devpts file system set up correctly. We'll discuss this in more detail later on in Chapter 5.

Sometimes package test suites will give false failures. You can consult the LFS Wiki at http://wiki.linuxfromscratch.org/ to verify that these failures are normal. This applies to all tests throughout the book.