Documentation & Tutorials

Try a tutorial to get you started with Integrity, or read about some of the more advanced features.

Test Runner System Properties

This is an overview over all system properties supported by the test runner. While command-line arguments are used for all the frequently-set configuration parameters that make up a test run, some lesser-used aspects can be modified by providing certain system properties. Here's an as-complete-as-possible list over the properties available.

Note that some properties might just be available in newer Integrity versions. This overview is oriented at the newest stable version.


Property Name Type Default Value Description
integrity.script.encoding String default charset Defines the encoding to be used when parsing Integrity script files.
integrity.setlist.trace Boolean false Enables tracing output of the generation of internal execution state data.
integrity.variables.trace Boolean false Enables tracing output of variable definitions, value assignments et cetera.
integrity.variables.stacktrace Boolean false Extends the variable tracing mode by also dumping stack traces on every trace log output. If this is true, the basic variable trace mode is automatically true as well. 
integrity.timeset.trace Boolean false Enables tracing output of background work and communication done to process "timeset" commands.
integrity.xmlwriter.transform.stacksize Integer 10485760 Configures the stack size in bytes for the thread used to perform XML-to-HTML transformation after the test run (if not disabled via console parameters). The XSLT transform can require very deep stacks, which is why this is configurable and defaults to a relatively large value.
integrity.xmlwriter.trace Boolean false Enables tracing output of the XML result output writer.
integrity.xmlwriter.xsltpath String resource/xhtml.xslt This parameter allows to override the XSLT script used to transform the test result XML data into user-friendly HTML. If you want to customize this step, you may extract the script from the test runner jar and change it to fit your needs. The path given in the parameter is first attempted to be resolved by resource loading via the classloader, and if that fails, by opening a corresponding file from the file system.
integrity.xmlwriter.consoleLinesLimit Integer 10000 Maximum number of lines of console output that is added to a single test/call.
integrity.xmlwriter.consoleLineSizeLimit Integer 1000 Maximum length of a single console log line.
integrity.xmlwriter.formattedStringSizeLimit Integer 10000 The maximum length of formatted strings in results. If these get overly long, they impose a very hefty CPU load on the XSLT transformer, which must convert them to HTML markup. Hence extremely long formatted strings are just returned in the result as "normal" strings, which still carry all the data, but just don't format as nicely in the result.
integrity.runner.perflog Boolean false Can be used to enable performance logging. Certain performance-critical sections of the Integrity test execution (especially those covering the test startup phase) are timed and the timing data is printed to standard output if this is enabled.
integrity.fork.timeout.connect Integer 180 A timeout in seconds which an Integrity master process waits for when trying to establish a connection to a fork. After this time has elapsed, a fork that has not yet opened its remoting port is considered "dead" and the corresponding process is being killed, resulting in an abortion of the entire test run.
integrity.fork.timeout.single Integer 10000 A timeout in milliseconds for each connect attempt when connecting to forks. If this timeout was hit, but the integrity.fork.timeout.connect is not yet elapsed, another connect attempt is started.
integrity.fork.timeout.wait Integer 300 A timeout in seconds that a master process waits, after successfully connecting to a fork, until the fork must be ready to execute its first code segment.
integrity.fork.timeout.kill Integer 60 A timeout in seconds that a master process waits for a fork to die if its process was forcefully killed.
integrity.fixtures.logging.verbose Boolean false If set to true, the most detailed log output ("trace" level) provided to the FixtureLogger by fixtures is printed out. Normally, only higher levels ("debug"+) are printed on the console and provided in the test result.
integrity.runner.loading.verbose Boolean false If set to true, the test runner will print each loaded script regardless of the total number of scripts loaded. Normally, if more than 50 scripts are being loaded, only a summary over all scripts is printed.
integrity.runner.threadcount Integer # of processors The number of threads to use for parallelized tasks in the test runner startup phase (script parsing).