In the final-system build, you are no longer cross-compiling so it is possible to run package test suites. Running the test suite for a newly built package is a good idea because it can provide a “sanity check” indicating 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. The test suites for GCC and Glibc can take a very long time to complete, especially on slower hardware, but are strongly recommended.
A common issue with running the test suites for Binutils and GCC is
running out of pseudo terminals (PTYs). This can result in a high
number of failing tests. This may happen for several reasons, but the
most likely cause (if you chrooted) is that the host system does not
have the devpts
file system set up
correctly. This issue is discussed in greater detail at http://trac.cross-lfs.org/wiki/faq#no-ptys.
Sometimes package test suites will fail, but for reasons which the developers are aware of and have deemed non-critical. Consult the logs located at http://cross-lfs.org/testsuite-logs/3.0.0-RC1/SYSTEMD/ to verify whether or not these failures are expected. This site is valid for all tests throughout this book.