]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
added a testcase
authorBVK Chaitanya <bvk@dbook>
Wed, 4 Aug 2010 13:51:18 +0000 (19:21 +0530)
committerBVK Chaitanya <bvk@dbook>
Wed, 4 Aug 2010 13:51:18 +0000 (19:21 +0530)
conf/tests.rmk
tests/regexp_vars.in [new file with mode: 0644]

index 9144e552845b3a517dc7ff959b226bbfcc722e58..f7ec76366dbe9c8a993710383345ef1f4243ce5a 100644 (file)
@@ -74,6 +74,9 @@ grub_script_comments_SOURCES = tests/grub_script_comments.in
 check_SCRIPTS += grub_script_functions
 grub_script_functions_SOURCES = tests/grub_script_functions.in
 
+check_SCRIPTS += regexp_vars
+regexp_vars_SOURCES = tests/regexp_vars.in
+
 # List of tests to execute on "make check"
 # SCRIPTED_TESTS    = example_scripted_test
 # SCRIPTED_TESTS   += example_grub_script_test
@@ -91,6 +94,7 @@ SCRIPTED_TESTS += grub_script_final_semicolon
 SCRIPTED_TESTS += grub_script_dollar
 SCRIPTED_TESTS += grub_script_comments
 SCRIPTED_TESTS += grub_script_functions
+SCRIPTED_TESTS += regexp_vars
 
 # dependencies between tests and testing-tools
 $(SCRIPTED_TESTS): grub-shell grub-shell-tester
diff --git a/tests/regexp_vars.in b/tests/regexp_vars.in
new file mode 100644 (file)
index 0000000..43b479f
--- /dev/null
@@ -0,0 +1,41 @@
+#! /bin/bash -e
+
+# Run GRUB script in a Qemu instance
+# Copyright (C) 2010  Free Software Foundation, Inc.
+#
+# GRUB is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# GRUB is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+
+cmd='regexp -s version "vm-(.*)" vm-1.2.3; echo $version'
+v=`echo "$cmd" | @builddir@/grub-shell`
+if test "$v" != 1.2.3; then echo "error: $cmd" >&2; exit 1; fi
+
+cmd='regexp -s 1:version "vm-(.*)" vm-1.2.3; echo $version'
+v=`echo "$cmd" | @builddir@/grub-shell`
+if test "$v" != 1.2.3; then echo "error: $cmd" >&2; exit 1; fi
+
+cmd='regexp -s 0:match "vm-(.*)" vm-1.2.3; echo $match'
+v=`echo "$cmd" | @builddir@/grub-shell`
+if test "$v" != vm-1.2.3; then echo "error: $cmd" >&2; exit 1; fi
+
+cmd='regexp -s 2:match "vm-(.*)" vm-1.2.3; echo $match'
+v=`echo "$cmd" | @builddir@/grub-shell`
+if test -n "$v"; then echo "error: $cmd" >&2; exit 1; fi
+
+cmd='regexp -s match "\\\((.*)\\\)" (hd0,msdos1); echo $match'
+v=`echo "$cmd" | @builddir@/grub-shell`
+if test "$v" != "hd0,msdos1"; then echo "error: $cmd" >&2; exit 1; fi
+
+cmd='regexp -s match "hd([0-9]+)" hd0; echo $match'
+v=`echo "$cmd" | @builddir@/grub-shell`
+if test "$v" != "0"; then echo "error: $cmd" >&2; exit 1; fi