Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Pins the bash SimpleAction desugaring contract: $0 is the implicitly generated
# embedded file with a .sh extension, and user args follow it.
runOn:
- posix
template:
specificationVersion: jobtemplate-2023-09
extensions:
- FEATURE_BUNDLE_1
name: TestJob
steps:
- name: Step1
bash:
args:
- --marker-arg
script: |
case "$0" in
*.sh) echo "EXT_IS_SH:True";;
*) echo "EXT_IS_SH:False";;
esac
echo "FIRST_ARG:$1"
expected:
output:
- EXT_IS_SH:True
- FIRST_ARG:--marker-arg
forbidden:
- EXT_IS_SH:False
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Pins the python SimpleAction desugaring contract: argv[0] is the implicitly generated
# embedded file with a .py extension, and user args follow it.
template:
specificationVersion: jobtemplate-2023-09
extensions:
- FEATURE_BUNDLE_1
name: TestJob
steps:
- name: Step1
python:
args:
- --marker-arg
script: |
import sys
print('EXT_IS_PY:' + str(sys.argv[0].endswith('.py')))
print('FIRST_ARG:' + sys.argv[1])
expected:
output:
- EXT_IS_PY:True
- FIRST_ARG:--marker-arg
forbidden:
- EXT_IS_PY:False
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Parameter definition objects are closed; an unknown key inside one must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: STRING
unknownExtraField: value
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print()"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# minValue is not a JobStringParameterDefinition field; a STRING parameter with minValue must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: STRING
minValue: 1
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print()"
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# A STRING parameter default whose length exactly equals maxLength is accepted (bound is inclusive).
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: STRING
maxLength: 5
default: abcde
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# A STRING parameter default whose length exactly equals minLength is accepted (bound is inclusive).
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: STRING
minLength: 3
default: abc
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# An INT parameter allowedValues entry of 2^63-1 (largest signed 64-bit integer) is a valid integer value.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: INT
allowedValues:
- 9223372036854775807
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# An INT parameter default of 2^63-1 (largest signed 64-bit integer) is a valid integer value.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: INT
default: 9223372036854775807
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# An INT parameter default of -2^63 (smallest signed 64-bit integer) is a valid integer value.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: INT
default: -9223372036854775808
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# An INT parameter maxValue of 2^63-1 (largest signed 64-bit integer) is a valid integer value.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: INT
maxValue: 9223372036854775807
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# An INT parameter minValue of 2^63-1 (largest signed 64-bit integer) is a valid integer value.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: INT
minValue: 9223372036854775807
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# minLength is not a JobIntParameterDefinition field; an INT parameter with minLength must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: INT
minLength: 1
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print()"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# A FLOAT parameter default of 1e308 is within the double-precision range and is valid.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: FLOAT
default: 1.0e+308
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# A FLOAT parameter default of 1e309 overflows double precision (infinity) and must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: FLOAT
default: 1.0e+309
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# A FLOAT parameter default of infinity is not a base-10 floating point value and must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: FLOAT
default: .inf
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# A FLOAT parameter default of NaN is not a base-10 floating point value and must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: MyParam
type: FLOAT
default: .nan
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print('{{Param.MyParam}}')"
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# StepScript 'let' requires the EXPR extension (spec 3.6); in base it must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
steps:
- name: Step1
script:
let:
- x = 1
actions:
onRun:
command: python
args:
- "-c"
- "print()"
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# StepTemplate 'let' requires the EXPR extension (spec 3.6); in base it must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
steps:
- name: Step1
let:
- x = 1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print()"
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# A cancelation object without the 'mode' key matches neither CancelationMethod form and must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print()"
cancelation:
notifyPeriodInSeconds: 30
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# A format-string cancelation mode requires the FEATURE_BUNDLE_1 extension; in base it must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
parameterDefinitions:
- name: Mode
type: STRING
default: TERMINATE
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print()"
cancelation:
mode: "{{Param.Mode}}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# CancelationMethodTerminate (5.3.1) has only the 'mode' key; notifyPeriodInSeconds with TERMINATE must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
steps:
- name: Step1
script:
actions:
onRun:
command: python
args:
- "-c"
- "print()"
cancelation:
mode: TERMINATE
notifyPeriodInSeconds: 30
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# A bare dot-free reference {{MyParam}} names no value defined in base scope and must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
steps:
- name: Step1
script:
actions:
onRun:
command: echo
args:
- "{{MyParam}}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# A reference segment containing a dash ({{Param.a-b}}) is not a valid Identifier and must be rejected.
specificationVersion: jobtemplate-2023-09
name: TestJob
steps:
- name: Step1
script:
actions:
onRun:
command: echo
args:
- "{{Param.a-b}}"
Loading
Loading