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()
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)
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)
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)
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()
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)
def setUp(self): xml = StringIO.StringIO(TASKSET) self.ts = ser.load(xml) lb.assign_fp_preemption_levels(self.ts)