def test_execute_trap(self): machine = Machine() machine.loadProgram('Tomasulo/intUnit1.hex') instruction = Instruction(0x44800003) machine.issue(instruction) machine.execute() machine.execute()
def test_brUnit1(self): sys.stdout = output = io.StringIO() machine = Machine() machine.loadProgram('Tomasulo/brUnit1.hex') machine.run() with open('Tomasulo/brUnit1.out', 'r') as answerFile: answer = answerFile.read() self.assertEquals(output.getvalue(), answer)
def test_allInts(self): for i in range(1, 9): sys.stdout = output = io.StringIO() machine = Machine() machine.loadProgram('Tomasulo/intUnit{0}.hex'.format(i)) machine.run() with open('Tomasulo/intUnit{0}.out'.format(i), 'r') as answerFile: answer = answerFile.read() self.assertEquals(output.getvalue(), answer)
def test_all(self): sys.stdout = output = io.StringIO() for inputFile in os.listdir('Tomasulo'): if inputFile.endswith('.dlx'): continue if inputFile.endswith('.out'): continue machine = Machine() machine.loadProgram('Tomasulo/' + inputFile) machine.run() with open('Tomasulo/' + inputFile.strip('.hex') + '.out', 'r') as answerFile: answer = answerFile.read() self.assertEquals(output.getvalue(), answer)
def test_nextInstructionAndIssue(self): machine = Machine() machine.loadProgram('Tomasulo/memUnit1.hex') count = 0 while True: instruc = machine.nextInstruction() machine.issue(instruc) count += 1 machine.PC += 4 if instruc.isHalt(): break self.assertEquals(count, 26) rstations = machine.dumpRStations()
def test_nextInstruction(self): machine = Machine() machine.loadProgram('Tomasulo/intUnit1.hex') instruc = machine.nextInstruction()