Read-only Built-ins

There are a number of predefined variables which are read-only. These act in much the same way as constants in that they cannot be assigned a value and their values will not change for the duration of a test (although some of them will change value between individual tests). But unlike constants, they cannot be used to initialise other constants, and they cannot be used to initialise variables outside a function scope.

Global Read-only Built-ins

These built-ins are defined globally:

CHAIN_DEVICES
The number of JTAG devices expected to be in the chain.
CURRENT_PROFILE_NAME
The name of the profile currently in use.
CURRENT_TEST_FUNCTION
The name of the test function that is currently running.
CURRENT_TEST_GROUP
The name of the test group that the currently running function is part of.
LOG_FILE_PATH
The path to the XJRunner log file.
TEST_FAIL_COUNT
The number of tests that have failed.
TEST_PASS_COUNT
The number of tests that have passed.
XJLINK_NAME
The name of the XJLink in use.
XJLINK_SERIAL_NUMBER
The serial number of the XJLink in use.
XJPACK_PROJECT_VERSION
The version number of the current XJPack file.
XJRUNNER_TEST_MODE
The current test mode when running from XJRunner.
XJRUNNER_USERNAME
The name of the user currently logged into XJRunner.
VARIANT_NAME
The name of the variant currently running.

Device File Read-only Built-ins

These built-ins are defined within the scope of a device file:

BOARD_NAME
The name of the board (in a multi-board environment there may be many devices with the same name but on different boards).
DEVICE_REF
The device reference (i.e. U4, IC12 etc).
UNIQUE_DEVICE_REF

The device reference, including the board if there are multiple boards in the project, or on its own if there is only one board.

This constant was added in version 3.3.12 and 3.4.1 and so is not automatically defined in versions prior to that.