def testStopAtStableConfig(self): tau = systems.LongTransitive2 sched = Scheduler.EDF(tau) simulator = Simulator.getLaunchedSimu(tau, sched) self.assertTrue(simulator.success()) self.assertTrue(simulator.isStable) self.assertEqual(simulator.t, 46)
def checkResult(self, tau, sched, expectedResult): simulator = Simulator.getLaunchedSimu(tau, sched) self.assertIs(simulator.success(), expectedResult)
def testStopAtDeadlineMiss(self): tau = systems.MustIdle sched = Scheduler.EDF(tau) simulator = Simulator.getLaunchedSimu(tau, sched) self.assertFalse(simulator.success()) self.assertEqual(simulator.t, 5)
schedClass = recognizeSchedulerName(schedName) if schedClass == Scheduler.ExhaustiveFixedPriority: scheduler = schedClass(tau, nbrCPUs=1) else: scheduler = schedClass(tau) # Short circuit for arbitrary scheduler (use if you know what you're doing) # schedule = [ # tau.tasks[2], # tau.tasks[1], # tau.tasks[1], # ] # scheduler = Scheduler.ArbitraryScheduler(tau, schedule) try: simu = Simulator.getLaunchedSimu(tau, scheduler, stop=stop, verbose=False, drawing=True, stopAtDeadlineMiss=False, stopAtStableConfig=False) if simu.success(): print("Success.") else: print("Failure.") except AssertionError: print("Something went wrong ! Close the image preview to see the stack trace") raise finally: outputName = simu.drawer.outputName() if "linux" in sys.platform: if ".eps" in outputName: subprocess.Popen(['okular', simu.drawer.outputName()]) else: subprocess.Popen(['eog', simu.drawer.outputName()]) elif "win" in sys.platform: