From 41a944b7577833e7dad6f2bee74ccc0082cc5717 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sat, 1 Jun 2024 14:54:11 -0600 Subject: tb/gfx_shader_bind: update testbench --- tb/gfx_shader_bind/testbench/data.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'tb/gfx_shader_bind/testbench/data.py') diff --git a/tb/gfx_shader_bind/testbench/data.py b/tb/gfx_shader_bind/testbench/data.py index 4aa3630..d119210 100644 --- a/tb/gfx_shader_bind/testbench/data.py +++ b/tb/gfx_shader_bind/testbench/data.py @@ -11,13 +11,27 @@ class FrontWave: return other.__eq__(self) if other._soft: - return self.group == other.group and \ - ((other.insn is None and self.insn is None) or \ - (other.insn is not None and (not self.insn or self.insn == other.insn))) + if self.group != other.group: + return False + elif other.insn is None and self.insn is None: + return True + elif other.insn is None: + return False + elif self.insn is None: + return True + elif type(other.insn) is tuple: + return self.insn in other.insn + else: + return self.insn == other.insn return self.group == other.group and self.insn == other.insn def __repr__(self): - insn = f', insn=0x{self.insn:08x}' if not self.retry else '' + if type(self.insn) is tuple: + insn = '(' + ','.join(f'0x{insn:08x}' for insn in self.insn) + ')' + elif self.insn is not None: + insn = f'0x{self.insn:08x}' + + insn = f', insn={insn}' if not self.retry else '' soft = f', soft' if self._soft else '' return f'FrontWave(group={self.group}, retry={int(self.retry)}{insn}{soft})' -- cgit v1.2.3