[for-next][PATCH 4/8] ktest.pl: Add a NOT operator

From: Steven Rostedt
Date: Wed Jul 01 2020 - 19:18:27 EST


From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>

There is a NOT DEFINED operator, but there is not an operator that can
negate any other expression.

For example: NOT (${FOO} == boot || ${BAR} == run)

Add the keyword NOT to allow the ktest.pl config files to negate operators.

Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
---
tools/testing/ktest/ktest.pl | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index f99cf633ed84..0d04b8a2b5a2 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -911,6 +911,12 @@ sub process_expression {
}
}

+ if ($val =~ s/^\s*NOT\s+(.*)//) {
+ my $express = $1;
+ my $ret = process_expression($name, $express);
+ return !$ret;
+ }
+
if ($val =~ /^\s*0\s*$/) {
return 0;
} elsif ($val =~ /^\s*\d+\s*$/) {
--
2.26.2