From a701e42f9e87e8c4ecc6fa0f9bd19904ef5493e9 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Mon, 29 Apr 2024 19:12:06 +0200 Subject: [PATCH] tools: support != in test status files PR-URL: https://github.com/nodejs/node/pull/52766 Reviewed-By: Rafael Gonzaga --- tools/test.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/test.py b/tools/test.py index 13ea6d1208..e29b9f7ba0 100755 --- a/tools/test.py +++ b/tools/test.py @@ -1041,6 +1041,9 @@ class Operation(Expression): return self.left.Evaluate(env, defs) or self.right.Evaluate(env, defs) elif self.op == 'if': return False + elif self.op == '!=': + inter = self.left.GetOutcomes(env, defs) != self.right.GetOutcomes(env, defs) + return bool(inter) elif self.op == '==': inter = self.left.GetOutcomes(env, defs) & self.right.GetOutcomes(env, defs) return bool(inter) @@ -1128,6 +1131,9 @@ class Tokenizer(object): elif self.Current(2) == '==': self.AddToken('==') self.Advance(2) + elif self.Current(2) == '!=': + self.AddToken('!=') + self.Advance(2) else: return None return self.tokens @@ -1180,7 +1186,7 @@ def ParseAtomicExpression(scan): return None -BINARIES = ['=='] +BINARIES = ['==', '!='] def ParseOperatorExpression(scan): left = ParseAtomicExpression(scan) if not left: return None