diff --git a/beat/web/backend/tests.py b/beat/web/backend/tests.py index 9d2ac5450ef2e36096b4385c8eff51d82583ac6d..74372dca692b9b67dfbe738de4674c197a455ace 100644 --- a/beat/web/backend/tests.py +++ b/beat/web/backend/tests.py @@ -1843,6 +1843,30 @@ class Scheduling(BaseBackendTestCase): self.assertEqual(worker.available_cores(), qsetup.CORES) + def test_schedules_two_jobs(self): + + # tests a simple scheduling activity in which two jobs of the same + # experiment must be scheduled concurrently, provided there is enough + # space + + current_stats = HourlyStatistics.objects.count() + + fullname = 'user/user/triangle/1/triangle' + xp = Experiment.objects.get(name=fullname.split(os.sep)[-1]) + + worker = Worker.objects.get() + + # schedules the experiment and check it + xp.schedule() + xp.refresh_from_db() + self.assertEqual(xp.status, Experiment.SCHEDULED) + + assigned_splits = schedule() + + self.assertEqual(len(assigned_splits), 2) + self.assertEqual(assigned_splits[0].job.block.experiment, xp) + self.assertEqual(assigned_splits[1].job.block.experiment, xp) + self.assertNotEqual(assigned_splits[0], assigned_splits[1]) class SchedulingPriority(BaseBackendTestCase):