diff options
Diffstat (limited to 'tb/gfx_shader_bind/testbench/data.py')
| -rw-r--r-- | tb/gfx_shader_bind/testbench/data.py | 22 |
1 files changed, 18 insertions, 4 deletions
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})' |
