From: Luke Kenneth Casson Leighton Date: Thu, 16 Sep 2021 16:06:27 +0000 (+0100) Subject: moving teststate_check_regs written by klehman into openpower-isa X-Git-Tag: DRAFT_SVP64_0_1~15 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5018bfaed0328c4606f42a9feaccd58cb9fa731f;p=openpower-isa.git moving teststate_check_regs written by klehman into openpower-isa --- diff --git a/src/openpower/test/state.py b/src/openpower/test/state.py index 31721d14..a4d62fc3 100644 --- a/src/openpower/test/state.py +++ b/src/openpower/test/state.py @@ -155,3 +155,20 @@ def TestState(state_type, to_test, dut, code): state.code = code yield from state.get_state() return state + + +def teststate_check_regs(dut, states, test, code): + """teststate_check_regs: compares a set of Power ISA objects + to check if they have the same "state" (registers only, at the moment) + """ + slist = [] + # create one TestState per "thing" + for stype, totest in states.items(): + state = yield from TestState(stype, totest, dut, code) + slist.append(state) + # compare each "thing" against the next "thing" in the list. + # (no need to do an O(N^2) comparison here, they *all* have to be the same + for i in range(len(slist)-1): + state, against = slist[i], slist[i+1] + state.compare(against) +