[lit] Add a test for internal shell execution behaviors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174102 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar
2013-01-31 22:15:20 +00:00
parent a80ae9c71c
commit ac1b2e5550
10 changed files with 125 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
# Check error on an internal shell error (unable to find command).
#
# RUN: not-a-real-command

View File

@@ -0,0 +1,3 @@
# Check error on a shell parsing failure.
#
# RUN: echo "missing quote

View File

@@ -0,0 +1,3 @@
# Check error on a unsupported redirect.
#
# RUN: echo "hello" 3>&1

View File

@@ -0,0 +1,5 @@
config.name = 'shtest-shell'
config.suffixes = ['.txt']
config.test_format = lit.formats.ShTest()
config.test_source_root = None
config.test_exec_root = None

View File

@@ -0,0 +1,41 @@
# Check stdout redirect (> and >>).
#
# RUN: echo "not-present" > %t.stdout-write
# RUN: echo "is-present" > %t.stdout-write
# RUN: FileCheck --check-prefix=STDOUT-WRITE < %t.stdout-write %s
#
# STDOUT-WRITE-NOT: not-present
# STDOUT-WRITE: is-present
#
# RUN: echo "appended-line" >> %t.stdout-write
# RUN: FileCheck --check-prefix=STDOUT-APPEND < %t.stdout-write %s
#
# STDOUT-APPEND: is-present
# STDOUT-APPEND: appended-line
# Check stderr redirect (2> and 2>>).
#
# RUN: echo "not-present" > %t.stderr-write
# RUN: %S/write-to-stderr.sh 2> %t.stderr-write
# RUN: FileCheck --check-prefix=STDERR-WRITE < %t.stderr-write %s
#
# STDERR-WRITE-NOT: not-present
# STDERR-WRITE: a line on stderr
#
# RUN: %S/write-to-stderr.sh 2>> %t.stderr-write
# RUN: FileCheck --check-prefix=STDERR-APPEND < %t.stderr-write %s
#
# STDERR-APPEND: a line on stderr
# STDERR-APPEND: a line on stderr
# Check combined redirect (&>).
#
# RUN: echo "not-present" > %t.combined
# RUN: %S/write-to-stdout-and-stderr.sh &> %t.combined
# RUN: FileCheck --check-prefix=COMBINED-WRITE < %t.combined %s
#
# COMBINED-WRITE-NOT: not-present
# COMBINED-WRITE: a line on stdout
# COMBINED-WRITE: a line on stderr

View File

@@ -0,0 +1,28 @@
# Check sequencing operations.
#
# RUN: echo "first-line" > %t.out && echo "second-line" >> %t.out
# RUN: FileCheck --check-prefix CHECK-AND < %t.out %s
#
# CHECK-AND: first-line
# CHECK-AND: second-line
#
# The false case of && is tested in sequencing-2.txt
# RUN: echo "first-line" > %t.out || echo "second-line" >> %t.out
# RUN: FileCheck --check-prefix CHECK-OR-1 < %t.out %s
#
# CHECK-OR-1: first-line
# CHECK-OR-1-NOT: second-line
# RUN: false || echo "second-line" > %t.out
# RUN: FileCheck --check-prefix CHECK-OR-2 < %t.out %s
#
# CHECK-OR-2: second-line
# RUN: echo "first-line" > %t.out; echo "second-line" >> %t.out
# RUN: FileCheck --check-prefix CHECK-SEQ < %t.out %s
#
# CHECK-SEQ: first-line
# CHECK-SEQ: second-line

View File

@@ -0,0 +1,2 @@
# RUN: false && true
# XFAIL: *

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "a line on stderr" 1>&2

View File

@@ -0,0 +1,4 @@
#!/bin/sh
echo "a line on stdout"
echo "a line on stderr" 1>&2