From ec5daf82a373c1a8841fed9db21980c3590ed35a Mon Sep 17 00:00:00 2001 From: Simon Lecoq <22963968+lowlighter@users.noreply.github.com> Date: Tue, 18 Jan 2022 00:26:00 +0000 Subject: [PATCH] add tests Signed-off-by: GitHub --- tests/failing/verbose_output.yml | 22 +++++++++++++++----- tests/verbose_output.yml | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 tests/verbose_output.yml diff --git a/tests/failing/verbose_output.yml b/tests/failing/verbose_output.yml index 6626082f..271ce468 100644 --- a/tests/failing/verbose_output.yml +++ b/tests/failing/verbose_output.yml @@ -6,13 +6,22 @@ testcases: script: echo foo assertions: - result.systemout ShouldEqual foo +- name: Test named step + steps: + - name: hello-world + type: exec + script: echo foo + assertions: + - result.systemout ShouldEqual foo - name: Test multi step steps: - - type: exec + - name: step1 + type: exec script: echo foo assertions: - result.systemout ShouldEqual foo - - type: exec + - name: step2 + type: exec script: echo bar assertions: - result.systemout ShouldEqual foo @@ -32,11 +41,14 @@ testcases: v: foo - name: Test must assertions steps: - - type: exec + - name: must1 + type: exec script: echo foo assertions: - result.systemout MustEqual bar - - type: exec + - name: must2 + type: exec script: echo foo - - type: exec + - name: must3 + type: exec script: echo bar \ No newline at end of file diff --git a/tests/verbose_output.yml b/tests/verbose_output.yml new file mode 100644 index 00000000..e05239ec --- /dev/null +++ b/tests/verbose_output.yml @@ -0,0 +1,35 @@ +name: testsuite run in verbose mode +testcases: +- name: testsuite run in verbose mode + steps: + # spawn a venom sub-process and expect it to fail and make assertions on its error messages + # ensure no color to avoid annoying checks + - type: exec + script: NO_COLOR=1 {{.venom.executable}} run failing/verbose_output.yml {{.value.opt}} + range: + verbose: + opt: "-v" + op: Should + default: + opt: "" + op: ShouldNot + assertions: + - result.code ShouldEqual 2 + - result.systemerr ShouldBeEmpty + # single step + - result.systemout {{.value.op}}ContainSubstring 'exec SUCCESS' + # named step + - result.systemout {{.value.op}}ContainSubstring 'hello-world SUCCESS' + # multi steps + - result.systemout {{.value.op}}ContainSubstring 'step1 SUCCESS' + - result.systemout {{.value.op}}ContainSubstring 'step2 FAILURE' + # ranged steps + - result.systemout {{.value.op}}ContainSubstring 'exec (range=0) SUCCESS' + - result.systemout {{.value.op}}ContainSubstring 'exec (range=1) FAILURE' + - result.systemout {{.value.op}}ContainSubstring 'exec (range=2) SUCCESS' + # must assertions + - result.systemout {{.value.op}}ContainSubstring 'must1 FAILURE' + - result.systemout ShouldContainSubstring 'At least one required assertion failed, skipping remaining steps' + - result.systemout {{.value.op}}ContainSubstring '2 other steps were skipped' + - result.systemout ShouldNotContainSubstring 'must2' + - result.systemout ShouldNotContainSubstring 'must3' \ No newline at end of file