Sequence
- tests.testing.binaries.sass.sequence.test_sequence.DADD_DMUL = (Instruction(offset=0, instruction='DADD R4, R4, c[0x0][0x180]', hex='0x0', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})), Instruction(offset=0, instruction='DMUL R6, R6, c[0x0][0x188]', hex='0x1', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})))
One DADD followed by a DMUL.
- tests.testing.binaries.sass.sequence.test_sequence.DADD_NOP_DMUL = (Instruction(offset=0, instruction='DADD R4, R4, c[0x0][0x180]', hex='0x0', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})), Instruction(offset=0, instruction='NOP', hex='0x2', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})), Instruction(offset=0, instruction='NOP', hex='0x2', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})), Instruction(offset=0, instruction='NOP', hex='0x2', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})), Instruction(offset=0, instruction='DMUL R6, R6, c[0x0][0x188]', hex='0x1', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})))
One DADD instruction followed by a few NOP, and a DMUL.
- tests.testing.binaries.sass.sequence.test_sequence.NOP_DMUL_NOP_DADD = (Instruction(offset=0, instruction='NOP', hex='0x2', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})), Instruction(offset=0, instruction='DMUL R6, R6, c[0x0][0x188]', hex='0x1', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})), Instruction(offset=0, instruction='NOP', hex='0x2', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})), Instruction(offset=0, instruction='NOP', hex='0x2', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})), Instruction(offset=0, instruction='DADD R4, R4, c[0x0][0x180]', hex='0x0', control=ControlCode(stall_count=1, yield_flag=True, read=7, write=0, wait=[False, False, False, False, False, False], reuse={'A': False, 'B': False, 'C': False, 'D': False})))
NOP instructions with one DADD and one DMUL.
- class tests.testing.binaries.sass.sequence.test_sequence.TestAllInSequenceMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.AllInSequenceMatcher.- test_no_match() NoneView on GitHub
- test_sequence() NoneView on GitHub
The inner matcher is a
reprospect.testing.binaries.sass.sequence.sequence.SequenceMatcher.
- test_single() NoneView on GitHub
The inner matcher is a
reprospect.testing.binaries.sass.instruction.instruction.InstructionMatcher.
- class tests.testing.binaries.sass.sequence.test_sequence.TestAnyOfView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.any_of().- test() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestAnyOfMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.AnyOfMatcher.- test_explain() NoneView on GitHub
- test_matches() NoneView on GitHub
- test_no_match() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestCountInSequenceMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.CountInSequenceMatcher.- INNER: Final[OpcodeModsMatcher] = OpcodeModsMatcher(pattern=regex.Regex('(?P<opcode>YIELD)(?:\\.(?P<modifiers>[A-Z0-9_]+))*', flags=regex.V0))
- test_explain() NoneView on GitHub
- test_match() NoneView on GitHub
- test_no_match() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestFindallView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.findall().- test() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestFinduniqueView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.findunique().- test() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestInSequenceAtMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.InSequenceAtMatcher.- MATCHER: Final[InSequenceAtMatcher] = <reprospect.testing.binaries.sass.sequence.sequence.InSequenceAtMatcher object>
- test_explain() NoneView on GitHub
- test_match_first_element() NoneView on GitHub
Matches the first element.
- test_match_with_start() NoneView on GitHub
Matches the element pointed to by start.
- test_no_match() NoneView on GitHub
Raises if the first element does not match.
- class tests.testing.binaries.sass.sequence.test_sequence.TestInSequenceMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.InSequenceMatcher.- test_explain() NoneView on GitHub
- test_matches() NoneView on GitHub
- test_no_match() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestInstructionCountIsView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.instruction_count_is().- test() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestInstructionIsView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.instruction_is().- test() NoneView on GitHub
- test_one_or_more_times() NoneView on GitHub
- test_times_1() NoneView on GitHub
- test_times_2() NoneView on GitHub
- test_with_modifier() NoneView on GitHub
Test
reprospect.testing.binaries.sass.sequence.sequence.Fluentizer.with_modifier().
- test_with_operand() NoneView on GitHub
Test
reprospect.testing.binaries.sass.sequence.sequence.Fluentizer.with_operand().
- test_with_operand_composed() NoneView on GitHub
Similar to
test_with_operands()but callsreprospect.testing.binaries.sass.sequence.sequence.Fluentizer.with_operand()many times.
- test_with_operands() NoneView on GitHub
Test
reprospect.testing.binaries.sass.sequence.sequence.Fluentizer.with_operands().
- test_zero_or_more_time() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestInstructionsAreView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.instructions_are().- test() NoneView on GitHub
- test_mix() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestInstructionsContainView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.instructions_contain().- test() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestInterleavedInstructionsAreView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.interleaved_instructions_are().- test() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestOneOrMoreInSequenceMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.OneOrMoreInSequenceMatcher.- test_explain() NoneView on GitHub
- test_matches_more() NoneView on GitHub
Matches the sequence
DADD_NOP_DMULmany times starting at 1.
- test_matches_one() NoneView on GitHub
Matches the sequence
DADD_NOP_DMUL.
- test_matches_zero() NoneView on GitHub
Does not match sequence
DADD_NOP_DMUL.
- class tests.testing.binaries.sass.sequence.test_sequence.TestOrderedInSequenceMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.OrderedInSequenceMatcher.- MATCHER: Final[OrderedInSequenceMatcher] = <reprospect.testing.binaries.sass.sequence.sequence.OrderedInSequenceMatcher object>
- test_explain() NoneView on GitHub
- test_match() NoneView on GitHub
Matches the sequence
DADD_DMUL.
- test_match_with_nop() NoneView on GitHub
Matches the sequence
DADD_NOP_DMUL.
- test_no_match() NoneView on GitHub
Does not match reversed sequence
DADD_DMUL.
- class tests.testing.binaries.sass.sequence.test_sequence.TestOrderedInterleavedInSequenceMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.OrderedInterleavedInSequenceMatcher.- INSTRUCTIONS_DADD: Final[tuple[str, ...]] = ('LDG.E.ENL2.256 R8, R4, desc[UR6][R2.64]', 'DADD R4, R4, UR12', 'NOP', 'NOP', 'NOP', 'NOP', 'DADD R6, R6, UR14', 'NOP', 'NOP', 'NOP', 'NOP', 'DADD R8, R8, UR16', 'NOP', 'NOP', 'NOP', 'NOP', 'DADD R10, R10, UR18', 'STG.E.ENL2.256 desc[UR6][R2.64], R4, R8')
- MATCHERS_DADD: Final[tuple[OpcodeModsWithOperandsMatcher, ...]] = (OpcodeModsWithOperandsMatcher(pattern=regex.Regex('(?P<opcode>DADD)\\s*(?P<operands>R4),?\\s*(?P<operands>R4),?\\s*(?P<operands>UR[0-9]+)', flags=regex.V0)), OpcodeModsWithOperandsMatcher(pattern=regex.Regex('(?P<opcode>DADD)\\s*(?P<operands>R6),?\\s*(?P<operands>R6),?\\s*(?P<operands>UR[0-9]+)', flags=regex.V0)), OpcodeModsWithOperandsMatcher(pattern=regex.Regex('(?P<opcode>DADD)\\s*(?P<operands>R8),?\\s*(?P<operands>R8),?\\s*(?P<operands>UR[0-9]+)', flags=regex.V0)), OpcodeModsWithOperandsMatcher(pattern=regex.Regex('(?P<opcode>DADD)\\s*(?P<operands>R10),?\\s*(?P<operands>R10),?\\s*(?P<operands>UR[0-9]+)', flags=regex.V0)))
- MATCHERS_LDG: Final[tuple[LoadGlobalMatcher, ...]] = (LoadGlobalMatcher(pattern=regex.Regex('(?P<opcode>LDG)\\.(?P<modifiers>E)\\.(?P<modifiers>U16)\\.(?P<modifiers>SYS) (?P<operands>R[0-9]+), (?P<address>(?P<operands>\\[R[0-9]+(?:\\+-?0x[0-9A-Fa-f]+)?\\]))', flags=regex.V0)), LoadGlobalMatcher(pattern=regex.Regex('(?P<opcode>LDG)\\.(?P<modifiers>E)\\.(?P<modifiers>U16)\\.(?P<modifiers>SYS) (?P<operands>R[0-9]+), (?P<address>(?P<operands>\\[R[0-9]+(?:\\+-?0x[0-9A-Fa-f]+)?\\]))', flags=regex.V0)))
- test_dadd() NoneView on GitHub
- test_ldg() NoneView on GitHub
- test_no_match() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestUnorderedInSequenceMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.UnorderedInSequenceMatcher.- test_explain() NoneView on GitHub
- test_match_with_nop() NoneView on GitHub
Matches the sequence
DADD_NOP_DMUL.
- test_no_match() NoneView on GitHub
All permutations fail on sequence
NOP_DMUL_NOP_DADD.
- test_with_split_nop() NoneView on GitHub
Matches the sequence
NOP_DMUL_NOP_DADD.
- test_without_nop() NoneView on GitHub
Matches the sequence
DADD_DMUL.
- class tests.testing.binaries.sass.sequence.test_sequence.TestUnorderedInstructionsAreView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.unordered_instructions_are().- test() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestUnorderedInterleavedInSequenceMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.UnorderedInterleavedInSequenceMatcher.- test_dadd() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestUnorderedInterleavedInstructionsAreView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.unordered_interleaved_instructions_are().- test() NoneView on GitHub
- class tests.testing.binaries.sass.sequence.test_sequence.TestZeroOrMoreInSequenceMatcherView on GitHub
Bases:
objectTests for
reprospect.testing.binaries.sass.sequence.sequence.ZeroOrMoreInSequenceMatcher.- test_assert_matches_always_true() NoneView on GitHub
Matching zero time is fine.
- test_explain() NoneView on GitHub
- test_matches_with_start() NoneView on GitHub
Matches many times, with a start and sequence
DADD_NOP_DMUL.
- test_matches_zero() NoneView on GitHub
Matches zero time with sequence
DADD_NOP_DMUL.