1# Check the internal shell handling component of the ShTest format. 2# 3# RUN: not %{lit} -j 1 -v %{inputs}/shtest-shell > %t.out 4# FIXME: Temporarily dump test output so we can debug failing tests on 5# buildbots. 6# RUN: cat %t.out 7# RUN: FileCheck --input-file %t.out %s 8# 9# END. 10 11# CHECK: -- Testing: 12 13# CHECK: FAIL: shtest-shell :: cat-error-0.txt 14# CHECK: *** TEST 'shtest-shell :: cat-error-0.txt' FAILED *** 15# CHECK: $ "cat" "-b" "temp1.txt" 16# CHECK: # command stderr: 17# CHECK: Unsupported: 'cat': option -b not recognized 18# CHECK: error: command failed with exit status: 1 19# CHECK: *** 20 21# CHECK: FAIL: shtest-shell :: cat-error-1.txt 22# CHECK: *** TEST 'shtest-shell :: cat-error-1.txt' FAILED *** 23# CHECK: $ "cat" "temp1.txt" 24# CHECK: # command stderr: 25# CHECK: [Errno 2] No such file or directory: 'temp1.txt' 26# CHECK: error: command failed with exit status: 1 27# CHECK: *** 28 29# CHECK: FAIL: shtest-shell :: colon-error.txt 30# CHECK: *** TEST 'shtest-shell :: colon-error.txt' FAILED *** 31# CHECK: $ ":" 32# CHECK: # command stderr: 33# CHECK: Unsupported: ':' cannot be part of a pipeline 34# CHECK: error: command failed with exit status: 127 35# CHECK: *** 36 37# CHECK: FAIL: shtest-shell :: diff-error-0.txt 38# CHECK: *** TEST 'shtest-shell :: diff-error-0.txt' FAILED *** 39# CHECK: $ "diff" "diff-error-0.txt" "diff-error-0.txt" 40# CHECK: # command stderr: 41# CHECK: Unsupported: 'diff' cannot be part of a pipeline 42# CHECK: error: command failed with exit status: 127 43# CHECK: *** 44 45# CHECK: FAIL: shtest-shell :: diff-error-1.txt 46# CHECK: *** TEST 'shtest-shell :: diff-error-1.txt' FAILED *** 47# CHECK: $ "diff" "-B" "temp1.txt" "temp2.txt" 48# CHECK: # command stderr: 49# CHECK: Unsupported: 'diff': option -B not recognized 50# CHECK: error: command failed with exit status: 127 51# CHECK: *** 52 53# CHECK: FAIL: shtest-shell :: diff-error-2.txt 54# CHECK: *** TEST 'shtest-shell :: diff-error-2.txt' FAILED *** 55# CHECK: $ "diff" "temp.txt" 56# CHECK: # command stderr: 57# CHECK: Error: missing or extra operand 58# CHECK: error: command failed with exit status: 127 59# CHECK: *** 60 61# CHECK: FAIL: shtest-shell :: diff-error-3.txt 62# CHECK: *** TEST 'shtest-shell :: diff-error-3.txt' FAILED *** 63# CHECK: $ "diff" "temp.txt" "temp1.txt" 64# CHECK: # command stderr: 65# CHECK: Error: 'diff' command failed 66# CHECK: error: command failed with exit status: 1 67# CHECK: *** 68 69# CHECK: FAIL: shtest-shell :: diff-error-4.txt 70# CHECK: *** TEST 'shtest-shell :: diff-error-4.txt' FAILED *** 71# CHECK: Exit Code: 1 72# CHECK: # command output: 73# CHECK: diff-error-4.txt.tmp 74# CHECK: diff-error-4.txt.tmp1 75# CHECK: *** 1 **** 76# CHECK: ! hello-first 77# CHECK: --- 1 ---- 78# CHECK: ! hello-second 79# CHECK: *** 80 81# CHECK: FAIL: shtest-shell :: diff-error-5.txt 82# CHECK: *** TEST 'shtest-shell :: diff-error-5.txt' FAILED *** 83# CHECK: $ "diff" 84# CHECK: # command stderr: 85# CHECK: Error: missing or extra operand 86# CHECK: error: command failed with exit status: 127 87# CHECK: *** 88 89# CHECK: FAIL: shtest-shell :: diff-error-6.txt 90# CHECK: *** TEST 'shtest-shell :: diff-error-6.txt' FAILED *** 91# CHECK: $ "diff" 92# CHECK: # command stderr: 93# CHECK: Error: missing or extra operand 94# CHECK: error: command failed with exit status: 127 95# CHECK: *** 96 97# CHECK: FAIL: shtest-shell :: diff-r-error-0.txt 98# CHECK: *** TEST 'shtest-shell :: diff-r-error-0.txt' FAILED *** 99# CEHCK: $ "diff" "-r" 100# CHECK: # command output: 101# CHECK: Only in {{.*}}dir1: dir1unique 102# CHECK: Only in {{.*}}dir2: dir2unique 103# CHECK: error: command failed with exit status: 1 104 105# CHECK: FAIL: shtest-shell :: diff-r-error-1.txt 106# CHECK: *** TEST 'shtest-shell :: diff-r-error-1.txt' FAILED *** 107# CEHCK: $ "diff" "-r" 108# CHECK: # command output: 109# CHECK: *** {{.*}}dir1{{.*}}subdir{{.*}}f01 110# CHECK: --- {{.*}}dir2{{.*}}subdir{{.*}}f01 111# CHECK: 12345 112# CHECK: 00000 113# CHECK: error: command failed with exit status: 1 114 115# CHECK: FAIL: shtest-shell :: diff-r-error-2.txt 116# CHECK: *** TEST 'shtest-shell :: diff-r-error-2.txt' FAILED *** 117# CEHCK: $ "diff" "-r" 118# CHECK: # command output: 119# CHECK: Only in {{.*}}dir2: extrafile 120# CHECK: error: command failed with exit status: 1 121 122# CHECK: FAIL: shtest-shell :: diff-r-error-3.txt 123# CHECK: *** TEST 'shtest-shell :: diff-r-error-3.txt' FAILED *** 124# CEHCK: $ "diff" "-r" 125# CHECK: # command output: 126# CHECK: Only in {{.*}}dir1: extra_subdir 127# CHECK: error: command failed with exit status: 1 128 129# CHECK: FAIL: shtest-shell :: diff-r-error-4.txt 130# CHECK: *** TEST 'shtest-shell :: diff-r-error-4.txt' FAILED *** 131# CEHCK: $ "diff" "-r" 132# CHECK: # command output: 133# CHECK: File {{.*}}dir1{{.*}}extra_subdir is a directory while file {{.*}}dir2{{.*}}extra_subdir is a regular file 134# CHECK: error: command failed with exit status: 1 135 136# CHECK: FAIL: shtest-shell :: diff-r-error-5.txt 137# CHECK: *** TEST 'shtest-shell :: diff-r-error-5.txt' FAILED *** 138# CEHCK: $ "diff" "-r" 139# CHECK: # command output: 140# CHECK: Only in {{.*}}dir1: extra_subdir 141# CHECK: error: command failed with exit status: 1 142 143# CHECK: FAIL: shtest-shell :: diff-r-error-6.txt 144# CHECK: *** TEST 'shtest-shell :: diff-r-error-6.txt' FAILED *** 145# CEHCK: $ "diff" "-r" 146# CHECK: # command output: 147# CHECK: File {{.*}}dir1{{.*}}extra_file is a regular empty file while file {{.*}}dir2{{.*}}extra_file is a directory 148# CHECK: error: command failed with exit status: 1 149 150# CHECK: PASS: shtest-shell :: diff-r.txt 151 152# CHECK: FAIL: shtest-shell :: error-0.txt 153# CHECK: *** TEST 'shtest-shell :: error-0.txt' FAILED *** 154# CHECK: $ "not-a-real-command" 155# CHECK: # command stderr: 156# CHECK: 'not-a-real-command': command not found 157# CHECK: error: command failed with exit status: 127 158# CHECK: *** 159 160# FIXME: The output here sucks. 161# 162# CHECK: FAIL: shtest-shell :: error-1.txt 163# CHECK: *** TEST 'shtest-shell :: error-1.txt' FAILED *** 164# CHECK: shell parser error on: ': \'RUN: at line 3\'; echo "missing quote' 165# CHECK: *** 166 167# CHECK: FAIL: shtest-shell :: error-2.txt 168# CHECK: *** TEST 'shtest-shell :: error-2.txt' FAILED *** 169# CHECK: Unsupported redirect: 170# CHECK: *** 171 172# CHECK: FAIL: shtest-shell :: mkdir-error-0.txt 173# CHECK: *** TEST 'shtest-shell :: mkdir-error-0.txt' FAILED *** 174# CHECK: $ "mkdir" "-p" "temp" 175# CHECK: # command stderr: 176# CHECK: Unsupported: 'mkdir' cannot be part of a pipeline 177# CHECK: error: command failed with exit status: 127 178# CHECK: *** 179 180# CHECK: FAIL: shtest-shell :: mkdir-error-1.txt 181# CHECK: *** TEST 'shtest-shell :: mkdir-error-1.txt' FAILED *** 182# CHECK: $ "mkdir" "-p" "-m" "777" "temp" 183# CHECK: # command stderr: 184# CHECK: Unsupported: 'mkdir': option -m not recognized 185# CHECK: error: command failed with exit status: 127 186# CHECK: *** 187 188# CHECK: FAIL: shtest-shell :: mkdir-error-2.txt 189# CHECK: *** TEST 'shtest-shell :: mkdir-error-2.txt' FAILED *** 190# CHECK: $ "mkdir" "-p" 191# CHECK: # command stderr: 192# CHECK: Error: 'mkdir' is missing an operand 193# CHECK: error: command failed with exit status: 127 194# CHECK: *** 195 196# CHECK: PASS: shtest-shell :: redirects.txt 197 198# CHECK: FAIL: shtest-shell :: rm-error-0.txt 199# CHECK: *** TEST 'shtest-shell :: rm-error-0.txt' FAILED *** 200# CHECK: $ "rm" "-rf" "temp" 201# CHECK: # command stderr: 202# CHECK: Unsupported: 'rm' cannot be part of a pipeline 203# CHECK: error: command failed with exit status: 127 204# CHECK: *** 205 206# CHECK: FAIL: shtest-shell :: rm-error-1.txt 207# CHECK: *** TEST 'shtest-shell :: rm-error-1.txt' FAILED *** 208# CHECK: $ "rm" "-f" "-v" "temp" 209# CHECK: # command stderr: 210# CHECK: Unsupported: 'rm': option -v not recognized 211# CHECK: error: command failed with exit status: 127 212# CHECK: *** 213 214# CHECK: FAIL: shtest-shell :: rm-error-2.txt 215# CHECK: *** TEST 'shtest-shell :: rm-error-2.txt' FAILED *** 216# CHECK: $ "rm" "-r" "hello" 217# CHECK: # command stderr: 218# CHECK: Error: 'rm' command failed 219# CHECK: error: command failed with exit status: 1 220# CHECK: *** 221 222# CHECK: FAIL: shtest-shell :: rm-error-3.txt 223# CHECK: *** TEST 'shtest-shell :: rm-error-3.txt' FAILED *** 224# CHECK: Exit Code: 1 225# CHECK: *** 226 227# CHECK: PASS: shtest-shell :: sequencing-0.txt 228# CHECK: XFAIL: shtest-shell :: sequencing-1.txt 229# CHECK: PASS: shtest-shell :: valid-shell.txt 230# CHECK: Failing Tests (27) 231