コード例 #1
0
 def test_is_unclaimed(self):
   # completed work considered claimed
   self.assertFalse(work_data.is_unclaimed(self.work1))
   # not completed, not claimed work
   self.assertTrue(work_data.is_unclaimed(self.work2))
   # claimed but not completed work
   self.work2['claimed_worker_id'] = 'some_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.assertFalse(work_data.is_unclaimed(self.work2))
   # work claimed too long ago considered unclaimed now
   self.work2['claimed_worker_start_time'] = (
       work_data.get_integer_time() - work_data.MAX_PROCESSING_TIME - 1)
   self.assertTrue(work_data.is_unclaimed(self.work2))
コード例 #2
0
 def test_is_unclaimed(self):
   # completed work considered claimed
   self.assertFalse(work_data.is_unclaimed(self.work1))
   # not completed, not claimed work
   self.assertTrue(work_data.is_unclaimed(self.work2))
   # claimed but not completed work
   self.work2['claimed_worker_id'] = 'some_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.assertFalse(work_data.is_unclaimed(self.work2))
   # work claimed too long ago considered unclaimed now
   self.work2['claimed_worker_start_time'] = (
       work_data.get_integer_time() - work_data.MAX_PROCESSING_TIME - 1)
   self.assertTrue(work_data.is_unclaimed(self.work2))
コード例 #3
0
 def test_try_pick_piece_of_work_already_claimed(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work2['claimed_worker_id'] = 'other_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.work_pieces.work['w20'] = self.work2
   self.work_pieces.write_all_to_datastore()
   work_id = self.work_pieces.try_pick_piece_of_work('worker0')
   # if work is claimed by another worker then it won't be picked
   self.assertIsNone(work_id)
コード例 #4
0
ファイル: work_data_test.py プロジェクト: zmsv73/cleverhans
 def test_try_pick_piece_of_work_already_claimed(self):
     self.reset_work_pieces()
     self.work_pieces.work["w10"] = self.work1
     self.work2["claimed_worker_id"] = "other_worker"
     self.work2["claimed_worker_start_time"] = work_data.get_integer_time()
     self.work_pieces.work["w20"] = self.work2
     self.work_pieces.write_all_to_datastore()
     work_id = self.work_pieces.try_pick_piece_of_work("worker0")
     # if work is claimed by another worker then it won't be picked
     self.assertIsNone(work_id)
コード例 #5
0
 def test_try_pick_piece_of_work_already_claimed(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work2['claimed_worker_id'] = 'other_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.work_pieces.work['w20'] = self.work2
   self.work_pieces.write_all_to_datastore()
   work_id = self.work_pieces.try_pick_piece_of_work('worker0')
   # if work is claimed by another worker then it won't be picked
   self.assertIsNone(work_id)
コード例 #6
0
 def test_update_work_as_completed_wrong_claimed_worker(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work_pieces.work['w20'] = self.work2
   self.work2['claimed_worker_id'] = 'other_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.work_pieces.write_all_to_datastore()
   self.assertFalse(
       self.work_pieces.update_work_as_completed('this_worker', 'w20'))
   self.reset_work_pieces()
   self.work_pieces.read_all_from_datastore()
   self.assertFalse(self.work_pieces.work['w20']['is_completed'])
コード例 #7
0
 def test_try_pick_piece_of_work_claimed_long_ago(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work2['claimed_worker_id'] = 'other_worker'
   self.work2['claimed_worker_start_time'] = (
       work_data.get_integer_time() - work_data.MAX_PROCESSING_TIME * 2)
   self.work_pieces.work['w20'] = self.work2
   self.work_pieces.write_all_to_datastore()
   work_id = self.work_pieces.try_pick_piece_of_work('worker0')
   # if work is claimed by another worker, but it happened some time ago
   # then work will be claimed
   self.assertEqual('w20', work_id)
コード例 #8
0
ファイル: work_data_test.py プロジェクト: zmsv73/cleverhans
 def test_update_work_as_completed_wrong_claimed_worker(self):
     self.reset_work_pieces()
     self.work_pieces.work["w10"] = self.work1
     self.work_pieces.work["w20"] = self.work2
     self.work2["claimed_worker_id"] = "other_worker"
     self.work2["claimed_worker_start_time"] = work_data.get_integer_time()
     self.work_pieces.write_all_to_datastore()
     self.assertFalse(
         self.work_pieces.update_work_as_completed("this_worker", "w20"))
     self.reset_work_pieces()
     self.work_pieces.read_all_from_datastore()
     self.assertFalse(self.work_pieces.work["w20"]["is_completed"])
コード例 #9
0
 def test_update_work_as_completed_wrong_claimed_worker(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work_pieces.work['w20'] = self.work2
   self.work2['claimed_worker_id'] = 'other_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.work_pieces.write_all_to_datastore()
   self.assertFalse(
       self.work_pieces.update_work_as_completed('this_worker', 'w20'))
   self.reset_work_pieces()
   self.work_pieces.read_all_from_datastore()
   self.assertFalse(self.work_pieces.work['w20']['is_completed'])
コード例 #10
0
 def test_try_pick_piece_of_work_claimed_long_ago(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work2['claimed_worker_id'] = 'other_worker'
   self.work2['claimed_worker_start_time'] = (
       work_data.get_integer_time() - work_data.MAX_PROCESSING_TIME * 2)
   self.work_pieces.work['w20'] = self.work2
   self.work_pieces.write_all_to_datastore()
   work_id = self.work_pieces.try_pick_piece_of_work('worker0')
   # if work is claimed by another worker, but it happened some time ago
   # then work will be claimed
   self.assertEqual('w20', work_id)
コード例 #11
0
 def test_update_work_as_completed_with_error(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work_pieces.work['w20'] = self.work2
   self.work2['claimed_worker_id'] = 'this_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.work_pieces.write_all_to_datastore()
   self.assertTrue(
       self.work_pieces.update_work_as_completed(
           'this_worker', 'w20', error='err'))
   self.reset_work_pieces()
   self.work_pieces.read_all_from_datastore()
   self.assertTrue(self.work_pieces.work['w20']['is_completed'])
   self.assertEqual('err', self.work_pieces.work['w20']['error'])
コード例 #12
0
 def test_update_work_as_completed_with_error(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work_pieces.work['w20'] = self.work2
   self.work2['claimed_worker_id'] = 'this_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.work_pieces.write_all_to_datastore()
   self.assertTrue(
       self.work_pieces.update_work_as_completed(
           'this_worker', 'w20', error='err'))
   self.reset_work_pieces()
   self.work_pieces.read_all_from_datastore()
   self.assertTrue(self.work_pieces.work['w20']['is_completed'])
   self.assertEqual('err', self.work_pieces.work['w20']['error'])
コード例 #13
0
ファイル: work_data_test.py プロジェクト: zmsv73/cleverhans
 def test_update_work_as_completed_with_error(self):
     self.reset_work_pieces()
     self.work_pieces.work["w10"] = self.work1
     self.work_pieces.work["w20"] = self.work2
     self.work2["claimed_worker_id"] = "this_worker"
     self.work2["claimed_worker_start_time"] = work_data.get_integer_time()
     self.work_pieces.write_all_to_datastore()
     self.assertTrue(
         self.work_pieces.update_work_as_completed("this_worker",
                                                   "w20",
                                                   error="err"))
     self.reset_work_pieces()
     self.work_pieces.read_all_from_datastore()
     self.assertTrue(self.work_pieces.work["w20"]["is_completed"])
     self.assertEqual("err", self.work_pieces.work["w20"]["error"])
コード例 #14
0
 def test_update_work_as_completed_other_values(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work_pieces.work['w20'] = self.work2
   self.work2['claimed_worker_id'] = 'this_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.work_pieces.write_all_to_datastore()
   self.assertTrue(
       self.work_pieces.update_work_as_completed(
           'this_worker', 'w20', other_values={'a': 123, 'b': 456}))
   self.reset_work_pieces()
   self.work_pieces.read_all_from_datastore()
   self.assertTrue(self.work_pieces.work['w20']['is_completed'])
   self.assertNotIn('error', self.work_pieces.work['w20'])
   self.assertEqual(123, self.work_pieces.work['w20']['a'])
   self.assertEqual(456, self.work_pieces.work['w20']['b'])
コード例 #15
0
 def test_update_work_as_completed_other_values(self):
   self.reset_work_pieces()
   self.work_pieces.work['w10'] = self.work1
   self.work_pieces.work['w20'] = self.work2
   self.work2['claimed_worker_id'] = 'this_worker'
   self.work2['claimed_worker_start_time'] = work_data.get_integer_time()
   self.work_pieces.write_all_to_datastore()
   self.assertTrue(
       self.work_pieces.update_work_as_completed(
           'this_worker', 'w20', other_values={'a': 123, 'b': 456}))
   self.reset_work_pieces()
   self.work_pieces.read_all_from_datastore()
   self.assertTrue(self.work_pieces.work['w20']['is_completed'])
   self.assertNotIn('error', self.work_pieces.work['w20'])
   self.assertEqual(123, self.work_pieces.work['w20']['a'])
   self.assertEqual(456, self.work_pieces.work['w20']['b'])
コード例 #16
0
ファイル: work_data_test.py プロジェクト: zmsv73/cleverhans
 def test_update_work_as_completed_other_values(self):
     self.reset_work_pieces()
     self.work_pieces.work["w10"] = self.work1
     self.work_pieces.work["w20"] = self.work2
     self.work2["claimed_worker_id"] = "this_worker"
     self.work2["claimed_worker_start_time"] = work_data.get_integer_time()
     self.work_pieces.write_all_to_datastore()
     self.assertTrue(
         self.work_pieces.update_work_as_completed("this_worker",
                                                   "w20",
                                                   other_values={
                                                       "a": 123,
                                                       "b": 456
                                                   }))
     self.reset_work_pieces()
     self.work_pieces.read_all_from_datastore()
     self.assertTrue(self.work_pieces.work["w20"]["is_completed"])
     self.assertNotIn("error", self.work_pieces.work["w20"])
     self.assertEqual(123, self.work_pieces.work["w20"]["a"])
     self.assertEqual(456, self.work_pieces.work["w20"]["b"])