llvm-project/llvm/utils/lit/tests/shtest-not.py
Madhur Amilkanthwar 0b7ae41b23
[LIT] Print discovered tests and percentages (#66057) (#69831)
This patch adds "nice-to-have" feature in lit.
it prints the total number of discovered tests at the beginning. It is
covenient to see the total number of tests and avoid scrolling up to the
beginning of log.

Further, this patch also prints %ge of tests.

This patch fixes tests pointed by previous attempt of landing this
patch.

Reviewed By: RoboTux, jdenny-ornl

Co-authored-by: Madhur A <madhura@nvidia.com>
2023-10-22 09:22:25 +05:30

191 lines
7.9 KiB
Python

# Check the not command
# RUN: not %{lit} -a -v %{inputs}/shtest-not \
# RUN: | FileCheck -match-full-lines %s
#
# END.
# Make sure not and env commands are included in printed commands.
# CHECK: -- Testing: 17 tests{{.*}}
# CHECK: FAIL: shtest-not :: exclamation-args-nested-none.txt {{.*}}
# CHECK: ! ! !
# CHECK: # executed command: ! ! !
# CHECK: # | Error: '!' requires a subcommand
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: exclamation-args-none.txt {{.*}}
# CHECK: !
# CHECK: # executed command: !
# CHECK: # | Error: '!' requires a subcommand
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: exclamation-calls-external.txt {{.*}}
# CHECK: ! [[PYTHON:.*]] fail.py
# CHECK: # executed command: ! [[PYTHON_BARE:.*]] fail.py
# CHECK: ! ! [[PYTHON]] pass.py
# CHECK: # executed command: ! ! [[PYTHON_BARE]] pass.py
# CHECK: ! ! ! [[PYTHON]] fail.py
# CHECK: # executed command: ! ! ! [[PYTHON_BARE]] fail.py
# CHECK: ! ! ! ! [[PYTHON]] pass.py
# CHECK: # executed command: ! ! ! ! [[PYTHON_BARE]] pass.py
# CHECK: ! [[PYTHON]] pass.py
# CHECK: # executed command: ! [[PYTHON_BARE]] pass.py
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: not-args-last-is-crash.txt {{.*}}
# CHECK: not --crash
# CHECK: # executed command: not --crash
# CHECK: # | Error: 'not' requires a subcommand
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: not-args-nested-none.txt {{.*}}
# CHECK: not not not
# CHECK: # executed command: not not not
# CHECK: # | Error: 'not' requires a subcommand
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: not-args-none.txt {{.*}}
# CHECK: not
# CHECK: # executed command: not
# CHECK: # | Error: 'not' requires a subcommand
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: not-calls-cd.txt {{.*}}
# CHECK: not not cd foobar
# CHECK: # executed command: not not cd foobar
# CHECK: not --crash cd foobar
# CHECK: # executed command: not --crash cd foobar
# CHECK: # | Error: 'not --crash' cannot call 'cd'
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: not-calls-colon.txt {{.*}}
# CHECK: not not : foobar
# CHECK: # executed command: not not : foobar
# CHECK: not --crash :
# CHECK: # executed command: not --crash :
# CHECK: # | Error: 'not --crash' cannot call ':'
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: not-calls-diff-with-crash.txt {{.*}}
# CHECK: not --crash diff -u {{.*}}
# CHECK: # executed command: not --crash diff -u {{.*}}
# CHECK-NOT: # executed command: {{.*}}
# CHECK-NOT: {{[Ee]rror}}
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK-NOT: # executed command: {{.*}}
# CHECK-NOT: {{[Ee]rror}}
# CHECK: FAIL: shtest-not :: not-calls-diff.txt {{.*}}
# CHECK: not diff {{.*}}
# CHECK: # executed command: not diff {{.*}}
# CHECK: not not not diff {{.*}}
# CHECK: # executed command: not not not diff {{.*}}
# CHECK: not not not not not diff {{.*}}
# CHECK: # executed command: not not not not not diff {{.*}}
# CHECK: diff {{.*}}
# CHECK: # executed command: diff {{.*}}
# CHECK: not not diff {{.*}}
# CHECK: # executed command: not not diff {{.*}}
# CHECK: not not not not diff {{.*}}
# CHECK: # executed command: not not not not diff {{.*}}
# CHECK: not diff {{.*}}
# CHECK: # executed command: not diff {{.*}}
# CHECK-NOT: # executed command: {{.*}}
# CHECK: FAIL: shtest-not :: not-calls-echo.txt {{.*}}
# CHECK: not not echo hello world
# CHECK: # executed command: not not echo hello world
# CHECK: not --crash echo hello world
# CHECK: # executed command: not --crash echo hello world
# CHECK: # | Error: 'not --crash' cannot call 'echo'
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: not-calls-env-builtin.txt {{.*}}
# CHECK: not --crash env -u FOO BAR=3 rm {{.*}}.no-such-file
# CHECK: # executed command: not --crash env -u FOO BAR=3 rm {{.+}}.no-such-file{{.*}}
# CHECK: # | Error: 'env' cannot call 'rm'
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: not-calls-export.txt {{.*}}
# CHECK: not not export FOO=1
# CHECK: # executed command: not not export FOO=1
# CHECK: not --crash export BAZ=3
# CHECK: # executed command: not --crash export BAZ=3
# CHECK: # | Error: 'not --crash' cannot call 'export'
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: PASS: shtest-not :: not-calls-external.txt {{.*}}
# CHECK: not [[PYTHON]] fail.py
# CHECK: # executed command: not [[PYTHON_BARE]] fail.py
# CHECK: not not [[PYTHON]] pass.py
# CHECK: # executed command: not not [[PYTHON_BARE]] pass.py
# CHECK: not not not [[PYTHON]] fail.py
# CHECK: # executed command: not not not [[PYTHON_BARE]] fail.py
# CHECK: not not not not [[PYTHON]] pass.py
# CHECK: # executed command: not not not not [[PYTHON_BARE]] pass.py
# CHECK: not not --crash [[PYTHON]] pass.py
# CHECK: # executed command: not not --crash [[PYTHON_BARE]] pass.py
# CHECK: not not --crash [[PYTHON]] fail.py
# CHECK: # executed command: not not --crash [[PYTHON_BARE]] fail.py
# CHECK: not not --crash not [[PYTHON]] pass.py
# CHECK: # executed command: not not --crash not [[PYTHON_BARE]] pass.py
# CHECK: not not --crash not [[PYTHON]] fail.py
# CHECK: # executed command: not not --crash not [[PYTHON_BARE]] fail.py
# CHECK: env not [[PYTHON]] fail.py | {{.*}}
# CHECK: # executed command: env not [[PYTHON_BARE]] fail.py
# CHECK: not env [[PYTHON]] fail.py | {{.*}}
# CHECK: # executed command: not env [[PYTHON_BARE]] fail.py
# CHECK: env FOO=1 not [[PYTHON]] fail.py | {{.*}}
# CHECK: # executed command: env FOO=1 not [[PYTHON_BARE]] fail.py
# CHECK: not env FOO=1 BAR=1 [[PYTHON]] fail.py | {{.*}}
# CHECK: # executed command: not env FOO=1 BAR=1 [[PYTHON_BARE]] fail.py
# CHECK: env FOO=1 BAR=1 not env -u FOO BAR=2 [[PYTHON]] fail.py | {{.*}}
# CHECK: # executed command: env FOO=1 BAR=1 not env -u FOO BAR=2 [[PYTHON_BARE]] fail.py
# CHECK: not env FOO=1 BAR=1 not env -u FOO -u BAR [[PYTHON]] pass.py | {{.*}}
# CHECK: # executed command: not env FOO=1 BAR=1 not env -u FOO -u BAR [[PYTHON_BARE]] pass.py
# CHECK: not not env FOO=1 env FOO=2 BAR=1 [[PYTHON]] pass.py | {{.*}}
# CHECK: # executed command: not not env FOO=1 env FOO=2 BAR=1 [[PYTHON_BARE]] pass.py
# CHECK: env FOO=1 -u BAR env -u FOO BAR=1 not not [[PYTHON]] pass.py | {{.*}}
# CHECK: # executed command: env FOO=1 -u BAR env -u FOO BAR=1 not not [[PYTHON_BARE]] pass.py
# CHECK: not env FOO=1 BAR=1 env FOO=2 BAR=2 not --crash [[PYTHON]] pass.py | {{.*}}
# CHECK: # executed command: not env FOO=1 BAR=1 env FOO=2 BAR=2 not --crash [[PYTHON_BARE]] pass.py
# CHECK: not env FOO=1 BAR=1 not --crash not [[PYTHON]] pass.py | {{.*}}
# CHECK: # executed command: not env FOO=1 BAR=1 not --crash not [[PYTHON_BARE]] pass.py
# CHECK: not not --crash env -u BAR not env -u FOO BAR=1 [[PYTHON]] pass.py | {{.*}}
# CHECK: # executed command: not not --crash env -u BAR not env -u FOO BAR=1 [[PYTHON_BARE]] pass.py
# CHECK: FAIL: shtest-not :: not-calls-fail2.txt {{.*}}
# CHECK-NEXT: {{.*}} TEST 'shtest-not :: not-calls-fail2.txt' FAILED {{.*}}
# CHECK-NEXT: Exit Code: 1
# CHECK: FAIL: shtest-not :: not-calls-mkdir.txt {{.*}}
# CHECK: not mkdir {{.*}}
# CHECK: # executed command: not mkdir {{.*}}
# CHECK: not --crash mkdir foobar
# CHECK: # executed command: not --crash mkdir foobar
# CHECK: # | Error: 'not --crash' cannot call 'mkdir'
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: FAIL: shtest-not :: not-calls-rm.txt {{.*}}
# CHECK: not rm {{.*}}
# CHECK: # executed command: not rm {{.*}}
# CHECK: not --crash rm foobar
# CHECK: # executed command: not --crash rm foobar
# CHECK: # | Error: 'not --crash' cannot call 'rm'
# CHECK: # error: command failed with exit status: {{.*}}
# CHECK: Total Discovered Tests: 17
# CHECK: Passed: 1 {{\([0-9]*\.[0-9]*%\)}}
# CHECK: Failed: 16 {{\([0-9]*\.[0-9]*%\)}}
# CHECK-NOT: {{.}}