DF - Reinstall with IO Before and After (Reliability)

This test uninstalls and reinstalls the drivers for selected devices and runs IO on devices, verifies that no device or driver, except the device under test, has been affected by devices, driver installations, or co-install processes, and verifies that no system resources have been overwritten during a device or driver package installation.

When the test runs the test case that no device or driver, except the device under test, has been affected by devices, driver installations, or co-install processes, it creates two files: preinstallscan.xml and postinstallscan.xml. The preinstallscan.xml file records information about every device before the test starts. After the test completes, it records information about every device in the postinstallscan.xml file. The two files are then examined for differences. You can view the preinstallscan.xml and postinstallscan.xml files by right clicking the Run Test task and then clicking Additional Files on the Results tab in HLK Studio for this test.

This test does the following:

  1. Verifies that the test device and its descendants are not reporting any device problem codes.
  2. Tests I/O on the test device and its descendants using WDTF Simple I/O plugins. See Provided WDTF Simple I/O plug-ins for more information.
  3. Reinstalls the original driver on the test device using IWDTFDriverSetupAction2::UpdateDriver method.
  4. Verifies that the test device and its descendants are not reporting any device problem codes.
  5. Tests I/O on the test device and its descendants using WDTF Simple I/O plugins. See Provided WDTF Simple I/O plug-ins for more information.
  6. Reboots the system if step #3 requires a reboot.
  7. Installs NULL driver on the test device using IWDTFDriverSetupAction2::UnInstallDriverPermanently method Reboots the system if a reboot is required.
  8. Reinstalls the original driver on device under test using IWDTFDriverSetupAction2::UpdateDriver method.
  9. Verifies that the test device and its descendants are not reporting any device problem codes.
  10. Tests I/O on the test device and its descendants using WDTF Simple I/O plugins. See Provided WDTF Simple I/O plug-ins for more information.
  11. Repeats step 1 - 10 several times.
  • Test binary: Devfund_Reinstall_With_IO_BeforeAndAfter.dll
  • Test method: Reinstall_With_IO_Before_And_After

Test details

   
Specifications
  • Device.DevFund.Reliability.BasicReliabilityAndPerformance
  • Device.DevFund.Reliability.DriverInstallUninstallReinstall
  • Device.DevFund.Reliability.DriverUninstallInstallOtherDeviceStability
  • Device.DevFund.Reliability.NoReplacingSysComponents
  • Device.DevFund.DriverFramework.KMDF.Reliability
  • Device.DevFund.DriverFramework.UMDF.Reliability
  • Device.DevFund.ReliabilityDisk.IOCompletionCancellation
  • Devfund.Rollback.Driver
Platforms
  • Windows 10, client editions (x86)
  • Windows 10, client editions (x64)
  • Windows Server 2016 (x64)
Supported Releases
  • Windows 10
  • Windows 10, version 1511
  • Windows 10, version 1607
  • Windows 10, version 1703
  • Windows 10, version 1709
  • Windows 10, version 1803
  • Windows 10, version 1809
  • Windows 10, version 1903
  • Next update to Windows 10
Expected run time (in minutes) 90
Category Scenario
Timeout (in minutes) 1800
Requires reboot false
Requires special configuration true
Type automatic

 

Additional documentation

Tests in this feature area might have additional documentation, including prerequisites, setup, and troubleshooting information, that can be found in the following topic(s):

Running the test

Before you run the test, complete the test setup as described in the test requirements: Device.Fundamentals Reliability Testing Prerequisites.

Troubleshooting

For generic troubleshooting of HLK test failures, see Troubleshooting Windows HLK Test Failures.

For troubleshooting information specific to the Device Fundamentals tests in the HLK and WDK, see Device.DevFund additional documentation.

More information

Parameters

Parameter name Parameter description
DQ A WDTF SDEL query that is used to identify the target device(s) - https://go.microsoft.com/fwlink/?LinkId=232678
TestCycles Number of test cycles
IOPeriod IO period in minutes
Wpa2PskAesSsid Required ONLY if DUT or one of its child devices is a WiFi adapter. Please provide SSID of a WPA2 AES WiFi network that the test can use to test the WiFi adapter. The default is 'kitstestssid'.
Wpa2PskPassword Required ONLY if DUT or one of its child devices is a WiFi adapter. Please provide password of the WPA2 AES WiFi network specified using the Wpa2PskAesSsid parameter. The default is 'password'.
MultiDeviceHardwareIdSdelQueryHardwareID Multi Device SDEL
MultiDeviceInstanceIdSdelWDKDeviceID Device id of DUT
WDTFREMOTESYSTEM Required ONLY if DUT or any of its child devices is a wired NIC that does not have an IPv6 gateway address. If determined to be required, please provide an IPv6 address that the NIC can ping to test network I/O. Eg: fe80::78b6:810:9c12:46cd
DriverVerifierAdditionalDrivers Additional drivers that should have Driver Verifier enabled
DriverVerifierExcludedFlags Placeholder for Driver Verifier flags that may be manually excluded for the test run
DriverVerifierCustomizeConfiguration Specifies that this test may want to automatically update Driver Verifier settings