LanMan98 2.70 test suite
========================
For running on a real machine.  Everything here runs on the RISC OS side;
nothing needs a host computer or an emulator.

BenchIO is a separate command-line benchmark in this directory. In a task
window, set the current directory to TestSuite and, with a writable share
already mounted, run:

    Run BenchIO LanMan98::myshare.$ 16

Replace myshare with your mount name; 16 is the test size in MiB (1-128).
BenchIO writes a uniquely named temporary file, closes it, reads it back
through 1 KiB FileSwitch requests while checking every byte, then removes it.
It prints write and verified read MiB/s, including open/close time. Run the
same size and share on both builds for comparison. The read runs immediately
after the write, so server caches may be warm. Do not run it in a directory
containing irreplaceable data if the server has known write faults.


Before you start
----------------
Put the working files on a real disc.  SetUp keeps them beside the suite by
default, which is right if the suite is on a hard disc; if you have put it
on a network or host filesystem, point LM98Test$Scrap at local storage
instead.  A comparison can only tell you the two files differ, not which
side spoiled them, and a scratch area that is itself unreliable will look
exactly like a transfer fault.


Edit SetUp and put your own server details in it.  Then double click
RunAll, or from a task window:

    Obey <Obey$Dir>.RunAll

Results are written to a Results directory beside these files, one file per
step, and a summary is printed as it goes.


What it covers
--------------
  1  Mounting a share and listing it
  2  Listing a subdirectory
  3  Reading files of eight sizes, from one byte to a quarter of a megabyte,
     including the sizes either side of the sixty kilobyte transfer limit
  4  Writing a file back and reading it again
  5  Creating a directory, putting a file in it, removing both
  6  Renaming a file, then deleting it
  7  A directory with more entries than one request returns, listed back
     and counted
  8  Reporting a wrong password

Compare verifies a copy byte by byte and says where the first difference
is, so a read or write that quietly corrupts is caught rather than passing
because the length happened to match.


Running it over SMB2
--------------------
SetUp has a line for it.  With SMB2 selected the same tests run over the
newer protocol; everything above works except printing.  A server that
demands message signing will refuse the connection and say so - that is
expected, signing is not implemented yet.


If it says "Already connected to this share on this server"
----------------------------------------------------------
That share is mounted already - possibly under another name, since the
check is on the server and share rather than on the name you gave.  Run
Cleanup to drop the test mount; if the message persists, something else has
the same share mounted and you should disconnect that, or point SetUp at a
different share.


If something fails
------------------
The error messages now name the actual NT status, so a failure says what
the server objected to rather than "Access denied" for everything.  Note
the step number and the message.
