information about this package can be found in the README. here is a html-version of the README:
usable, but has rough edges. no documentation yet.
programs to help test styx/9p servers for correct behaviour.
file servers are not hard to write, but there are some corner cases that need to be handled correctly. styxtest checks whether a styxserver (reachable by dial(2)) reacts properly to styx requests. styxtest also checks things that are handled by styxservers.m, not all styx servers use that library.
to use styxtest, run it with an address address as parameter. this will perform only basic tests. several command-line parameters allow you to specify paths that styxtest will perform styx messages on, such as reads, writes, stats. for example:
styxtest net!localhost!1234 nosuchfile does/not/exist createfile newfile createdir newdir file testfile dir testdir
the full table and requirements for the the file (plain file) or directory:
key value --------------------- createfile name of file (not full path!) that does not exist and can be created and removed. createdir like createfile. unremovablefile path to plain file that exists and cannot be removed. unremovabledir like unremovablefile. nosuchfile path to non-existent file. file plain existing file that has read permissions. filero plain existing file with read-only (not write) permission. filew plain existing file with at least write permission. filex plain existing file with at least read & execute permission. filenoperm plain existing file with no permission. filenonempty plain existing file with read permission of at least 2 bytes. dir existing directory with read permission. dirw existing directory with at least write permission.
some styx servers might need to be tested for extra (sequences of) styx messages. others might need fewer tests. modifying the styxtest.b (the source code) seems the appropriate way to do this. each test is very straight-forward in limbo code, implementing a language to write tests in (specifying styx messages to write and expect) does not seem worth the trouble.
modify "mkconfig" or make sure $ROOT is set. run "mk" and "mk install" to compile and install the files.
when building from within inferno, insert SYSHOST=Inferno and ROOT= in the mk invocations to override the values in the mkconfig.
the latest version can be found at:
http://www.ueber.net/code/r/styxtest
all files are in the public domain. this code has been written by mechiel lukkien, reachable at mechiel@ueber.net.
to clone & pull:
hg clone http://www.ueber.net/hgsrv/styxtest/
hg clone static-http://www.ueber.net/who/mjl/hg/styxtest/
download a snapshot of the latest version: styxtest-1.tgz.
the files in the latest revision can be found at /hg/styxtest/files/tip/. a specific revision can be access by replacing "tip" with the revision number, (partial) nodeid or tag name. a few direct links to useful files in the latest revision:
| rev | nodeid | when | diff | why |
|---|---|---|---|---|
| 1 | 5b67295df87e | 14 months | diff | use dial.m, add mkconfig, drop dependency on "util". |
| 0 | 560e190dafa8 | 2 years | - | welcome styxtest, to test for proper styx responses from styx servers. |