itslib man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

ITSLIB(2)							     ITSLIB(2)

NAME
       itslib - test library

SYNOPSIS
       include "itslib.m";
       itslib := load Itslib Itslib->PATH;

       S_INFO: con 0;
       S_WARN: con 1;
       S_ERROR: con 2;
       S_FATAL: con 3;
       S_STIME: con 4;
       S_ETIME: con 5;
       ENV_VERBOSITY: con "ITS_VERBOSITY";
       ENV_MFD: con "ITS_MFD";

       Tconfig: adt {
	    verbosity: int;
	    mfd: ref Sys->FD;
	    report: fn(t: self ref Tconfig, sev: int, verb: int, msg: string);
	    done: fn(t: self ref Tconfig);
       };

       init: fn(): ref Tconfig;

DESCRIPTION
       Itslib  provides	 a simple error reporting facility for tests which can
       be run by itest(1).

       The module must first be initialised by calling init which  returns  an
       adt  containing	the verbosity setting specified for this test run, and
       the message file descriptor used to pass messages back to itest.	 These
       two  items  of  information  are passed to the test via the environment
       variables ITS_VERBOSITY and ITS_MFD.

       Tconf.report(severity,verbosity,message)
	      Report a message with specified severity and verbosity.	Sever‐
	      ity must be one of S_INFO, S_WARN, S_ERROR or S_FATAL for Infor‐
	      mation, warnings, errors and fatal  errors  respectively.	  Ver‐
	      bosity  is an integer between 0 and 9.  For informatory messages
	      (severity S_INFO), the message will only	be  displayed  if  the
	      current verbosity level is greater than or equal to verbosity.

       Tconf.done()
	      Tell  the	 test  system  that all significant work has been com‐
	      pleted.  This useful when for example results are	 displayed  in
	      an  interactive  manner following the test proper. For recording
	      purposes the test will be regarded as having finished when  this
	      function is called, rather than when the test finally exits.

EXAMPLE
       A very simple test program.

       implement T;
       include "sys.m";
	    sys: Sys;
       include "draw.m";
	    draw: Draw;
       include "itslib.m";
	    itslib: Itslib;
	    Tconfig, S_INFO, S_WARN, S_ERROR, S_FATAL: import itslib;

       T: module
       {
	    init:     fn(ctxt: ref Draw->Context, argv: list of string);
       };

       tconf: ref Tconfig;

       init(ctxt: ref Draw->Context, argv: list of string)
       {
	    sys = load Sys Sys->PATH;
	    itslib = load Itslib Itslib->PATH;
	    if (itslib != nil) tconf = itslib->init();
	    report(S_INFO, 5, "Testing addition of 1 + 2");
	    x := 1 + 2;
	    if (x == 3)
		 report(S_INFO, 6, "Addition of 1 + 2 OK");
	    else
		 report(S_ERROR, 5, sys->sprint("Addition of 1 + 2 gave %d", x));
       }

       report(sev: int, verb: int, msg: string)
       {
	    if (tconf != nil) tconf.report(sev, verb, msg);
	    else sys->print("%d:%s\n", sev, msg);
       }

SEE ALSO
       itest(1), sh-test(2)

								     ITSLIB(2)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net