コード例 #1
0
ファイル: scenarios.py プロジェクト: c7h/process_scheduler
 def setUp(self):
     p1 = Process("A")
     p2 = Process("B")
     self.pcb1 = PCB(p1)
     self.pcb2 = PCB(p2)
     p2.workplan = Workplan().work(10)
     p1.workplan = Workplan().work(10).launch('B').wait(15).work(10)
コード例 #2
0
ファイル: scenarios.py プロジェクト: c7h/process_scheduler
 def setUp(self):
     # we need a simple workplan in the scheduler
     p1 = Process("FOO")
     p2 = Process("BAR")
     self.pcb1 = PCB(p1)
     self.pcb2 = PCB(p2)
     p2.workplan = Workplan().work(10)
     p1.workplan = Workplan().work(10).launch('BAR').work(10)
コード例 #3
0
    def setUp(self):
        process2 = Process('02')
        process2.workplan = Workplan().work(90)
        self.pcb2 = PCB(process2, state=State.I)

        process1 = Process('01')
        process1.workplan = Workplan().work(10).launch('02').wait(20).work(10)

        self.pcb1 = PCB(process1, state=State.B)
コード例 #4
0
ファイル: test_process.py プロジェクト: c7h/process_scheduler
    def test_process_terminated_02(self):
        p1 = Process("I_will_terminate")
        p1.workplan = Workplan().work(2)

        try:
            p1.doWork(10)
        except ProcessTerminatedMessage as e:
            last_section_length = e.last_section.duration
        self.assertEqual(last_section_length, 2)
コード例 #5
0
ファイル: test_process.py プロジェクト: c7h/process_scheduler
    def test_work_launch(self):
        """include launch-section at the end"""
        p = Process("work_launch_process")
        b = Process("process_to_launch")
        p.workplan = Workplan().work(10).launch(b).work(10)

        p.doWork(10)

        self.assertEqual(p.workplan, Workplan().work(10))
        self.assertEqual(p.history, Workplan().work(10).launch(b))
コード例 #6
0
    def setUp(self):
        process2 = Process('02')
        process2.workplan = Workplan().work(90)
        self.pcb2 = PCB(process2, state=State.I)

        process1 = Process('01')
        process1.workplan = Workplan().launch('02').wait(20).work(10)

        self.pcb1 = PCB(process1, state=State.B)

        self.scheduler = Scheduler(FiFoStubStrategy())
コード例 #7
0
ファイル: test_process.py プロジェクト: c7h/process_scheduler
 def test_generate_unique_name(self):
     p = Process()
     names = []
     duplette = False
     for i in xrange(1000):
         # test uniqueness...
         # (unsave, because can work 1000 times and
         # fail at the 1001st attempt)
         uname = p._unique_name()
         if uname in names:
             duplette = True
             break
         names.append(uname)
     self.assertFalse(duplette, "Unique-Test failed!")
コード例 #8
0
ファイル: test_process.py プロジェクト: c7h/process_scheduler
    def test_process_terminated_01(self):
        p1 = Process("I_will_terminate")
        p1.workplan = Workplan().work(12)

        p1.doWork(10)
        self.assertRaises(ProcessTerminatedMessage, p1.doWork, 10)