[OpenAFS-win32-devel] Windows User Simulation Tool

Jeffrey Altman jaltman@secure-endpoints.com
Fri, 11 Sep 2009 11:31:32 -0400


Matt W. Benjamin wrote:
> Restating that again, I must have just not looked at the suite we -do- have closely enough, since it apparently includes everything I thought I was asking about.
> 
> Thanks,
> 
> Matt

To reiterate here what Matt and I discussed privately.  The "suite" is
the test engine.  There are not separate test programs for each file
system operation.  The engine implements a reasonable coverage of
operations performed by the winbench test suite of applications.
Unlike winbench, this test doesn't require that the applications be
installed on the machine or that winbench be supported by the OS
version.  This last item is important because winbench has not be
supported for almost a decade and it doesn't run on recent versions
of Windows.

There is nothing AFS specific about the operations performed by
this engine.  All is does is simulate file system access by
applications.  The engine is capable of testing successful operations
and expected failure conditions for the operations it implements.

The tool was created to assist in forcing race conditions and deadlocks
within the cache manager.   When the tool was developed in 2005 there
were many race conditions and deadlocks that could cause callback thread
to stop accepting file server callbacks.

This tool will only stress a cache manager from the application side.
To make things really fun for the cache manager during testing I run
the stress test against three volumes on three file servers in an
environment where the volumes are "released" and "moved" periodically
while the tests are running.

The test does not perform any AFS specific functionality.  It does
not perform pioctl operations.  It does not create, traverse, or remove
mount points and symlinks.  It cannot automate the testing of token
acquisition.  Those are not operations it was designed for.

It is also not a multi-process lock testing tool.  The winflock test
tool does that.

Something I want but which we do not currently have is a tool that will
parse the output of the SysInternals Process Monitor and construct a
script that can be fed into wintorture.

Jeffrey Altman