Named Pipe State

This automated test validates the behavior of all named-pipe operations for each distinct state of a pipe instance.

The test evaluates the following states:

  • NO_INSTANCE. The instance does not exist.

  • SERVER_ONLY. The server side of the instance has been created.

  • CONNECTED. The client side has been created and connects to server.

  • CLIENT_DISCONNECTED. The client disconnects by closing its handle.

  • SERVER_DISCONNECTED. The server disconnects by using the DisconnectNamedPipe API.

The named-pipe operations that the test evaluates include the following:

  • Server CreateNP. Server calls CreateNamedPipe.

  • Server ConnectNP. Server calls ConnectNamedPipe.

  • Server DisconnectNP. Server calls DisconnectNamedPipe.

  • Server CloseHandle. Server calls CloseHandle.

  • Client CreateFile. Client calls CreateFile.

  • Client WaitNP. Client calls WaitNamedPipe.

  • Client CallNP. Client calls CallNamedPipe.

  • Client CloseHandle. Client calls CloseHandle.

  • Server Write. Server calls WriteFile.

  • Server Read. Server calls ReadFile.

  • Client Write. Client calls WriteFile.

  • Client Read. Client calls ReadFile.

The test selects each state in random order and calls each action in random order. If any action moves the pipe away from the current state, the test brings it back to the current state.

Test details

   
Specifications
  • Filter.Driver.FileSystem.MiniFilter
  • Filter.Driver.AntiVirus.MiniFilter
  • Filter.Driver.FileSystem.NamedPipeAndMailSlots
  • Filter.Driver.AntiVirus.NamedPipeAndMailSlots
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) 30
Category Development
Timeout (in minutes) 1800
Requires reboot false
Requires special configuration false
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

For more information about requirements, see File System Testing Prerequisites.

To run this test, follow these steps:

  1. Copy the test binaries that are listed in the File List section locally.

  2. Run the following command: npstate.exe regress

  3. The expected Pass count is 600. Inspect the log file for the presence of +SEV error tags. If you do not find any instances of this tag, the test has passed.

Troubleshooting

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

For troubleshooting information, see Troubleshooting File System Testing.

This test returns Pass or Fail. To review test details, review the test log from Windows Hardware Lab Kit (Windows HLK) Studio.

More information

Command syntax

This test accepts a single parameter that indicates the server host name.

File list

File Location

Npstate.exe

[WTT\TestBinRoot]\NTTEST\BASETEST\kernel\misc\npstate.exe

Ntlog.dll

[WTT\OsBinRoot]\ddk_flat\DTM\tests\ntlog\ntlog.dll

Ntlogger.ini

[WTT\OsBinRoot]\ddk_flat\DTM\tests\ntlog\ntlogger.ini

 

Parameters

Parameter name Parameter description
LLU_LclAdminUser LLU for Execute
LLU_NetAccessOnly LLU for Copy