From cb39c88c53ce94fbad2a2b152726ad5a75365ee5 Mon Sep 17 00:00:00 2001 From: Vsevolod Fedorov Date: Tue, 10 Jan 2023 13:03:52 +0300 Subject: [PATCH] Tests: Add parameter name reuse tests Change-Id: I9acfe721921500c49f2253210b6438b65269abbb --- .../parameter_name_reuse_default.xml | 20 +++++++++++++++++ .../parameter_name_reuse_default.yaml | 13 +++++++++++ .../parameter_name_reuse_group_override.xml | 20 +++++++++++++++++ .../parameter_name_reuse_group_override.yaml | 22 +++++++++++++++++++ .../parameter_name_reuse_override.xml | 20 +++++++++++++++++ .../parameter_name_reuse_override.yaml | 14 ++++++++++++ 6 files changed, 109 insertions(+) create mode 100644 tests/yamlparser/job_fixtures/parameter_name_reuse_default.xml create mode 100644 tests/yamlparser/job_fixtures/parameter_name_reuse_default.yaml create mode 100644 tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.xml create mode 100644 tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.yaml create mode 100644 tests/yamlparser/job_fixtures/parameter_name_reuse_override.xml create mode 100644 tests/yamlparser/job_fixtures/parameter_name_reuse_override.yaml diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_default.xml b/tests/yamlparser/job_fixtures/parameter_name_reuse_default.xml new file mode 100644 index 000000000..b6a176d01 --- /dev/null +++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_default.xml @@ -0,0 +1,20 @@ + + + + <!-- Managed by Jenkins Job Builder --> + false + false + false + false + true + + + + + echo {timer} + + + + + + diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_default.yaml b/tests/yamlparser/job_fixtures/parameter_name_reuse_default.yaml new file mode 100644 index 000000000..f875c5752 --- /dev/null +++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_default.yaml @@ -0,0 +1,13 @@ +# Attempt to use same parameter name in it's value leads to value with format string. + +- job-template: + name: sample-job + timer: '{timer}' + builders: + - shell: | + echo {timer} + +- project: + name: sample-project + jobs: + - sample-job diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.xml b/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.xml new file mode 100644 index 000000000..b1183307a --- /dev/null +++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.xml @@ -0,0 +1,20 @@ + + + + <!-- Managed by Jenkins Job Builder --> + false + false + false + false + true + + + + + echo {param}-a-a + + + + + + diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.yaml b/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.yaml new file mode 100644 index 000000000..e6b5f2574 --- /dev/null +++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.yaml @@ -0,0 +1,22 @@ +# Override parameter value while reusing it's name in value +# This leads to incorrect parameter expansion: +# Result is '{param}-a-a'. + +- job-template: + name: sample-job + param: '{param}-b' + builders: + - shell: | + echo {param} + +- job-group: + name: sample-group + jobs: + - sample-job: + param: '{param}-a' + +- project: + name: sample-project + param: value + jobs: + - sample-group diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_override.xml b/tests/yamlparser/job_fixtures/parameter_name_reuse_override.xml new file mode 100644 index 000000000..809344511 --- /dev/null +++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_override.xml @@ -0,0 +1,20 @@ + + + + <!-- Managed by Jenkins Job Builder --> + false + false + false + false + true + + + + + echo value + + + + + + diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_override.yaml b/tests/yamlparser/job_fixtures/parameter_name_reuse_override.yaml new file mode 100644 index 000000000..fb614d06e --- /dev/null +++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_override.yaml @@ -0,0 +1,14 @@ +# Override parameter value while reusing it's name in value + +- job-template: + name: sample-job + param: '{param}-b' + builders: + - shell: | + echo {param} + +- project: + name: sample-project + param: value + jobs: + - sample-job