| # Check the internal shell handling component of the ShTest format. |
| |
| # RUN: not %{lit} -v %{inputs}/shtest-shell > %t.out |
| # FIXME: Temporarily dump test output so we can debug failing tests on |
| # buildbots. |
| # RUN: cat %t.out |
| # RUN: FileCheck --input-file %t.out %s |
| # |
| # Test again in non-UTF shell to catch potential errors with python 2 seen |
| # on stdout-encoding.txt |
| # RUN: env PYTHONIOENCODING=ascii not %{lit} -a %{inputs}/shtest-shell > %t.ascii.out |
| # FIXME: Temporarily dump test output so we can debug failing tests on |
| # buildbots. |
| # RUN: cat %t.ascii.out |
| # RUN: FileCheck --input-file %t.ascii.out %s |
| # |
| # END. |
| |
| # CHECK: -- Testing: |
| |
| # CHECK: FAIL: shtest-shell :: cat-error-0.txt |
| # CHECK: *** TEST 'shtest-shell :: cat-error-0.txt' FAILED *** |
| # CHECK: cat -b temp1.txt |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Unsupported: 'cat': option -b not recognized |
| # CHECK: # error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: cat-error-1.txt |
| # CHECK: *** TEST 'shtest-shell :: cat-error-1.txt' FAILED *** |
| # CHECK: cat temp1.txt |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | [Errno 2] No such file or directory: 'temp1.txt' |
| # CHECK: # error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: colon-error.txt |
| # CHECK: *** TEST 'shtest-shell :: colon-error.txt' FAILED *** |
| # CHECK: : |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Unsupported: ':' cannot be part of a pipeline |
| # CHECK: # error: command failed with exit status: 127 |
| # CHECK: *** |
| |
| # CHECK: PASS: shtest-shell :: continuations.txt |
| |
| # CHECK: PASS: shtest-shell :: dev-null.txt |
| |
| # CHECK: FAIL: shtest-shell :: diff-b.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-b.txt' FAILED *** |
| # CHECK: diff -b {{[^"]*}}.0 {{[^"]*}}.1 |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK: # | {{.*}}1,2 |
| # CHECK-NEXT: # | f o o |
| # CHECK-NEXT: # | ! b a r |
| # CHECK-NEXT: # | --- |
| # CHECK-NEXT: # | f o o |
| # CHECK-NEXT: # | ! bar |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| |
| # CHECK: FAIL: shtest-shell :: diff-encodings.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-encodings.txt' FAILED *** |
| |
| # CHECK: diff -u diff-in.bin diff-in.bin |
| # CHECK-NEXT: # executed command: diff -u diff-in.bin diff-in.bin |
| # CHECK-NOT: error |
| |
| # CHECK: diff -u diff-in.utf16 diff-in.bin && false || true |
| # CHECK-NEXT: # executed command: diff -u diff-in.utf16 diff-in.bin |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK-NEXT: # | --- |
| # CHECK-NEXT: # | +++ |
| # CHECK-NEXT: # | @@ |
| # CHECK-NEXT: # | {{.f.o.o.$}} |
| # CHECK-NEXT: # | {{-.b.a.r.$}} |
| # CHECK-NEXT: # | {{\+.b.a.r.}} |
| # CHECK-NEXT: # | {{.b.a.z.$}} |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: diff -u diff-in.utf8 diff-in.bin && false || true |
| # CHECK-NEXT: # executed command: diff -u diff-in.utf8 diff-in.bin |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK-NEXT: # | --- |
| # CHECK-NEXT: # | +++ |
| # CHECK-NEXT: # | @@ |
| # CHECK-NEXT: # | -foo |
| # CHECK-NEXT: # | -bar |
| # CHECK-NEXT: # | -baz |
| # CHECK-NEXT: # | {{\+.f.o.o.$}} |
| # CHECK-NEXT: # | {{\+.b.a.r.}} |
| # CHECK-NEXT: # | {{\+.b.a.z.$}} |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: diff -u diff-in.bin diff-in.utf8 && false || true |
| # CHECK-NEXT: # executed command: diff -u diff-in.bin diff-in.utf8 |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK-NEXT: # | --- |
| # CHECK-NEXT: # | +++ |
| # CHECK-NEXT: # | @@ |
| # CHECK-NEXT: # | {{-.f.o.o.$}} |
| # CHECK-NEXT: # | {{-.b.a.r.}} |
| # CHECK-NEXT: # | {{-.b.a.z.$}} |
| # CHECK-NEXT: # | +foo |
| # CHECK-NEXT: # | +bar |
| # CHECK-NEXT: # | +baz |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: cat diff-in.bin | diff -u - diff-in.bin |
| # CHECK-NOT: error |
| |
| # CHECK: cat diff-in.bin | diff -u diff-in.bin - |
| # CHECK-NOT: error |
| |
| # CHECK: cat diff-in.bin | diff -u diff-in.utf16 - && false || true |
| # CHECK-NEXT: # executed command: cat diff-in.bin |
| # CHECK-NEXT: # executed command: diff -u diff-in.utf16 - |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK-NEXT: # | --- |
| # CHECK-NEXT: # | +++ |
| # CHECK-NEXT: # | @@ |
| # CHECK-NEXT: # | {{.f.o.o.$}} |
| # CHECK-NEXT: # | {{-.b.a.r.$}} |
| # CHECK-NEXT: # | {{\+.b.a.r.}} |
| # CHECK-NEXT: # | {{.b.a.z.$}} |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: cat diff-in.bin | diff -u diff-in.utf8 - && false || true |
| # CHECK-NEXT: # executed command: cat diff-in.bin |
| # CHECK-NEXT: # executed command: diff -u diff-in.utf8 - |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK-NEXT: # | --- |
| # CHECK-NEXT: # | +++ |
| # CHECK-NEXT: # | @@ |
| # CHECK-NEXT: # | -foo |
| # CHECK-NEXT: # | -bar |
| # CHECK-NEXT: # | -baz |
| # CHECK-NEXT: # | {{\+.f.o.o.$}} |
| # CHECK-NEXT: # | {{\+.b.a.r.}} |
| # CHECK-NEXT: # | {{\+.b.a.z.$}} |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: cat diff-in.bin | diff -u - diff-in.utf8 && false || true |
| # CHECK-NEXT: # executed command: cat diff-in.bin |
| # CHECK-NEXT: # executed command: diff -u - diff-in.utf8 |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK-NEXT: # | --- |
| # CHECK-NEXT: # | +++ |
| # CHECK-NEXT: # | @@ |
| # CHECK-NEXT: # | {{-.f.o.o.$}} |
| # CHECK-NEXT: # | {{-.b.a.r.}} |
| # CHECK-NEXT: # | {{-.b.a.z.$}} |
| # CHECK-NEXT: # | +foo |
| # CHECK-NEXT: # | +bar |
| # CHECK-NEXT: # | +baz |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: false |
| |
| # CHECK: *** |
| |
| |
| # CHECK: FAIL: shtest-shell :: diff-error-1.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-error-1.txt' FAILED *** |
| # CHECK: diff -B temp1.txt temp2.txt |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Unsupported: 'diff': option -B not recognized |
| # CHECK: # error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: diff-error-2.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-error-2.txt' FAILED *** |
| # CHECK: diff temp.txt |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: missing or extra operand |
| # CHECK: # error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: diff-error-3.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-error-3.txt' FAILED *** |
| # CHECK: diff temp.txt temp1.txt |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: 'diff' command failed |
| # CHECK: error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: diff-error-4.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-error-4.txt' FAILED *** |
| # CHECK: Exit Code: 1 |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK-NEXT: # | {{.*}}diff-error-4.txt.tmp |
| # CHECK-NEXT: # | {{.*}}diff-error-4.txt.tmp1 |
| # CHECK-NEXT: # | {{\*+}} |
| # CHECK-NEXT: # | *** 1 **** |
| # CHECK-NEXT: # | ! hello-first |
| # CHECK-NEXT: # | --- 1 ---- |
| # CHECK-NEXT: # | ! hello-second |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: diff-error-5.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-error-5.txt' FAILED *** |
| # CHECK: diff |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: missing or extra operand |
| # CHECK: # error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: diff-error-6.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-error-6.txt' FAILED *** |
| # CHECK: diff |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: missing or extra operand |
| # CHECK: # error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| |
| # CHECK: FAIL: shtest-shell :: diff-pipes.txt |
| |
| # CHECK: *** TEST 'shtest-shell :: diff-pipes.txt' FAILED *** |
| |
| # CHECK: diff {{[^ ]*}}.foo {{.*}}.foo | FileCheck {{.*}} |
| # CHECK-NOT: note |
| # CHECK-NOT: error |
| |
| # CHECK: diff -u {{.*}}.foo {{.*}}.bar | FileCheck {{.*}} && false || true |
| # CHECK-NEXT: # executed command: diff -u {{.+}}.foo{{.*}} {{.+}}.bar{{.*}} |
| # CHECK-NEXT: # note: command had no output on stdout or stderr |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: FileCheck |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: cat {{.*}}.foo | diff -u - {{.*}}.foo |
| # CHECK-NOT: note |
| # CHECK-NOT: error |
| |
| # CHECK: cat {{.*}}.foo | diff -u {{.*}}.foo - |
| # CHECK-NOT: note |
| # CHECK-NOT: error |
| |
| # CHECK: cat {{.*}}.bar | diff -u {{.*}}.foo - && false || true |
| # CHECK-NEXT: # executed command: cat {{.+}}.bar{{.*}} |
| # CHECK-NEXT: # executed command: diff -u {{.+}}.foo{{.*}} - |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ |
| # CHECK-NEXT: # | -foo |
| # CHECK-NEXT: # | +bar |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: cat {{.*}}.bar | diff -u - {{.*}}.foo && false || true |
| # CHECK-NEXT: # executed command: cat {{.+}}.bar{{.*}} |
| # CHECK-NEXT: # executed command: diff -u - {{.+}}.foo{{.*}} |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ |
| # CHECK-NEXT: # | -bar |
| # CHECK-NEXT: # | +foo |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: cat {{.*}}.foo | diff - {{.*}}.foo | FileCheck {{.*}} |
| # CHECK-NOT: note |
| # CHECK-NOT: error |
| |
| # CHECK: cat {{.*}}.bar | diff -u {{.*}}.foo - | FileCheck {{.*}} |
| # CHECK-NEXT: # executed command: cat {{.+}}.bar{{.*}} |
| # CHECK-NEXT: # executed command: diff -u {{.+}}.foo{{.*}} - |
| # CHECK-NEXT: note: command had no output on stdout or stderr |
| # CHECK-NEXT: error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: FileCheck |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: false |
| |
| # CHECK: *** |
| |
| |
| # CHECK: FAIL: shtest-shell :: diff-r-error-0.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-r-error-0.txt' FAILED *** |
| # CHECK: diff -r |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK: # | Only in {{.*}}dir1: dir1unique |
| # CHECK: # | Only in {{.*}}dir2: dir2unique |
| # CHECK: # error: command failed with exit status: 1 |
| |
| # CHECK: FAIL: shtest-shell :: diff-r-error-1.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-r-error-1.txt' FAILED *** |
| # CHECK: diff -r |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK: # | *** {{.*}}dir1{{.*}}subdir{{.*}}f01 |
| # CHECK: # | --- {{.*}}dir2{{.*}}subdir{{.*}}f01 |
| # CHECK: # | ! 12345 |
| # CHECK: # | ! 00000 |
| # CHECK: # error: command failed with exit status: 1 |
| |
| # CHECK: FAIL: shtest-shell :: diff-r-error-2.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-r-error-2.txt' FAILED *** |
| # CHECK: diff -r |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK: # | Only in {{.*}}dir2: extrafile |
| # CHECK: # error: command failed with exit status: 1 |
| |
| # CHECK: FAIL: shtest-shell :: diff-r-error-3.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-r-error-3.txt' FAILED *** |
| # CHECK: diff -r |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK: # | Only in {{.*}}dir1: extra_subdir |
| # CHECK: # error: command failed with exit status: 1 |
| |
| # CHECK: FAIL: shtest-shell :: diff-r-error-4.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-r-error-4.txt' FAILED *** |
| # CHECK: diff -r |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK: # | File {{.*}}dir1{{.*}}extra_subdir is a directory while file {{.*}}dir2{{.*}}extra_subdir is a regular file |
| # CHECK: # error: command failed with exit status: 1 |
| |
| # CHECK: FAIL: shtest-shell :: diff-r-error-5.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-r-error-5.txt' FAILED *** |
| # CHECK: diff -r |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK: # | Only in {{.*}}dir1: extra_subdir |
| # CHECK: # error: command failed with exit status: 1 |
| |
| # CHECK: FAIL: shtest-shell :: diff-r-error-6.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-r-error-6.txt' FAILED *** |
| # CHECK: diff -r |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK: # | File {{.*}}dir1{{.*}}extra_file is a regular empty file while file {{.*}}dir2{{.*}}extra_file is a directory |
| # CHECK: # error: command failed with exit status: 1 |
| |
| # CHECK: FAIL: shtest-shell :: diff-r-error-7.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-r-error-7.txt' FAILED *** |
| # CHECK: diff -r - {{.*}} |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: cannot recursively compare '-' |
| # CHECK: # error: command failed with exit status: 1 |
| |
| # CHECK: FAIL: shtest-shell :: diff-r-error-8.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-r-error-8.txt' FAILED *** |
| # CHECK: diff -r {{.*}} - |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: cannot recursively compare '-' |
| # CHECK: # error: command failed with exit status: 1 |
| |
| # CHECK: PASS: shtest-shell :: diff-r.txt |
| |
| |
| # CHECK: FAIL: shtest-shell :: diff-strip-trailing-cr.txt |
| |
| # CHECK: *** TEST 'shtest-shell :: diff-strip-trailing-cr.txt' FAILED *** |
| |
| # CHECK: diff -u diff-in.dos diff-in.unix && false || true |
| # CHECK-NEXT: # executed command: diff -u diff-in.dos diff-in.unix |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ |
| # CHECK-NEXT: # | -In this file, the |
| # CHECK-NEXT: # | -sequence "\r\n" |
| # CHECK-NEXT: # | -terminates lines. |
| # CHECK-NEXT: # | +In this file, the |
| # CHECK-NEXT: # | +sequence "\n" |
| # CHECK-NEXT: # | +terminates lines. |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: diff -u diff-in.unix diff-in.dos && false || true |
| # CHECK-NEXT: # executed command: diff -u diff-in.unix diff-in.dos |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ |
| # CHECK-NEXT: # | -In this file, the |
| # CHECK-NEXT: # | -sequence "\n" |
| # CHECK-NEXT: # | -terminates lines. |
| # CHECK-NEXT: # | +In this file, the |
| # CHECK-NEXT: # | +sequence "\r\n" |
| # CHECK-NEXT: # | +terminates lines. |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: diff -u --strip-trailing-cr diff-in.dos diff-in.unix && false || true |
| # CHECK-NEXT: executed command: diff -u --strip-trailing-cr diff-in.dos diff-in.unix |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ |
| # CHECK-NEXT: # | In this file, the |
| # CHECK-NEXT: # | -sequence "\r\n" |
| # CHECK-NEXT: # | +sequence "\n" |
| # CHECK-NEXT: # | terminates lines. |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: diff -u --strip-trailing-cr diff-in.unix diff-in.dos && false || true |
| # CHECK-NEXT: # executed command: diff -u --strip-trailing-cr diff-in.unix diff-in.dos |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ |
| # CHECK-NEXT: # | In this file, the |
| # CHECK-NEXT: # | -sequence "\n" |
| # CHECK-NEXT: # | +sequence "\r\n" |
| # CHECK-NEXT: # | terminates lines. |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: false |
| |
| # CHECK: *** |
| |
| |
| # CHECK: FAIL: shtest-shell :: diff-unified.txt |
| |
| # CHECK: *** TEST 'shtest-shell :: diff-unified.txt' FAILED *** |
| |
| # CHECK: diff -u {{.*}}.foo {{.*}}.bar && false || true |
| # CHECK-NEXT: # executed command: diff -u {{.+}}.foo{{.*}} {{.+}}.bar{{.*}} |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ {{.*}} @@ |
| # CHECK-NEXT: # | 3 |
| # CHECK-NEXT: # | 4 |
| # CHECK-NEXT: # | 5 |
| # CHECK-NEXT: # | -6 foo |
| # CHECK-NEXT: # | +6 bar |
| # CHECK-NEXT: # | 7 |
| # CHECK-NEXT: # | 8 |
| # CHECK-NEXT: # | 9 |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: diff -U 2 {{.*}}.foo {{.*}}.bar && false || true |
| # CHECK-NEXT: # executed command: diff -U 2 {{.+}}.foo{{.*}} {{.+}}.bar{{.*}} |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ {{.*}} @@ |
| # CHECK-NEXT: # | 4 |
| # CHECK-NEXT: # | 5 |
| # CHECK-NEXT: # | -6 foo |
| # CHECK-NEXT: # | +6 bar |
| # CHECK-NEXT: # | 7 |
| # CHECK-NEXT: # | 8 |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: diff -U4 {{.*}}.foo {{.*}}.bar && false || true |
| # CHECK-NEXT: # executed command: diff -U4 {{.+}}.foo{{.*}} {{.+}}.bar{{.*}} |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ {{.*}} @@ |
| # CHECK-NEXT: # | 2 |
| # CHECK-NEXT: # | 3 |
| # CHECK-NEXT: # | 4 |
| # CHECK-NEXT: # | 5 |
| # CHECK-NEXT: # | -6 foo |
| # CHECK-NEXT: # | +6 bar |
| # CHECK-NEXT: # | 7 |
| # CHECK-NEXT: # | 8 |
| # CHECK-NEXT: # | 9 |
| # CHECK-NEXT: # | 10 |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: diff -U0 {{.*}}.foo {{.*}}.bar && false || true |
| # CHECK-NEXT: # executed command: diff -U0 {{.+}}.foo{{.*}} {{.+}}.bar{{.*}} |
| # CHECK-NEXT: # .---command stdout{{-*}} |
| # CHECK: # | @@ {{.*}} @@ |
| # CHECK-NEXT: # | -6 foo |
| # CHECK-NEXT: # | +6 bar |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK-NEXT: # executed command: true |
| |
| # CHECK: diff -U 30.1 {{.*}} {{.*}} && false || true |
| # CHECK: # executed command: diff -U 30.1 {{.*}} {{.*}} |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: invalid '-U' argument: 30.1 |
| # CHECK: # error: command failed with exit status: 1 |
| # CHECK: # executed command: true |
| |
| # CHECK: diff -U-1 {{.*}} {{.*}} && false || true |
| # CHECK: # executed command: diff -U-1 {{.*}} {{.*}} |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: invalid '-U' argument: -1 |
| # CHECK: # error: command failed with exit status: 1 |
| # CHECK: # executed command: true |
| |
| # CHECK: false |
| |
| # CHECK: *** |
| |
| |
| # CHECK: FAIL: shtest-shell :: diff-w.txt |
| # CHECK: *** TEST 'shtest-shell :: diff-w.txt' FAILED *** |
| # CHECK: diff -w {{.*}}.0 {{.*}}.1 |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK: # | {{\*+}} 1,3 |
| # CHECK-NEXT: # | foo |
| # CHECK-NEXT: # | bar |
| # CHECK-NEXT: # | ! baz |
| # CHECK-NEXT: # | --- |
| # CHECK-NEXT: # | foo |
| # CHECK-NEXT: # | bar |
| # CHECK-NEXT: # | ! bat |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NEXT: # error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: echo-at-redirect-stderr.txt |
| # CHECK: *** TEST 'shtest-shell :: echo-at-redirect-stderr.txt' FAILED *** |
| # CHECK: @echo 2> {{.*}} |
| # CHECK: # executed command: @echo |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | stdin and stderr redirects not supported for @echo |
| # CHECK: error: command failed with exit status: |
| |
| # CHECK: FAIL: shtest-shell :: echo-at-redirect-stdin.txt |
| # CHECK: *** TEST 'shtest-shell :: echo-at-redirect-stdin.txt' FAILED *** |
| # CHECK: @echo < {{.*}} |
| # CHECK: # executed command: @echo |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | stdin and stderr redirects not supported for @echo |
| # CHECK: error: command failed with exit status: |
| |
| # CHECK: FAIL: shtest-shell :: echo-redirect-stderr.txt |
| # CHECK: *** TEST 'shtest-shell :: echo-redirect-stderr.txt' FAILED *** |
| # CHECK: echo 2> {{.*}} |
| # CHECK: # executed command: echo |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | stdin and stderr redirects not supported for echo |
| # CHECK: error: command failed with exit status: |
| |
| # CHECK: FAIL: shtest-shell :: echo-redirect-stdin.txt |
| # CHECK: *** TEST 'shtest-shell :: echo-redirect-stdin.txt' FAILED *** |
| # CHECK: echo < {{.*}} |
| # CHECK: # executed command: echo |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | stdin and stderr redirects not supported for echo |
| # CHECK: error: command failed with exit status: |
| |
| # CHECK: FAIL: shtest-shell :: error-0.txt |
| # CHECK: *** TEST 'shtest-shell :: error-0.txt' FAILED *** |
| # CHECK: not-a-real-command |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | 'not-a-real-command': command not found |
| # CHECK: # error: command failed with exit status: 127 |
| # CHECK: *** |
| |
| # FIXME: The output here sucks. |
| # |
| # CHECK: UNRESOLVED: shtest-shell :: error-1.txt |
| # CHECK-NEXT: *** TEST 'shtest-shell :: error-1.txt' FAILED *** |
| # CHECK-NEXT: Exit Code: 1 |
| # CHECK-EMPTY: |
| # CHECK-NEXT: Command Output (stdout): |
| # CHECK-NEXT: -- |
| # CHECK-NEXT: # shell parser error on RUN: at line 3: echo "missing quote |
| # CHECK-EMPTY: |
| # CHECK-NEXT: -- |
| # CHECK-EMPTY: |
| # CHECK-NEXT: *** |
| |
| # CHECK: FAIL: shtest-shell :: error-2.txt |
| # CHECK: *** TEST 'shtest-shell :: error-2.txt' FAILED *** |
| # CHECK: Unsupported redirect: |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: mkdir-error-0.txt |
| # CHECK: *** TEST 'shtest-shell :: mkdir-error-0.txt' FAILED *** |
| # CHECK: mkdir -p temp | rm -rf temp |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Unsupported: 'mkdir' cannot be part of a pipeline |
| # CHECK: # error: command failed with exit status: 127 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: mkdir-error-1.txt |
| # CHECK: *** TEST 'shtest-shell :: mkdir-error-1.txt' FAILED *** |
| # CHECK: mkdir -p -m 777 temp |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Unsupported: 'mkdir': option -m not recognized |
| # CHECK: # error: command failed with exit status: 127 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: mkdir-error-2.txt |
| # CHECK: *** TEST 'shtest-shell :: mkdir-error-2.txt' FAILED *** |
| # CHECK: mkdir -p |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: 'mkdir' is missing an operand |
| # CHECK: # error: command failed with exit status: 127 |
| # CHECK: *** |
| |
| # CHECK: PASS: shtest-shell :: redirects.txt |
| |
| # CHECK: FAIL: shtest-shell :: rm-error-0.txt |
| # CHECK: *** TEST 'shtest-shell :: rm-error-0.txt' FAILED *** |
| # CHECK: rm -rf temp | echo "hello" |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Unsupported: 'rm' cannot be part of a pipeline |
| # CHECK: # error: command failed with exit status: 127 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: rm-error-1.txt |
| # CHECK: *** TEST 'shtest-shell :: rm-error-1.txt' FAILED *** |
| # CHECK: rm -f -v temp |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Unsupported: 'rm': option -v not recognized |
| # CHECK: # error: command failed with exit status: 127 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: rm-error-2.txt |
| # CHECK: *** TEST 'shtest-shell :: rm-error-2.txt' FAILED *** |
| # CHECK: rm -r hello |
| # CHECK: # .---command stderr{{-*}} |
| # CHECK: # | Error: 'rm' command failed |
| # CHECK: # error: command failed with exit status: 1 |
| # CHECK: *** |
| |
| # CHECK: FAIL: shtest-shell :: rm-error-3.txt |
| # CHECK: *** TEST 'shtest-shell :: rm-error-3.txt' FAILED *** |
| # CHECK: Exit Code: 1 |
| # CHECK: *** |
| |
| # CHECK: PASS: shtest-shell :: rm-unicode-0.txt |
| # CHECK: PASS: shtest-shell :: sequencing-0.txt |
| # CHECK: XFAIL: shtest-shell :: sequencing-1.txt |
| |
| # CHECK: FAIL: shtest-shell :: stdout-encoding.txt |
| # CHECK: *** TEST 'shtest-shell :: stdout-encoding.txt' FAILED *** |
| # CHECK: cat diff-in.bin |
| # CHECK: # .---command stdout{{-*}} |
| # CHECK-NEXT: # | {{.f.o.o.$}} |
| # CHECK-NEXT: # | {{.b.a.r.}} |
| # CHECK-NEXT: # | {{.b.a.z.$}} |
| # CHECK-NEXT: # `---{{-*}} |
| # CHECK-NOT: error |
| # CHECK: false |
| # CHECK: *** |
| |
| # CHECK: PASS: shtest-shell :: valid-shell.txt |
| # CHECK: Unresolved Tests (1) |
| # CHECK: Failed Tests (38) |