コード例 #1
0
ファイル: model.py プロジェクト: willemneal/schedcat
    def test_serialize_resmodel(self):
        r.initialize_resource_model(self.ts)
        self.t1.resmodel[1].add_request(1)
        self.t2.resmodel[1].add_read_request(2)
        self.t2.resmodel['serial I/O'].add_request(2)
        self.t3.resmodel['serial I/O'].add_request(3)

        for t in self.ts:
            s.write_xml(s.task(t), self.f)
            self.f.seek(0)
            x = s.load(self.f)
            self.assertIsInstance(x.resmodel, r.ResourceRequirements)
            self.assertEqual(len(x.resmodel), len(t.resmodel))
            self.assertEqual(x.resmodel.keys(), t.resmodel.keys())
            for res_id in x.resmodel:
                self.assertEqual(x.resmodel[res_id].max_reads,
                                 t.resmodel[res_id].max_reads)
                self.assertEqual(x.resmodel[res_id].max_writes,
                                 t.resmodel[res_id].max_writes)
                self.assertEqual(x.resmodel[res_id].max_requests,
                                 t.resmodel[res_id].max_requests)
                self.assertEqual(x.resmodel[res_id].max_read_length,
                                 t.resmodel[res_id].max_read_length)
                self.assertEqual(x.resmodel[res_id].max_write_length,
                                 t.resmodel[res_id].max_write_length)
                self.assertEqual(x.resmodel[res_id].max_length,
                                 t.resmodel[res_id].max_length)
            self.f.seek(0)
            self.f.truncate()
コード例 #2
0
ファイル: driver.py プロジェクト: ChenZewei/schedcat
def nolock_example(task_files):
    oheads = example_overheads()
    for task_file in task_files:
        ts = load(task_file)
        for task in ts:
            task.wss = 256
        clusts = partition_tasks(2, 12, True, ts)
        if clusts and bound_cfl_with_oh(oheads, True, clusts):
            yield (task_file, clusts)
        else:
            yield (task_file, None)
コード例 #3
0
ファイル: model.py プロジェクト: willemneal/schedcat
 def test_serialize_taskset(self):
     s.write(self.ts, self.f)
     self.f.seek(0)
     xs = s.load(self.f)
     self.assertIsInstance(xs, m.TaskSystem)
     self.assertEqual(len(xs), len(self.ts))
     for x, t in zip(xs, self.ts):
         self.assertEqual(x.cost, t.cost)
         self.assertEqual(x.deadline, t.deadline)
         self.assertEqual(x.period, t.period)
         self.assertEqual(x.id, t.id)
コード例 #4
0
ファイル: model.py プロジェクト: GElliott/schedcat
 def test_serialize_taskset(self):
     s.write(self.ts, self.f)
     self.f.seek(0)
     xs = s.load(self.f)
     self.assertIsInstance(xs, m.TaskSystem)
     self.assertEqual(len(xs), len(self.ts))
     for x,t in zip(xs, self.ts):
         self.assertEqual(x.cost, t.cost)
         self.assertEqual(x.deadline, t.deadline)
         self.assertEqual(x.period, t.period)
         self.assertEqual(x.id, t.id)
コード例 #5
0
ファイル: driver.py プロジェクト: zhangtong1516/schedcat
def nolock_example(task_files):
    oheads = example_overheads()
    for task_file in task_files:
        ts = load(task_file)
        for task in ts:
            task.wss = 256
        clusts = partition_tasks(2, 12, True, ts)
        if clusts and bound_cfl_with_oh(oheads, True, clusts):
            yield (task_file, clusts)
        else:
            yield (task_file, None)
コード例 #6
0
ファイル: model.py プロジェクト: willemneal/schedcat
 def test_serialize_task(self):
     for t in self.ts:
         s.write_xml(s.task(t), self.f)
         self.f.seek(0)
         x = s.load(self.f)
         self.assertIsInstance(x, m.SporadicTask)
         self.assertEqual(x.cost, t.cost)
         self.assertEqual(x.deadline, t.deadline)
         self.assertEqual(x.period, t.period)
         self.assertEqual(x.id, t.id)
         self.f.seek(0)
         self.f.truncate()
コード例 #7
0
ファイル: model.py プロジェクト: GElliott/schedcat
 def test_serialize_task(self):
     for t in self.ts:
         s.write_xml(s.task(t), self.f)
         self.f.seek(0)
         x = s.load(self.f)
         self.assertIsInstance(x, m.SporadicTask)
         self.assertEqual(x.cost, t.cost)
         self.assertEqual(x.deadline, t.deadline)
         self.assertEqual(x.period, t.period)
         self.assertEqual(x.id, t.id)
         self.f.seek(0)
         self.f.truncate()
コード例 #8
0
ファイル: driver.py プロジェクト: ChenZewei/schedcat
def lock_example(task_files):
    oheads = example_overheads()
    for task_file in task_files:
        ts = load(task_file)
        for task in ts:
            task.wss = 256
        clusts = partition_tasks(2, 12, True, ts)
        if clusts:
            clusts2 = bound_cfl_with_locks(ts, clusts, oheads, 2)
            if clusts2:
                yield (task_file, clusts2)
            else:
                yield (task_file, None)
        else:
            yield (task_file, None)
コード例 #9
0
ファイル: driver.py プロジェクト: zhangtong1516/schedcat
def lock_example(task_files):
    oheads = example_overheads()
    for task_file in task_files:
        ts = load(task_file)
        for task in ts:
            task.wss = 256
        clusts = partition_tasks(2, 12, True, ts)
        if clusts:
            clusts2 = bound_cfl_with_locks(ts, clusts, oheads, 2)
            if clusts2:
                yield (task_file, clusts2)
            else:
                yield (task_file, None)
        else:
            yield (task_file, None)
コード例 #10
0
ファイル: model.py プロジェクト: GElliott/schedcat
    def test_serialize_resmodel(self):
        r.initialize_resource_model(self.ts)
        self.t1.resmodel[1].add_request(1)
        self.t2.resmodel[1].add_read_request(2)
        self.t2.resmodel['serial I/O'].add_request(2)
        self.t3.resmodel['serial I/O'].add_request(3)

        for t in self.ts:
            s.write_xml(s.task(t), self.f)
            self.f.seek(0)
            x = s.load(self.f)
            self.assertIsInstance(x.resmodel, r.ResourceRequirements)
            self.assertEqual(len(x.resmodel), len(t.resmodel))
            self.assertEqual(x.resmodel.keys(), t.resmodel.keys())
            for res_id in x.resmodel:
                self.assertEqual(x.resmodel[res_id].max_reads, t.resmodel[res_id].max_reads)
                self.assertEqual(x.resmodel[res_id].max_writes, t.resmodel[res_id].max_writes)
                self.assertEqual(x.resmodel[res_id].max_requests, t.resmodel[res_id].max_requests)
                self.assertEqual(x.resmodel[res_id].max_read_length, t.resmodel[res_id].max_read_length)
                self.assertEqual(x.resmodel[res_id].max_write_length, t.resmodel[res_id].max_write_length)
                self.assertEqual(x.resmodel[res_id].max_length, t.resmodel[res_id].max_length)
            self.f.seek(0)
            self.f.truncate()
コード例 #11
0
    def setUp(self):
        xml = StringIO.StringIO(TASKSET)
        self.ts = ser.load(xml)

        lb.assign_fp_preemption_levels(self.ts)