Annotation of 43BSD/contrib/spms/man/mann/ptest.n, revision 1.1

1.1     ! root        1: .TH PTEST 1P "22 June 1983"
        !             2: .UC 4
        !             3: .SH NAME
        !             4: ptest \- test a project module
        !             5: .SH SYNOPSIS
        !             6: .B ptest
        !             7: [\fB\-d\fR] [\fB\-F \fRtemplate] [\fB\-P \fRprojectname] [module ...]
        !             8: .SH DESCRIPTION
        !             9: .I Ptest
        !            10: does regression testing on project
        !            11: .I modules.
        !            12: Individual modules can be selected for testing, or if
        !            13: .I ptest
        !            14: is given without
        !            15: .I module
        !            16: arguments, all of the modules in a project are tested. Modules can be
        !            17: programs, libraries, or functions.
        !            18: .PP
        !            19: For each module to be tested there must exist an archive containing
        !            20: a test program, input data, and test results.
        !            21: .I Ptest
        !            22: tests a module by extracting the archive, compiling the test program,
        !            23: executing the test, and comparing the output with expected test results using
        !            24: the
        !            25: .I diff
        !            26: program:
        !            27: .PP
        !            28:                T\fItest\fR  <  I\fItest\fR  |  diff  \-  O\fItest\fR
        !            29: .PP
        !            30: where
        !            31: .I test
        !            32: is the name of the module test. If the test output differs from
        !            33: expected results, the test fails and error diagnostics are saved in a
        !            34: file named `E\fItest\fR'.
        !            35: .PP
        !            36: .B "Compiling The Test Program"
        !            37: .PP
        !            38: If an archive contains a compilable test program,
        !            39: .I ptest
        !            40: uses
        !            41: .I mkmf
        !            42: to edit the file name of the test program into a makefile which is then used by
        !            43: .I make
        !            44: to compile the program. If there are other source code file names in
        !            45: the current working directory, these are also included in the
        !            46: makefile. This mechanism allows experimental versions of functions to
        !            47: be tested since they will override any other occurrences of the
        !            48: functions (e.g. in a library).
        !            49: .PP
        !            50: .B "Creating Test Archives"
        !            51: .PP
        !            52: Archives containing module tests reside in the `test' directory located
        !            53: in the project root directory. Each archive must be created by the
        !            54: .I ar
        !            55: command and given the name \fItest\fR.a where
        !            56: .I test
        !            57: is the name of a module test. These archives include the following files:
        !            58: .IP (a)
        !            59: `T\fItest.lang\fR' test program source code. The file name suffix,
        !            60: .I lang,
        !            61: identifies the programming language in which the test program is written.
        !            62: .IP (b)
        !            63: `T\fItest\fR.sh' shell command script. `T\fItest\fR.sh' executes a test and
        !            64: compares the test output with expected results stored in the archive.
        !            65: If the output matchs expected results, `T\fItest\fR.sh' returns with
        !            66: exit code 0. If the results differ, the exit code should be non-zero.
        !            67: .IP
        !            68: Note: the shell command script must be made executable by doing:
        !            69: .IP
        !            70:                chmod  +x  T\fItest\fR.sh
        !            71: .IP
        !            72: If a `T\fItest\fR.sh' file is not found in the archive,
        !            73: .I ptest
        !            74: executes the following command:
        !            75: .IP
        !            76:        T\fItest\fR  <  I\fItest\fR  |  diff  \-  O\fItest\fR
        !            77: .IP
        !            78: or if there is no `I\fItest\fR' data file:
        !            79: .IP
        !            80:        T\fItest\fR  |  diff  \-  O\fItest\fR
        !            81: .IP (c)
        !            82: `I\fItest\fR' data file for test input.
        !            83: .IP (d)
        !            84: `O\fItest\fR' data file for validated test output. The output from a module
        !            85: test will be compared against the information in this file. If no output
        !            86: is expected, this file should be zero size.
        !            87: .PP
        !            88: The files `T\fItest.lang\fR', `T\fItest\fR.sh', and `I\fItest\fR' may be omitted
        !            89: from the archive.
        !            90: .SH OPTIONS
        !            91: .IP \fB\-d\fR
        !            92: Leave the files that have been extracted from an archive, in the current
        !            93: directory for debugging purposes.
        !            94: .IP "\fB\-F \fItemplate\fR"
        !            95: Specify an alternative makefile
        !            96: .I template
        !            97: file name. The default file name is `t.Makefile'.
        !            98: .IP "\fB\-P \fIprojectname\fR"
        !            99: Specify a project other than the current working project.
        !           100: .SH FILES
        !           101: .ta \w'/usr/new/lib/t.Makefile'u+.5i
        !           102: .nf
        !           103: /usr/new/lib/t.Makefile        Standard test program makefile template.
        !           104: \fIproject\fR/lib/t.Makefile   User-defined test program makefile template.
        !           105: \fIproject\fR/test/*.a Project test archives.
        !           106: \fItest\fR.a   Module test archive.
        !           107: E\fItest\fR    Module error diagnostic file.
        !           108: I\fItest\fR    Module input data file.
        !           109: O\fItest\fR    Module validated output data file.
        !           110: T\fItest\fR    Compiled module test program.
        !           111: T\fItest\fR.sh Module shell command script.
        !           112: T_makefile     Test program makefile.
        !           113: .DT
        !           114: .fi
        !           115: .SH "SEE ALSO"
        !           116: ar(1), chmod(1), diff(1), make(1), mkmf(1P)
        !           117: .SH DIAGNOSTICS
        !           118: Exit status 0 if the test succeeds. Exit status 1 if it fails.
        !           119: .SH AUTHOR
        !           120: Peter J. Nicklin
        !           121: .SH BUGS
        !           122: Since the PATH environment variable governs the order in which directories
        !           123: are searched for executable commands, the production version of a command
        !           124: may be used instead of an experimental version.
        !           125: .PP
        !           126: Any files beginning with `T' (except those with suffix `.sh') are deleted
        !           127: prior to each test.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.