From 932d515d870bad909e2540557dec0a8f2e937c1e Mon Sep 17 00:00:00 2001 From: Andre Anjos <andre.dos.anjos@gmail.com> Date: Thu, 28 Apr 2016 18:05:14 +0200 Subject: [PATCH] [backend] Test for checking concurrent execution --- beat/web/backend/tests.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/beat/web/backend/tests.py b/beat/web/backend/tests.py index 9d2ac5450..74372dca6 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): -- GitLab