summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2012-07-30 14:37:01 -0400
committerSteven Rostedt <rostedt@goodmis.org>2012-07-30 14:37:01 -0400
commit8fddbe9bbfe5771a9d9e5d0c6f5bae3213c20645 (patch)
treeb1bbb5723817b4b5915fbb5c800dc6c3d54de53c
parent9b1d367dbbeb6646f04a8865ecc2bc454f7dd88f (diff)
downloadlinux-stable-8fddbe9bbfe5771a9d9e5d0c6f5bae3213c20645.tar.gz
linux-stable-8fddbe9bbfe5771a9d9e5d0c6f5bae3213c20645.tar.bz2
linux-stable-8fddbe9bbfe5771a9d9e5d0c6f5bae3213c20645.zip
ktest: Allow perl regex expressions in conditional statements
Add '=~' and '!~' to the list of allowed conditionals for DEFAULT and TEST_START section if statements. ie. TEST_START IF TEST =~ .*test$ Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rwxr-xr-xtools/testing/ktest/ktest.pl6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index a022fb7d113d..52b7959cd513 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -623,6 +623,10 @@ sub process_compare {
return $lval eq $rval;
} elsif ($cmp eq "!=") {
return $lval ne $rval;
+ } elsif ($cmp eq "=~") {
+ return $lval =~ m/$rval/;
+ } elsif ($cmp eq "!~") {
+ return $lval !~ m/$rval/;
}
my $statement = "$lval $cmp $rval";
@@ -678,7 +682,7 @@ sub process_expression {
}
}
- if ($val =~ /(.*)(==|\!=|>=|<=|>|<)(.*)/) {
+ if ($val =~ /(.*)(==|\!=|>=|<=|>|<|=~|\!~)(.*)/) {
my $ret = process_compare($1, $2, $3);
if ($ret < 0) {
die "$name: $.: Unable to process comparison\n";