summaryrefslogtreecommitdiff
path: root/tests/status
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2010-09-03 22:36:59 +0200
committerJim Meyering <meyering@redhat.com>2010-09-03 22:38:08 +0200
commita65a94f613bc67c0d5c0a103e705481d3c2d11a3 (patch)
tree20e31e21da4674ace984d0dff9dfb67e56bbf6ea /tests/status
parent783b3f8022e68f6da30b9d22ccf00e8620a6a824 (diff)
downloadgrep-a65a94f613bc67c0d5c0a103e705481d3c2d11a3.tar.gz
tests: remove .sh suffix from remaining test scripts.
* tests/backref: Rename from backref.sh. * tests/bre: Rename from bre.sh. * tests/ere: Rename from ere.sh. * tests/file: Rename from file.sh. * tests/khadafy: Rename from khadafy.sh. * tests/options: Rename from options.sh. * tests/pcre: Rename from pcre.sh. * tests/spencer1: Rename from spencer1.sh. * tests/spencer2: Rename from spencer2.sh. * tests/status: Rename from status.sh. * tests/yesno: Rename from yesno.sh. * tests/Makefile.am: Reflect renamings.
Diffstat (limited to 'tests/status')
-rw-r--r--tests/status72
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/status b/tests/status
new file mode 100644
index 00000000..4961457c
--- /dev/null
+++ b/tests/status
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Test for status code for GNU grep.
+# status code
+# 0 match found
+# 1 no match
+# 2 file not found
+#
+# Copyright (C) 2001, 2006, 2009-2010 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
+
+fail=0
+
+# should return 0 found a match
+echo "abcd" | grep -E -e 'abc' > /dev/null 2>&1
+if test $? -ne 0 ; then
+ echo "Status: Wrong status code, test \#1 failed"
+ fail=1
+fi
+
+# should return 1 found no match
+echo "abcd" | grep -E -e 'zbc' > /dev/null 2>&1
+if test $? -ne 1 ; then
+ echo "Status: Wrong status code, test \#2 failed"
+ fail=1
+fi
+
+# the filename MMMMMMMM.MMM should not exist hopefully
+if test -r MMMMMMMM.MMM; then
+ echo "Please remove MMMMMMMM.MMM to run check"
+else
+ # should return 2 file not found
+ grep -E -e 'abc' MMMMMMMM.MMM > /dev/null 2>&1
+ if test $? -ne 2 ; then
+ echo "Status: Wrong status code, test \#3 failed"
+ fail=1
+ fi
+
+ # should return 2 file not found
+ grep -E -s -e 'abc' MMMMMMMM.MMM > /dev/null 2>&1
+ if test $? -ne 2 ; then
+ echo "Status: Wrong status code, test \#4 failed"
+ fail=1
+ fi
+
+ # should return 2 file not found
+ echo "abcd" | grep -E -s 'abc' - MMMMMMMM.MMM > /dev/null 2>&1
+ if test $? -ne 2 ; then
+ echo "Status: Wrong status code, test \#5 failed"
+ fail=1
+ fi
+
+ # should return 0 found a match
+ echo "abcd" | grep -E -q -s 'abc' MMMMMMMM.MMM - > /dev/null 2>&1
+ if test $? -ne 0 ; then
+ echo "Status: Wrong status code, test \#6 failed"
+ fail=1
+ fi
+
+ # should still return 0 found a match
+ echo "abcd" | grep -E -q 'abc' MMMMMMMM.MMM - > /dev/null 2>&1
+ if test $? -ne 0 ; then
+ echo "Status: Wrong status code, test \#7 failed"
+ fail=1
+ fi
+fi
+
+Exit $fail