Fuego naming rules

To add boards or write tests for Fuego, you have to create a number of files and define a number of variables.

Here are some rules and conventions for naming things in Fuego:

Fuego test name [edit section]

Test files [edit section]

Test spec names [edit section]

Test spec names are declared in the spec file for a test. These names should consist of letters, numbers and underscores only. That is, no periods should be used in spec names.

Every test should have at least one spec, called the 'default' spec. If no spec file exists for a test, then Fuego generates a 'default' spec (on-the-fly), which is empty (ie. has no test variables).

Board names [edit section]

Jenkins element names [edit section]

Several of the items in Fuego are represented in the Jenkins interface. The following sections describe the names used for these elements.

Node name [edit section]

Job name [edit section]

Run identifier [edit section]

A Fuego run identifier is used to refer to a "run" of a test - that is a particular invocation of a test and it's resulting output, logs and artifacts. A run identifier should be unique throughout the world, as these are used in servers where data from runs from different hosts are stored.

The parts of a run id are separated by dashes, except that the separator between the host and the board is a colon.

A fully qualified (global) run identifier consist of the following parts:

FIXTHIS - global run ids should include timestamps to make them globally unique for all time

Example: Functional.LTP-quickhit-3-on-timdesk:beaglebone

A shortened run identifier may omit the "on" and "host". This is referred to as a local run id, and is only valid on the host where the run was produced.

Example:

timestamp [edit section]

test identifiers [edit section]

Also know as TGUIDs (or test globally unique identifiers), a test identifier refers to a single unit of test operation or result from the test system. A test identifier may refer to a testcase or an individual test measure.

They consist of a several parts, some of which may be omitted in some circumstances

The parts are:

Legal characters for these parts are letters, numbers, and underscores. Only testset names may include a period ("."), as that is used as the separator between constituent parts of the identifier.

testcase identifiers should be consistent from run-to-run of a test, and should be globally unique.

test identifiers may be in fully-qualified form, or in shortened form - missing some parts. The following rules are used to convert between from shortened forms to fully-qualified forms.

If the testsuite name is missing, then the base name of the test is used.

If the testset name is missing, then the testset name is "default".

A test id may refer to one of two different items:

A fully qualified test identifier consists of a testsuite name, testset name and a testcase name. Shortened names may be used, in which case default values will be used for some parts, as follows:

If a result id has only 1 part, it is the testcase name. The testset name is considered to be "default", and the testsuite name is the base name of the test.

That is, for the fuego test Functional.jpeg, a shortened tguid of "test4", the fully qualified name would be:

If a result id has 2 parts, then the first part is the testset name and the second is the testcase name, and the testsuite name is the base name of the test.

measure id [edit section]

A measure identifier consists of a testsuide id, testset id, testcase id and measure name.

A shortened measure id may not consist of less than 2 parts. If it only has 2 parts, the first part is the testcase id, and the second part is the measure name. In all cases the last part of the name is the measure name, the second-to-last part of the name is the testcase name.

If there are three parts, the first part is the testset name.

Test variable names [edit section]

Test variable names are defined in the board file, and by the user via 'ftc set-var'. Also they are generated from variables declared in spec files. The consist of all upper-case, using only letters and underscores

Some test variable prefixes and suffixes are used in a consistent way.

Dependency check variables [edit section]

The following is the preferred format for variables used in dependency checking code: