build step

step build

Compile C source files using GCC

See also

Package mtrchk-org-momotor-lang-gcc-build

Python package containing the checklet implementing this step. The recipe requires version ~=2.0, this document is based on version 2.0.0.

preflight@scheduler option

A preflight check handled by the scheduler. This allows recipes to indicate situations in which the step does not have to be executed.

See Scheduler preflight option for the documentation of this option.

Type:

string

Required:

False

Multiple:

True

All:

True

Value:

%notall pass => skip

tasks@scheduler option

Enable multiple tasks for this step. If not provided, a single task is generated for this step.

See Scheduler tasks option for the documentation of this option.

Type:

string

Required:

False

Multiple:

False

Value:

*

secret option

Dynamic secret property value for the result. Momotor LTI will not show steps with a secret property set to true to learners, but will still show that step to reviewers.

The option value can be one of the following:

  • always or true: adds a secret property with value true to the result.

  • false: do not add a secret property to the result.

  • on-fail: adds a secret property with value true to the result if the step fails.

  • on-pass: adds a secret property with value true to the result if the step passed.

  • default: inherits the value from the next provider. If the last provider is ‘default’ no property will be added.

Note that this only adds a secret property with value true, but never one with value false. This ensures that a default defined in a recipe will be used unless the step or config explicitly override it.

The value can contain reference placeholders to inherit the value from another step’s options or properties.

Type:

Any

Required:

False

Multiple:

False

Default:

on-pass

label option

Label for this step. Momotor LTI uses labels as the header of the step in the result view. If a step does not have a label, Momotor LTI will use the step id as the label.

Can contain reference placeholders and task id placeholders.

Type:

Any

Required:

False

Multiple:

False

Default:

Build test case $1#

feedback-pass option

Feedback to prepend to the report property when this step passes.

Can contain reference placeholders and task id placeholders.

Type:

Any

Required:

False

Multiple:

False

Default:

No default

feedback-fail option

Feedback to prepend to the report property when this step fails.

Can contain reference placeholders and task id placeholders.

Type:

Any

Required:

False

Multiple:

False

Default:

No default

timeLimit option

Maximum time allowed for execution. Can be supplied in hh:mm:ss format, or as seconds

Type:

Any

Required:

False

Multiple:

False

Default:

No default

blockLimit option

Maximum time allowed without any progress (wall clock time). Can be supplied in hh:mm:ss format, or as seconds

Type:

Any

Required:

False

Multiple:

False

Default:

No default

memoryLimit option

Maximum memory usage allowed for execution. Can use IEC or SI units, eg. 1k (for 1000 bytes) or 1KiB (for 1024 bytes)

Type:

Any

Required:

False

Multiple:

False

Default:

No default

processLimit option

Maximum number of child processes

Type:

integer

Required:

False

Multiple:

False

Default:

No default

gcc@tools option

GCC version(s) to use.

Can be a space or comma separated list of version requirements to indicate alternative version preferences (in order of most to least preferred).

See the tool registry documentation for details.

Type:

Any

Required:

False

Multiple:

False

Default:

gcc

input-file-ref option

Reference to the C source files to build.

The files will be copied to a working directory and the file names will be provided to the compiler.

The reference is parsed with find_files(), see that method for details.

Type:

Any

Required:

False

Multiple:

True

All:

True

Value:

No values

extra-file-ref option

Reference to the additional source files to build (e.g. header files, libs etc.).

The files will be copied to the directory with the C files.

The reference is parsed with find_files(), see that method for details.

Type:

Any

Required:

False

Multiple:

True

All:

True

Value:

No values

language option

Language option (-x) provided to the GCC compiler.

Type:

Any

Required:

False

Multiple:

False

Default:

none

standard option

Standard option (-std) provided to the GCC compiler.

Type:

Any

Required:

False

Multiple:

False

Default:

No default

feature-option option

Feature option(s) (any boolean option starting with -f) provided to the GCC compiler.

Type:

Any

Required:

False

Multiple:

True

All:

True

Value:

No values

lib option

Libs option(s) (-l) provided to the GCC compiler.

Type:

Any

Required:

False

Multiple:

True

All:

False

Value:

m

extra-lib option

Additional libs option(s) (-l) provided to the GCC compiler.

Type:

Any

Required:

False

Multiple:

True

All:

True

Value:

No values

optimize option

Optimization option (-O) provided to the GCC compiler.

Type:

Any

Required:

False

Multiple:

True

All:

False

Value:

No values

warn option

Warning options (any boolean option starting with -W) provided to the GCC compiler.

Type:

Any

Required:

False

Multiple:

True

All:

True

Value:

No values

static-executable option

Build a static executable.

Type:

boolean

Required:

False

Multiple:

False

Default:

False

output-file-name option

Name of the executable file.

Type:

Any

Required:

False

Multiple:

False

Default:

a.out

output-file-class option

File class for collected executable files.

Type:

Any

Required:

False

Multiple:

False

Default:

executable

pass-score option

Score when passing

Type:

Any

Required:

False

Multiple:

False

Default:

No default