def test_infeasible_bad_task(self): self.ts.append(tasks.SporadicTask(110, 100)) self.ts[3].affinity = set([1, 2, 3]) aff = sched.get_native_affinities(self.ts) ts = sched.get_native_taskset(self.ts) sol = sched.native.apa_implicit_deadline_feasible(ts, aff) self.assertIsNone(sol)
def test_feasible(self): aff = sched.get_native_affinities(self.ts) ts = sched.get_native_taskset(self.ts) sol = sched.native.apa_implicit_deadline_feasible(ts, aff) self.assertIsNotNone(sol) self.assertEqual(sol.get_fraction(0, 1), 1) self.assertEqual(sol.get_fraction(0, 2), 0) self.assertEqual(sol.get_fraction(1, 1), 0) self.assertEqual(sol.get_fraction(1, 2), 1) self.assertAlmostEqual(sol.get_fraction(2, 1), 0.6) self.assertAlmostEqual(sol.get_fraction(2, 2), 0.4)