diff --git a/conformance-tests/2023-09/FEATURE_BUNDLE_1/jobs/1.1.1--job-name-512-chars-substitution.test.yaml b/conformance-tests/2023-09/FEATURE_BUNDLE_1/jobs/1.1.1--job-name-512-chars-substitution.test.yaml new file mode 100644 index 00000000..0d3ff6b5 --- /dev/null +++ b/conformance-tests/2023-09/FEATURE_BUNDLE_1/jobs/1.1.1--job-name-512-chars-substitution.test.yaml @@ -0,0 +1,25 @@ +# Spec 1.1.1 with FEATURE_BUNDLE_1: max length 512 characters, +# checked after the format string is resolved. The name resolves to 512 +# characters via {{Param.N}} and must be accepted. The task prints the +# resolved length so a job-creation failure cannot be reported as a pass. +template: + specificationVersion: jobtemplate-2023-09 + extensions: + - FEATURE_BUNDLE_1 + name: "{{Param.N}}" + parameterDefinitions: + - name: N + type: STRING + default: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + steps: + - name: Step1 + script: + actions: + onRun: + command: python + args: + - "-c" + - "print('OUTPUT:' + str(len(r'{{Param.N}}')))" +expected: + output: + - OUTPUT:512 diff --git a/conformance-tests/2023-09/FEATURE_BUNDLE_1/jobs/1.1.1--job-name-513-chars-substitution.invalid.test.yaml b/conformance-tests/2023-09/FEATURE_BUNDLE_1/jobs/1.1.1--job-name-513-chars-substitution.invalid.test.yaml new file mode 100644 index 00000000..6d8ff2a3 --- /dev/null +++ b/conformance-tests/2023-09/FEATURE_BUNDLE_1/jobs/1.1.1--job-name-513-chars-substitution.invalid.test.yaml @@ -0,0 +1,21 @@ +# Spec 1.1.1 with FEATURE_BUNDLE_1: max length 512 characters, +# checked after the format string is resolved. The name resolves to 513 +# characters via {{Param.N}}, so job creation must fail. +template: + specificationVersion: jobtemplate-2023-09 + extensions: + - FEATURE_BUNDLE_1 + name: "{{Param.N}}" + parameterDefinitions: + - name: N + type: STRING + default: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + steps: + - name: Step1 + script: + actions: + onRun: + command: python + args: + - "-c" + - "print()" diff --git a/conformance-tests/2023-09/base/jobs/1.1.1--job-name-too-long-substitution.invalid.test.yaml b/conformance-tests/2023-09/base/jobs/1.1.1--job-name-too-long-substitution.invalid.test.yaml new file mode 100644 index 00000000..7816fe88 --- /dev/null +++ b/conformance-tests/2023-09/base/jobs/1.1.1--job-name-too-long-substitution.invalid.test.yaml @@ -0,0 +1,20 @@ +# Spec 1.1.1 : max length 128 characters, checked after the format +# string is resolved. The name is a bare {{Param.N}} whose value is 129 +# characters, so job creation must fail even though the template text is +# short and passes decode. +template: + specificationVersion: jobtemplate-2023-09 + name: "{{Param.N}}" + parameterDefinitions: + - name: N + type: STRING + default: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + steps: + - name: Step1 + script: + actions: + onRun: + command: python + args: + - "-c" + - "print()"