Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 def checkResult(self, tau, sched, expectedResult):
     simulator = Simulator.getLaunchedSimu(tau, sched)
     self.assertIs(simulator.success(), expectedResult)
Exemplo n.º 3
0
 def testStopAtDeadlineMiss(self):
     tau = systems.MustIdle
     sched = Scheduler.EDF(tau)
     simulator = Simulator.getLaunchedSimu(tau, sched)
     self.assertFalse(simulator.success())
     self.assertEqual(simulator.t, 5)
Exemplo n.º 4
0
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: