YaST2 modules testsuite -- Testsuite details


Testsuite details

Some details about the testsuite possibilities and detailed functions descriptions.

TEST function details

This is a TEST function prototype.
    TEST(term FUNCTION, list INPUT, any DEFAULT);
The FUNCTION can be either term (a function call) or a client call.
    TEST(``(fun(DATA)), [], nil);
    TEST(`(module_write(DATA)), [], nil);
The INPUT can be anything between empty list [] and the full list of [READ, WRITE, EXEC]. For details about INPUT maps format see the dummy agent documentation. The READ, WRITE, EXECUTE and DEFAULT values are used only, if the module uses SCR(`(Read|Write|Execute)(...)). Than values from READ, WRITE, EXECUTE maps are returned for corresponding calls. The DEFAULT is returned by SCR(`Read(...)) if the path is not found in the INPUT. SCR(`Write(...)) returns true and SCR(`Execute(...)) returns 0 if path is not found.

The maps can also be a list of maps, which means that particular map would be used on the n-th agent call. Again, see the dummy agent documentation regarding this feature.

Testsuite uses a dummy agent for this simulation, so for details on SCR simulation take a look at the dummy agent documentation.

DUMPFILE function

Dump the given file to the log.
The prefix is "File".
    DUMPFILE(string filename);

DUMP function

Dump the variable contents (any data) to the log.
The prefix is "Dump".
    DUMP(any output);

Possible log outputs

  • Dir
  • Read
  • Write
  • Execute
  • Return
  • Dump
  • File
  • Log
SCR(Dir()) call
SCR(Read()) call
SCR(Write()) call
SCR(Execute()) call
Function return value
Variable contents
File contents
Log output

Environment control

If anything fails, you can set an environment variable Y2TESTSUITE to 1 and see the whole y2log output in the testsuite output.

Example:

    bash$ Y2TESTSUITE=1 make check
    ...