implement Itslib; include "sys.m"; sys: Sys;include "itslib.m";include "env.m"; env: Env; init(): ref Tconfig{ sys = load Sys Sys->PATH; tc := ref Tconfig(-1, sys->fildes(2)); env = load Env Env->PATH; if (env == nil) sys->fprint(sys->fildes(2), "Failed to load %s\n", Env->PATH); else { vstr := env->getenv(ENV_VERBOSITY); mstr := env->getenv(ENV_MFD); if (vstr != nil && mstr != nil) { tc.verbosity = int vstr; tc.mfd = sys->fildes(int mstr); } } if (tc.verbosity >= 0) tc.report(S_STIME, 0, sys->sprint("%d", sys->millisec())); else sys->fprint(sys->fildes(2), "Test is running standalone\n"); return tc;} Tconfig.report(tc: self ref Tconfig, sev: int, verb: int, msg: string){ if (sev < 0 || sev > S_ETIME) { sys->fprint(sys->fildes(2), "Tconfig.report: Bad severity code: %d\n", sev); sev = 0; } if (tc.mfd != nil && sys->fprint(tc.mfd, "%d%d%s\n", sev, verb, msg) <=0) tc.mfd = nil; # Master test process was probably killed} Tconfig.done(tc: self ref Tconfig){ tc.report(S_ETIME, 0, sys->sprint("%d", sys->millisec()));}
implement Itslib;
include "sys.m";
sys: Sys;
include "itslib.m";
include "env.m";
env: Env;
init(): ref Tconfig
{
sys = load Sys Sys->PATH;
tc := ref Tconfig(-1, sys->fildes(2));
env = load Env Env->PATH;
if (env == nil)
sys->fprint(sys->fildes(2), "Failed to load %s\n", Env->PATH);
else {
vstr := env->getenv(ENV_VERBOSITY);
mstr := env->getenv(ENV_MFD);
if (vstr != nil && mstr != nil) {
tc.verbosity = int vstr;
tc.mfd = sys->fildes(int mstr);
}
}
if (tc.verbosity >= 0)
tc.report(S_STIME, 0, sys->sprint("%d", sys->millisec()));
else
sys->fprint(sys->fildes(2), "Test is running standalone\n");
return tc;
}
Tconfig.report(tc: self ref Tconfig, sev: int, verb: int, msg: string)
{
if (sev < 0 || sev > S_ETIME) {
sys->fprint(sys->fildes(2), "Tconfig.report: Bad severity code: %d\n", sev);
sev = 0;
}
if (tc.mfd != nil && sys->fprint(tc.mfd, "%d%d%s\n", sev, verb, msg) <=0)
tc.mfd = nil; # Master test process was probably killed
}
Tconfig.done(tc: self ref Tconfig)
{
tc.report(S_ETIME, 0, sys->sprint("%d", sys->millisec()));
}