← Back to team overview

firmware-testing-team team mailing list archive

More firmware test suite goodness

 

Hi there,

Over the past couple of days I've been busy added a few more features to
the fwts tool:

ac_adapter	
        This is an interactive test to check if AC power plug/unplug
        events are received.
        
powerbutton
        Another interactive test, checks if power button events are
        received.
        
cstates
        Shamelessly lifted from the Intel firmware test kit and heavily
        modified. Checks for C state sanity across all CPUs and detects
        C state activity. Note that this is H/W and scheduler dependant
        code, so it will often miss C state transitions.  However, it's
        good and doing some level of C state sanity checking.  Note it
        takes ~30 seconds per CPU to run and will consecutively load
        each CPU to 100%.
        
wmi object inspection
        Disassembles the DSDT and SSDTs and inspects a WMI _WDG buffers
        for Windows Management Instrumentation events, methods and
        objects. If it finds any, it will dump out their GUID and give a
        hint on how to plug these into a WMI driver for these (evil)
        mechanisms for handling hotkeys and the like.
        
I'm interested to see what you think of these new features, especially
the WMI object inspection as it's fairly complex code and should be
useful for enablement folks.
        
Also, I've made a few minor changes:

1. Add in -v and --version flags to dump out the version of the tool
2. Dump out test names sorted alphabetically on --show-tests
3. -p (--show-progress) is a little tidier, and shows progress in %
terms per test. This is for those of you who like to have some feedback
while running the tests. 

Just to keep to up to date, the tool now has the following tests:

 ac_adapter    Interactive ac_adapter power test.
 acpiinfo      General ACPI information check.
 apicedge      APIC Edge/Level Check.
 battery       Battery Tests.
 brightness    Interactive LCD brightness test.
 cstates       Check processor C state support.
 dmesg_common  General dmesg common errors check.
 dmi_decode    Test DMI/SMBIOS tables for errors.
 ebda          Validate EBDA region is mapped and reserved in E820
table.
 fadt          Check if FADT SCI_EN bit is enabled.
 fan           Simple Fan Tests.
 hpet_check    HPET configuration test.
 klog          Scan kernel log for errors and warnings.
 lid           Interactive lid button test.
 maxreadreq    Checks firmware has set PCI Express MaxReadReq to a
higher value on non-motherboard devices.
 mcfg          MCFG PCI Express* memory mapped config space.
 mtrr          MTRR validation.
 osilinux      Disassemble DSDT to check for _OSI("Linux").
 power_button  Interactive power_button button test.
 s3            S3 suspend/resume test.
 s4            S4 hibernate/resume test.
 syntaxcheck   Re-assemble DSDT and find syntax errors and warnings.
 version       Gather kernel system information.
 virt          Test CPU Virtualisation Configuration.
 wakealarm     Test ACPI Wakealarm.
 wmi           Extract and analyse Windows Management Instrumentation.

If there are any other tests you'd like to see, please send it to the
list. 

That's all folks!