123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417 |
- # Check the internal shell handling component of the ShTest format.
- #
- # RUN: not %{lit} -j 1 -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
- #
- # 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: FAIL: shtest-shell :: diff-encodings.txt
- # CHECK: *** TEST 'shtest-shell :: diff-encodings.txt' FAILED ***
- # CHECK: $ "diff" "-u" "diff-in.bin" "diff-in.bin"
- # CHECK-NOT: error
- # CHECK: $ "diff" "-u" "diff-in.utf16" "diff-in.bin"
- # CHECK: # command output:
- # 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: error: command failed with exit status: 1
- # CHECK: $ "true"
- # CHECK: $ "diff" "-u" "diff-in.utf8" "diff-in.bin"
- # CHECK: # command output:
- # 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: error: command failed with exit status: 1
- # CHECK: $ "true"
- # CHECK: $ "diff" "-u" "diff-in.bin" "diff-in.utf8"
- # CHECK: # command output:
- # 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: error: command failed with exit status: 1
- # CHECK: $ "true"
- # CHECK: $ "false"
- # CHECK: ***
- # CHECK: FAIL: shtest-shell :: diff-error-0.txt
- # CHECK: *** TEST 'shtest-shell :: diff-error-0.txt' FAILED ***
- # CHECK: $ "diff" "diff-error-0.txt" "diff-error-0.txt"
- # CHECK: # command stderr:
- # CHECK: Unsupported: 'diff' cannot be part of a pipeline
- # CHECK: error: command failed with exit status: 127
- # 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: 127
- # 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: 127
- # 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 output:
- # CHECK: diff-error-4.txt.tmp
- # CHECK: diff-error-4.txt.tmp1
- # CHECK: *** 1 ****
- # CHECK: ! hello-first
- # CHECK: --- 1 ----
- # CHECK: ! hello-second
- # 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: 127
- # 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: 127
- # 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 output:
- # 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 output:
- # 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 output:
- # 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 output:
- # 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 output:
- # 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 output:
- # 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 output:
- # 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: 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"
- # CHECK: # command output:
- # 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: error: command failed with exit status: 1
- # CHECK: $ "true"
- # CHECK: $ "diff" "-u" "diff-in.unix" "diff-in.dos"
- # CHECK: # command output:
- # 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: error: command failed with exit status: 1
- # CHECK: $ "true"
- # CHECK: $ "diff" "-u" "--strip-trailing-cr" "diff-in.dos" "diff-in.unix"
- # CHECK: # command output:
- # CHECK: @@
- # CHECK-NEXT: In this file, the
- # CHECK-NEXT: -sequence "\r\n"
- # CHECK-NEXT: +sequence "\n"
- # CHECK-NEXT: terminates lines.
- # CHECK: error: command failed with exit status: 1
- # CHECK: $ "true"
- # CHECK: $ "diff" "-u" "--strip-trailing-cr" "diff-in.unix" "diff-in.dos"
- # CHECK: # command output:
- # CHECK: @@
- # CHECK-NEXT: In this file, the
- # CHECK-NEXT: -sequence "\n"
- # CHECK-NEXT: +sequence "\r\n"
- # CHECK-NEXT: terminates lines.
- # CHECK: error: command failed with exit status: 1
- # CHECK: $ "true"
- # CHECK: $ "false"
- # CHECK: ***
- # CHECK: FAIL: shtest-shell :: diff-unified-error-0.txt
- # CHECK: *** TEST 'shtest-shell :: diff-unified-error-0.txt' FAILED ***
- # CHECK: $ "diff" "-U" "30.1" "{{[^"]*}}" "{{[^"]*}}"
- # CHECK: # command stderr:
- # CHECK: Error: invalid '-U' argument: 30.1
- # CHECK: error: command failed with exit status: 127
- # CHECK: ***
- # CHECK: FAIL: shtest-shell :: diff-unified-error-1.txt
- # CHECK: *** TEST 'shtest-shell :: diff-unified-error-1.txt' FAILED ***
- # CHECK: $ "diff" "-U-1" "{{[^"]*}}" "{{[^"]*}}"
- # CHECK: # command stderr:
- # CHECK: Error: invalid '-U' argument: -1
- # CHECK: error: command failed with exit status: 127
- # CHECK: ***
- # CHECK: FAIL: shtest-shell :: diff-unified.txt
- # CHECK: *** TEST 'shtest-shell :: diff-unified.txt' FAILED ***
- # CHECK: $ "diff" "-u" "{{[^"]*}}.foo" "{{[^"]*}}.bar"
- # CHECK: # command output:
- # 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-EMPTY:
- # CHECK-NEXT: error: command failed with exit status: 1
- # CHECK-NEXT: $ "true"
- # CHECK: $ "diff" "-U" "2" "{{[^"]*}}.foo" "{{[^"]*}}.bar"
- # CHECK: # command output:
- # CHECK: @@ {{.*}} @@
- # CHECK-NEXT: 4
- # CHECK-NEXT: 5
- # CHECK-NEXT: -6 foo
- # CHECK-NEXT: +6 bar
- # CHECK-NEXT: 7
- # CHECK-NEXT: 8
- # CHECK-EMPTY:
- # CHECK-NEXT: error: command failed with exit status: 1
- # CHECK-NEXT: $ "true"
- # CHECK: $ "diff" "-U4" "{{[^"]*}}.foo" "{{[^"]*}}.bar"
- # CHECK: # command output:
- # 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-EMPTY:
- # CHECK-NEXT: error: command failed with exit status: 1
- # CHECK-NEXT: $ "true"
- # CHECK: $ "diff" "-U0" "{{[^"]*}}.foo" "{{[^"]*}}.bar"
- # CHECK: # command output:
- # CHECK: @@ {{.*}} @@
- # CHECK-NEXT: -6 foo
- # CHECK-NEXT: +6 bar
- # CHECK-EMPTY:
- # CHECK-NEXT: error: command failed with exit status: 1
- # CHECK-NEXT: $ "true"
- # CHECK: $ "false"
- # CHECK: ***
- # 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: FAIL: shtest-shell :: error-1.txt
- # CHECK: *** TEST 'shtest-shell :: error-1.txt' FAILED ***
- # CHECK: shell parser error on: ': \'RUN: at line 3\'; echo "missing quote'
- # CHECK: ***
- # 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"
- # 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"
- # 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: PASS: shtest-shell :: valid-shell.txt
- # CHECK: Failing Tests (32)
|