ccl-testing

# Build Issues

Contents

Timeout Issues
Prerequisite Violations
Compile Failures
Parsing Errors
Test Failures
Code Coverage Problems
Permission Issues
Legacy Upgrades

Timeout Issues

expect4j send status TIMEOUT (-2)

Be sure the prompt patterns are correct. The plugin uses them to decide when the back end system is ready to receive commands. If a pattern does not match the actual prompt, the plugin will either hang indefinitely or time out waiting for the prompt. On the other hand, if a prompt pattern ends up matching output that is not actually the OS prompt, the plugin could send a command before the back end is ready to receive it.

Use maven’s -X command argument to see exactly what is sent to the back, what response is expected and wht response is received. Add > some_file_path to dump the output to a file. Search the output for commandExpectationGroup: which will be followed by two lists, the commands sent to the back end and the regular expressions used to decide when the back end is ready for another command. The plugin waits for the output from the back end to match one of the regular expressions.

The sending of commands and waiting for expected output is handled by expect4j which outputs sending command followed by the command enclosed in parentheses as each command is sent. That is followed by more expect4j output showing the receipt and processing of the back-end output. The logging for this is rather chatty. The maven logging configuration can be modified to suppress some of the expect4j output.

If the prompt patterns are correct, then the backend device and/or the connection to it are too slow to beat the expectation timeout. Try setting a larger value.

Prerequisite Violations

To prevent a successful build with incorrect and confusing results, builds are failed if these prerequisites are not satisfied.

Compile Failures

If a compile failure occurs, inspect the last displayed listing file in $cer_temp to see the error in context.
validating compile <listing file name> is displayed as each file is compiled.

Parsing Errors

If an xml parsing error occurs, an exception will display prominently in the maven output. Unfortunately, the xml parser has no idea what it is parsing so the exception only indicates there was a parsing error. The output will name each entity just before it is parsed if the maven log level is at least Info (the default value).

Test Failures

Try -DdeprecatedFlag=W. CCL’s messaging for deprecated constructs does not always explain the problem is deprecation. This should only be done temporarily as it prevents the identification of undeclared variables. Here are some known examples

Code Coverage Problems

To see code coverage, specifyDebugCcl must be false for CCL versions prior to 8.13.0 and must not be false for later versions.

Permission Issues

Verify the configured host user has write access in the directories being used. The plugin normally writes files in cclsource, ccluserdir and cer_temp, and it might transfer some resource files to cer_install.

Legacy Upgrades

There are some significant differences from legacy versions to note: