Next: SOFTWARE-EVOLUTION-LIBRARY/REST, Previous: SOFTWARE-EVOLUTION-LIBRARY/COMPONENTS/SERAPI-IO, Up: Software Evolution Library Index [Contents][Index]
Frequency (in seconds) at which to check if a process has completed.
Ensure that test-process
either runs to completion or is killed.
Return the standard output, error output, and process exit code as strings.
* test-process
the ‘process’ associated with the test case.
Ensure that test-process
either runs to completion or is killed.
Return the standard output, error output, and process exit code as strings.
* test-process
the ‘process-info’ object returned by ‘launch-program’
associated with the test case.
See also ‘*process-sleep-interval*’ and ‘*process-kill-timeout*’. If
test-process
is still running when ‘finish-test’ is called, and if
‘*process-kill-timeout*’ is bound to a non-nil value greater than 0,
alternate between sleeping for ‘*process-sleep-interval*’ seconds and
checking again until either ‘*process-kill-timeout*’ seconds have
elapsed or the process completes. After the timeout, send a sigterm
signal if test-process
is still running, sleep for
‘*process-sleep-interval*’ seconds once more and then if the process
is still running, send a sigkill
signal.
Run test-case
on phenome
and return the results.
Return the standard output, error output, and process exit code as strings.
Run test-case
on phenome
and return the results.
Return three values: output printed to standard out, error output, and exit
status. Th default behavior is simply to run ‘start-test’ and ‘finish-test’.
Start an external process to run test-case
on phenome
.
Return the ‘process’.
phenome
the phenome of the ‘software’ object under test.
test-case
the ‘test-case’ to run.
extra-keys
additional keyword arguments.
Start an external process to run test-case
on phenome
.
Return the ‘process’. This is a wrapper around ‘uiop:launch-program’, and any
extra-keys
will be passed through to that method.
phenome
the phenome of the ‘software’ object under test.
test-case
the ‘test-case’ to run.
extra-keys
additional keyword arguments to pass to ‘uiop:launch-program’.
Some extra-keys
that may be useful are:
-
to specify how output and error streams are
handled. By default, these are captured so they can be returned as strings.
-
whether to wait for the process to complete before continuing.
The default is to wait; however, some components may elect not to wait
and instead to stream results through a named pipe.
-
to set environment variables
Class precedence list: test-case, standard-object, slot-object, t
Slots:
program-name
— initarg: :program-name
; reader: software-evolution-library/components/test-suite:program-name
; writer: (setf software-evolution-library/components/test-suite:program-name)
The executable that runs the test case. Contains either a string containing the name of an executable file or special symbol :bin, which will be dynamically replaced by the name of the compiled phenome for the software object under test.
program-args
— initarg: :program-args
; reader: software-evolution-library/components/test-suite:program-args
; writer: (setf software-evolution-library/components/test-suite:program-args)
A list of arguments which will be passed to the executable
program-name
.
Each argument must be either a string or symbol :bin, which will be
replaced by the name of the compiled phenome.
fitness
— initarg: :fitness
; reader: software-evolution-library/software-evolution-library:fitness
; writer: (setf software-evolution-library/software-evolution-library:fitness)
May be used to store the fitness result from a prior run of the test case. This field is not updated automatically since some components may need to perform comparisons between new and old values (e.g., condition synthesis).
Test case object.
Class precedence list: test-suite, oid-object, standard-object, slot-object, t
Slots:
test-cases
— initarg: :test-cases
; reader: software-evolution-library/components/test-suite:test-cases
; writer: (setf software-evolution-library/components/test-suite:test-cases)
List of ‘test-case’ objects that make up the test suite.
A suite of unit tests.
Optional timeout (in seconds) before killing a process