31.3.2 Other Testing

There are other tests that can be performed from within the UEFI shell. These are not testing a specific protocol, but are testing functionality and for other coding practices.

Table 41-Other Shell Testing Procedures
Shell Command Sequence What it tests
Shell> Memmap
Shell> Dh
Shell> Load DriverName.efi
Shell> Memmap
Shell> Dh
Shell> Unload DriverHandle
Shell> Memmap
Shell> Dh
Tests for incorrectly matched up DriverEntryPoint and Unload() functions. This catches memory allocation that is not unallocated, and catches protocols that are installed and not uninstalled, etc.
Shell> Memmap
Shell> Connect DeviceHandle DriverHandle
Shell> Memmap
Shell> Disconnect DeviceHandle DriverHandle
Shell> Memmap
Shell> Reconnect DeviceHandle
Shell> Memmap
Tests for incorrectly matched up Driver Binding Start() and Stop() functions. This catches memory allocation that is not unallocated.
Shell> dh
Shell> Connect DeviceHandle DriverHandle
Shell> dh
Shell> Disconnect DeviceHandle DriverHandle
Shell> dh
Shell> Reconnect DeviceHandle
Shell> dh
Tests for incorrectly matched up Driver Binding Start() and Stop() functions. This catches protocols that are installed and not uninstalled.
Shell> OpenInfo DeviceHandle
Shell> Connect DeviceHandle DriverHandle
Shell> OpenInfo DeviceHandle
Shell> Disconnect DeviceHandle DriverHandle
Shell> OpenInfo DeviceHandle
Shell> Reconnect DeviceHandle
Shell> OpenInfo DeviceHandle
Tests for incorrectly matched up Driver Binding Start() and Stop() functions. This catches protocols that are opened and not closed.