inputObject
The input object is the top-level container for the Spiral input stream — it is one (or more) of the command objects below. Each command wraps a scheduleObject or another referenced object.
-
addscheduleObject - Add the objects into Spiral.
-
updatescheduleObject - Update the objects within Spiral.
-
coercescheduleObject - Update, forcing any plan position given, for a limited time.
-
deletescheduleObject - Remove the objects from Spiral (only `id` is needed).
-
definedefineObject - Establish reference data: the domain and map files are mostly this.
-
setsetObject - Configure properties of the current Spiral run.
-
pausepauseObject - Pause processing until a condition is reached (test cases only).
-
commentstring - A documentation string; ignored by Spiral.
-
checkscheduleObject - Assert that the object matches the values given.
-
refutescheduleObject - Assert that the object does not match the values given.
-
taginteger - An integer used to synchronise between Spiral and the host.
-
includeincludeObject - Read another input source (parameter files, licence keys), then resume.
Commands
Section titled “Commands”-
add — add the following scheduleObject into Spiral.
-
update — update the following scheduleObject within Spiral.
-
coerce — update a scheduleObject, but where the update includes an assignment to a position in a plan, Spiral is coerced into using that solution for a limited time (set in the stop parameters). Typically used for manual override: the generated plan and its consequences can be displayed briefly before Spiral returns the stops to their optimised position.
-
delete — remove the following scheduleObject from Spiral. Only the object’s
idneed be supplied. -
define — establish reference data — a defineObject. Submit all definitions before the schedule objects that reference them.
-
set — configure properties affecting the current Spiral run — a setObject.
-
pause — pause processing until the condition in a pauseObject is reached. Used when constructing test cases; it has no production purpose.
-
comment — a documentation string for test scripts; ignored by Spiral.
-
check — assert that the scheduleObject’s properties internally match any explicitly referenced values (test success criteria). For example
{"check":{"project":{"id":1,"stops":{"rid":null}}}}checks that project1is not assigned to any resource. -
refute — assert that the scheduleObject’s properties do not match referenced values. For example
{"refute":{"project":{"id":1,"stops":{"rid":null}}}}checks that project1is assigned to a resource.Both take an optional tolerance, in seconds, alongside the scheduleObject — how far out a time may be and still satisfy the assertion. It defaults to 10. A time is never asserted exactly, because a test replays at a different speed from the session it was recorded in:
{"check":{"tolerance":30,"project":{"id":1,"stops":{"arv":1537862400}}}}. -
tag — an integer used to synchronise between Spiral and the host.
-
include — switch the input source via an includeObject (e.g. to load parameter files and licence keys), then resume the current input stream.