How do I install the Linux* UEFI Validation (LUV) project?
There's no need to permanently install the LUV project on your machine. A live image is provided in the Downloads section, suitable for writing to a USB flash drive, which can be used to boot your machine and run the tests without needing to modify the existing OS installed on the hard disk. Also, the LUV project will not modify the OS installed in your system in any way.
Running the tests
All tests are executed automatically when you boot from the live image. There's no manual intervention required. As the tests execute, you'll see information messages printed near the bottom of the screen, such as which test is currently executing. Once the tests have completed, an info message will tell you that it's safe to remove the live media.
Analyzing the test results
Once the tests have completed the results will be stored on the live media on a FAT file system partition. Note that it's not currently possible to view the result files while running the LUV project - the USB flash drive containing the live media needs to be opened while running another OS. Usually this is as simple as rebooting the machine you ran the LUV project on and booting whatever OS is installed on the hard disk.
The results of running all the test suites is saved in the
luv-results/ directory as
luv.results. An example would look something like this,
[+] test_create... passed
[+] test_create_empty... passed
[+] test_create_read... passed
[+] test_delete... passed
[+] test_zero_size_delete... passed
[+] test_open_unlink... passed
[+] test_valid_filenames... passed
In addition, each test suite has two results files associated with it, a "raw" version that simply contains the native output of the test suite and a "parsed" version that is used by the LUV project test manager to figure out whether the tests passed or failed, and these are stored in the
luv-results/parsed/ directories, respectively.
If you want to analyze a test failure, it's recommended to look at the "raw" version of the test suite you're interested in, since that will contain useful context for the failure. As an example, say you notice this failure in
[+] method... 2 failures!
To figure out what might be causing the failure take a look at
summary ;SUM method: Method \_SB_.TPM_._STR did not return ACPI_TYPE_STRING.
summary ;SUM method: \_PR_.CPU0._PCT returned a NULL object, and did not return ACPI_TYPE_PACKAGE.