def test_times(self): self.assertTrue(fp.is_schedulable(2, self.ts)) self.assertEqual(self.ts[0].response_time, 1) self.assertEqual(self.ts[1].response_time, 1) self.assertEqual(self.ts[2].response_time, 4) self.assertEqual(self.ts[3].response_time, 15)
def pfp_sched_test_msrp_inflate(taskset_in): ts = copy.deepcopy(taskset_in) partitions = defaultdict(tasks.TaskSystem) for t in ts: t.uninflated_cost = t.cost t.response_time = t.cost t.response_old = 0 partitions[t.partition].append(t) while not response_times_consistent(ts): for t in ts: t.cost = t.uninflated_cost assert t.response_time >= t.response_old # monotonicity t.response_old = t.response_time lb.apply_task_fair_mutex_bounds(ts, 1, pi_aware=True) for part in partitions: if not fp.is_schedulable(1, partitions[part]): return (False, ts) return (True, ts)
def test_bound_is_integral(self): self.assertTrue(fp.is_schedulable(2, self.ts)) self.assertTrue(is_integral(self.ts[0].response_time)) self.assertTrue(is_integral(self.ts[1].response_time)) self.assertTrue(is_integral(self.ts[2].response_time)) self.assertTrue(is_integral(self.ts[3].response_time))
def test_procs(self): self.assertFalse(fp.is_schedulable(1, self.ts)) self.assertTrue(fp.is_schedulable(2, self.ts))