Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2730)

Unified Diff: appengine/swarming/server/task_scheduler_test.py

Issue 2832243002: swarming: mechanical changes to unit tests (Closed)
Patch Set: Disable tx before calling tq Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « appengine/swarming/handlers_test.py ('k') | appengine/swarming/server/task_to_run_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: appengine/swarming/server/task_scheduler_test.py
diff --git a/appengine/swarming/server/task_scheduler_test.py b/appengine/swarming/server/task_scheduler_test.py
index 886a6e49e3db68fd39f18cf71644657165647256..dce4a6ecffd9e50748d7dfb60318d9662cb1f6b6 100755
--- a/appengine/swarming/server/task_scheduler_test.py
+++ b/appengine/swarming/server/task_scheduler_test.py
@@ -47,32 +47,6 @@ from proto import config_pb2
# pylint: disable=W0212,W0612
-def _gen_request(properties=None, **kwargs):
- """Creates a TaskRequest."""
- props = {
- 'command': [u'command1'],
- 'dimensions': {u'pool': u'default'},
- 'env': {},
- 'execution_timeout_secs': 24*60*60,
- 'io_timeout_secs': None,
- }
- props.update(properties or {})
- now = utils.utcnow()
- args = {
- 'created_ts': now,
- 'name': 'Request name',
- 'priority': 50,
- 'properties': task_request.TaskProperties(**props),
- 'expiration_ts': now + datetime.timedelta(seconds=60),
- 'tags': [u'tag:1'],
- 'user': 'Jesus',
- }
- args.update(kwargs)
- ret = task_request.TaskRequest(**args)
- task_request.init_new_request(ret, True, None)
- return ret
-
-
def get_results(request_key):
"""Fetches all task results for a specified TaskRequest ndb.Key.
@@ -90,37 +64,6 @@ def get_results(request_key):
return result_summary, q.fetch()
-def _quick_schedule(dims):
- """Schedules a task."""
- request = _gen_request(properties={'dimensions': dims})
- task_request.init_new_request(request, True, None)
- return task_scheduler.schedule_request(request, None)
-
-
-def _register_bot(bot_dimensions):
- """Registers the bot so the task queues knows there's a worker than can run
- the task.
- """
- bot_management.bot_event(
- 'bot_connected', bot_dimensions[u'id'][0], '1.2.3.4', 'joe@localhost',
- bot_dimensions, {'state': 'real'}, '1234', False, None, None)
- task_queues.assert_bot(bot_dimensions)
-
-
-def _quick_reap():
- """Reaps a task."""
- _quick_schedule({u'os': u'Windows-3.1.1', u'pool': u'default'})
- bot_dimensions = {
- u'id': [u'localhost'],
- u'os': [u'Windows-3.1.1'],
- u'pool': [u'default'],
- }
- _register_bot(bot_dimensions)
- reaped_request, _, run_result = task_scheduler.bot_reap_task(
- bot_dimensions, 'abc', None)
- return run_result
-
-
class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def setUp(self):
super(TaskSchedulerApiTest, self).setUp()
@@ -167,6 +110,61 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.mock(pubsub, 'publish', pubsub_publish)
return calls
+ def _gen_request(self, properties=None, **kwargs):
+ """Creates a TaskRequest."""
+ props = {
+ 'command': [u'command1'],
+ 'dimensions': {u'pool': u'default'},
+ 'env': {},
+ 'execution_timeout_secs': 24*60*60,
+ 'io_timeout_secs': None,
+ }
+ props.update(properties or {})
+ now = utils.utcnow()
+ args = {
+ 'created_ts': now,
+ 'name': 'Request name',
+ 'priority': 50,
+ 'properties': task_request.TaskProperties(**props),
+ 'expiration_ts': now + datetime.timedelta(seconds=60),
+ 'tags': [u'tag:1'],
+ 'user': 'Jesus',
+ }
+ args.update(kwargs)
+ ret = task_request.TaskRequest(**args)
+ task_request.init_new_request(ret, True, None)
+ return ret
+
+ def _quick_schedule(self, dims, nb_task=0):
+ """Schedules a task."""
+ request = self._gen_request(properties={'dimensions': dims})
+ result_summary = task_scheduler.schedule_request(request, None)
+ self.assertEqual(nb_task, self.execute_tasks())
+ return result_summary
+
+ def _register_bot(self, bot_dimensions, nb_task=0):
+ """Registers the bot so the task queues knows there's a worker than can run
+ the task.
+ """
+ bot_management.bot_event(
+ 'bot_connected', bot_dimensions[u'id'][0], '1.2.3.4', 'joe@localhost',
+ bot_dimensions, {'state': 'real'}, '1234', False, None, None)
+ task_queues.assert_bot(bot_dimensions)
+ self.assertEqual(nb_task, self.execute_tasks())
+
+ def _quick_reap(self, nb_task=0):
+ """Reaps a task."""
+ self._quick_schedule({u'os': u'Windows-3.1.1', u'pool': u'default'})
+ bot_dimensions = {
+ u'id': [u'localhost'],
+ u'os': [u'Windows-3.1.1'],
+ u'pool': [u'default'],
+ }
+ self._register_bot(bot_dimensions, nb_task=nb_task)
+ reaped_request, _, run_result = task_scheduler.bot_reap_task(
+ bot_dimensions, 'abc', None)
+ return run_result
+
def test_all_apis_are_tested(self):
# Ensures there's a test for each public API.
# TODO(maruel): Remove this once coverage is asserted.
@@ -178,7 +176,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.assertFalse(missing)
def test_bot_reap_task(self):
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
})
@@ -190,7 +188,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
actual_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(request, actual_request)
@@ -198,7 +196,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.assertEqual(None, task_to_run.TaskToRun.query().get().queue_number)
def test_bot_reap_task_not_enough_time(self):
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
})
@@ -210,7 +208,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
actual_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', datetime.datetime(1969, 1, 1))
self.failIf(actual_request)
@@ -218,7 +216,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.failUnless(task_to_run.TaskToRun.query().get().queue_number)
def test_bot_reap_task_enough_time(self):
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
})
@@ -230,7 +228,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
actual_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', datetime.datetime(3000, 1, 1))
self.assertEqual(request, actual_request)
@@ -286,7 +284,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def _task_ran_successfully(self):
"""Runs a task successfully and returns the task_id."""
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
'idempotent': True,
@@ -299,7 +297,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
actual_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(request, actual_request)
@@ -323,8 +321,8 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
performance_stats=None))
return unicode(run_result.task_id)
- def _task_deduped(self, new_ts, deduped_from, task_id, nb_queues, now=None):
- request = _gen_request(
+ def _task_deduped(self, new_ts, deduped_from, task_id, nb_task=0, now=None):
+ request = self._gen_request(
name='yay',
user='Raoul',
properties={
@@ -340,11 +338,10 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'pool': [u'default'],
}
self.assertEqual(None, task_to_run.TaskToRun.query().get().queue_number)
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions, nb_task=nb_task)
actual_request_2, _, run_result_2 = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(None, actual_request_2)
- self.assertEqual(nb_queues, self.execute_tasks())
result_summary_duped, run_results_duped = get_results(request.key)
expected = {
'abandoned_ts': None,
@@ -393,7 +390,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
# Second task is deduped against first task.
new_ts = self.mock_now(self.now, config.settings().reusable_task_age_secs-1)
- self._task_deduped(new_ts, task_id, '1d8dc670a0008a10', 0)
+ self._task_deduped(new_ts, task_id, '1d8dc670a0008a10')
def test_task_idempotent_old(self):
# First task is idempotent.
@@ -401,7 +398,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
# Second task is scheduled, first task is too old to be reused.
new_ts = self.mock_now(self.now, config.settings().reusable_task_age_secs)
- request = _gen_request(
+ request = self._gen_request(
name='yay',
user='Raoul',
properties={
@@ -419,12 +416,12 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
# Second task is deduped against first task.
new_ts = self.mock_now(self.now, config.settings().reusable_task_age_secs-1)
- self._task_deduped(new_ts, task_id, '1d8dc670a0008a10', 0)
+ self._task_deduped(new_ts, task_id, '1d8dc670a0008a10')
# Third task is scheduled, second task is not dedupable, first task is too
# old.
new_ts = self.mock_now(self.now, config.settings().reusable_task_age_secs)
- request = _gen_request(
+ request = self._gen_request(
name='yay',
user='Jesus',
properties={
@@ -457,12 +454,12 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
# Third task is deduped against second task. That ensures ordering works
# correctly.
third_ts = self.mock_now(self.now, 20)
- self._task_deduped(third_ts, task_id, '1d69ba3ea8008b10', 0, second_ts)
+ self._task_deduped(third_ts, task_id, '1d69ba3ea8008b10', now=second_ts)
def test_task_parent_children(self):
# Parent task creates a child task.
parent_id = self._task_ran_successfully()
- request = _gen_request(
+ request = self._gen_request(
parent_task_id=parent_id,
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
@@ -480,7 +477,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.assertEqual(expected, parent_res_summary_key.get().children_task_ids)
def test_task_parent_isolated(self):
- request = _gen_request(
+ request = self._gen_request(
properties={
'command': [],
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
@@ -498,7 +495,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
actual_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(request, actual_request)
@@ -522,7 +519,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
performance_stats=None))
parent_id = run_result.task_id
- request = _gen_request(
+ request = self._gen_request(
parent_task_id=parent_id,
properties={
'dimensions':{u'os': u'Windows-3.1.1', u'pool': u'default'},
@@ -543,7 +540,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
# TODO(maruel): Split in more focused tests.
created_ts = self.now
self.mock_now(created_ts)
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
})
@@ -599,7 +596,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
reaped_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(request, reaped_request)
@@ -786,7 +783,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.assertEqual(expected, [t.to_dict() for t in run_results])
def test_exit_code_failure(self):
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
})
@@ -797,7 +794,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
reaped_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(request, reaped_request)
@@ -883,7 +880,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def test_schedule_request(self):
# It is tested indirectly in the other functions.
self.assertTrue(
- _quick_schedule({u'os': u'Windows-3.1.1', u'pool': u'default'}))
+ self._quick_schedule({u'os': u'Windows-3.1.1', u'pool': u'default'}))
def mock_dim_acls(self, mapping):
self.mock(config, 'settings', lambda: config_pb2.SettingsCfg(
@@ -895,22 +892,22 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def test_schedule_request_forbidden_dim(self):
self.mock_dim_acls({u'pool:bad': u'noone'})
- _quick_schedule({u'pool': u'good'})
+ self._quick_schedule({u'pool': u'good'})
with self.assertRaises(auth.AuthorizationError):
- _quick_schedule({u'pool': u'bad'})
+ self._quick_schedule({u'pool': u'bad'})
def test_schedule_request_forbidden_dim_via_star(self):
self.mock_dim_acls({u'abc:*': u'noone'})
- _quick_schedule({u'pool': u'default'})
+ self._quick_schedule({u'pool': u'default'})
with self.assertRaises(auth.AuthorizationError):
- _quick_schedule({u'pool': u'default', u'abc': u'blah'})
+ self._quick_schedule({u'pool': u'default', u'abc': u'blah'})
def test_schedule_request_id_without_pool(self):
self.mock_dim_acls({u'pool:good': u'mocked'})
with self.assertRaises(auth.AuthorizationError):
- _quick_schedule({u'id': u'abc'})
+ self._quick_schedule({u'id': u'abc'})
auth_testing.mock_is_admin(self)
- _quick_schedule({u'id': u'abc'})
+ self._quick_schedule({u'id': u'abc'})
def test_schedule_request_id_and_pool(self):
self.mock_dim_acls({u'pool:good': u'mocked'})
@@ -922,13 +919,13 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
return False
self.mock(auth, 'is_group_member', mocked_is_group_member)
- _quick_schedule({u'id': u'abc', u'pool': u'unknown'})
- _quick_schedule({u'id': u'abc', u'pool': u'good'})
+ self._quick_schedule({u'id': u'abc', u'pool': u'unknown'})
+ self._quick_schedule({u'id': u'abc', u'pool': u'good'})
with self.assertRaises(auth.AuthorizationError):
- _quick_schedule({u'id': u'abc', u'pool': u'bad'})
+ self._quick_schedule({u'id': u'abc', u'pool': u'bad'})
def test_bot_update_task(self):
- run_result = _quick_reap()
+ run_result = self._quick_reap()
self.assertEqual(
task_result.State.RUNNING,
task_scheduler.bot_update_task(
@@ -962,7 +959,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.assertEqual('hihey', run_result.key.get().get_output())
def test_bot_update_task_new_overwrite(self):
- run_result = _quick_reap()
+ run_result = self._quick_reap()
self.assertEqual(
task_result.State.RUNNING,
task_scheduler.bot_update_task(
@@ -996,7 +993,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.assertEqual('hhey', run_result.key.get().get_output())
def test_bot_update_exception(self):
- run_result = _quick_reap()
+ run_result = self._quick_reap()
def r(*_):
raise datastore_utils.CommitError('Sorry!')
@@ -1019,7 +1016,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def test_bot_update_pubsub_error(self):
pub_sub_calls = self.mock_pub_sub()
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
},
@@ -1032,11 +1029,10 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
_, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual('localhost', run_result.bot_id)
- self.assertEqual(1, self.execute_tasks())
# Attempt to terminate the task with success, but make PubSub call fail.
self.publish_successful = False
@@ -1055,7 +1051,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
cost_usd=0.1,
outputs_ref=None,
performance_stats=None))
- self.assertEqual(0, self.execute_tasks())
+ self.assertEqual(1, self.execute_tasks(status=500))
# Bot retries bot_update, now PubSub works and notification is sent.
self.publish_successful = True
@@ -1075,10 +1071,10 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
outputs_ref=None,
performance_stats=None))
self.assertEqual(0, self.execute_tasks())
- self.assertEqual(2, len(pub_sub_calls)) # notification is sent
+ self.assertEqual(1, len(pub_sub_calls)) # notification is sent
def _bot_update_timeouts(self, hard, io):
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
})
@@ -1089,7 +1085,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
reaped_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(
@@ -1176,7 +1172,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def test_bot_kill_task(self):
pub_sub_calls = self.mock_pub_sub()
dimensions = {u'os': u'Windows-3.1.1', u'pool': u'default'}
- request = _gen_request(
+ request = self._gen_request(
properties={'dimensions': dimensions},
pubsub_topic='projects/abc/topics/def')
task_request.init_new_request(request, True, None)
@@ -1186,7 +1182,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
reaped_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(1, self.execute_tasks())
@@ -1256,7 +1252,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.assertEqual(2, len(pub_sub_calls)) # RUNNING -> BOT_DIED
def test_bot_kill_task_wrong_bot(self):
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
})
@@ -1267,7 +1263,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
reaped_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
expected = (
@@ -1277,7 +1273,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
expected, task_scheduler.bot_kill_task(run_result.key, 'bot1'))
def test_cancel_task(self):
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
},
@@ -1294,7 +1290,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.assertEqual(1, len(pub_sub_calls)) # sent completion notification
def test_cancel_task_running(self):
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
},
@@ -1307,7 +1303,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
reaped_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
ok, was_running = task_scheduler.cancel_task(request, result_summary.key)
@@ -1319,7 +1315,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
self.assertEqual(1, len(pub_sub_calls)) # PENDING -> RUNNING
def test_cron_abort_expired_task_to_run(self):
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
},
@@ -1374,7 +1370,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def test_cron_abort_expired_task_to_run_retry(self):
pub_sub_calls = self.mock_pub_sub()
now = utils.utcnow()
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
'idempotent': True,
@@ -1392,7 +1388,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(1, self.execute_tasks())
@@ -1456,7 +1452,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
# Test first retry, then success.
now = utils.utcnow()
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
'idempotent': True,
@@ -1473,7 +1469,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(
@@ -1551,7 +1547,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
now_2 = self.mock_now(self.now + task_result.BOT_PING_TOLERANCE, 2)
bot_dimensions_second = bot_dimensions.copy()
bot_dimensions_second[u'id'] = [u'localhost-second']
- _register_bot(bot_dimensions_second)
+ self._register_bot(bot_dimensions_second)
_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions_second, 'abc', None)
self.assertEqual(1, self.execute_tasks())
@@ -1617,7 +1613,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def test_cron_handle_bot_died_same_bot_denied(self):
# Test first retry, then success.
now = utils.utcnow()
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
'idempotent': True,
@@ -1632,7 +1628,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(1, run_result.try_number)
@@ -1711,7 +1707,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def test_cron_handle_bot_died_second(self):
# Test two tries internal_failure's leading to a BOT_DIED status.
now = utils.utcnow()
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
'idempotent': True,
@@ -1726,7 +1722,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(1, run_result.try_number)
@@ -1737,7 +1733,8 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
# It must be a different bot.
bot_dimensions_second = bot_dimensions.copy()
bot_dimensions_second[u'id'] = [u'localhost-second']
- _register_bot(bot_dimensions_second)
+ self._register_bot(bot_dimensions_second)
+ # No task to run because the task dimensions were already seen.
_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions_second, 'abc', None)
now_2 = self.mock_now(self.now + 2 * task_result.BOT_PING_TOLERANCE, 3)
@@ -1784,7 +1781,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
def test_cron_handle_bot_died_ignored_expired(self):
now = utils.utcnow()
- request = _gen_request(
+ request = self._gen_request(
properties={
'dimensions': {u'os': u'Windows-3.1.1', u'pool': u'default'},
},
@@ -1798,7 +1795,7 @@ class TaskSchedulerApiTest(test_env_handlers.AppTestBase):
u'os': [u'Windows', u'Windows-3.1.1'],
u'pool': [u'default'],
}
- _register_bot(bot_dimensions)
+ self._register_bot(bot_dimensions)
_request, _, run_result = task_scheduler.bot_reap_task(
bot_dimensions, 'abc', None)
self.assertEqual(1, run_result.try_number)
« no previous file with comments | « appengine/swarming/handlers_test.py ('k') | appengine/swarming/server/task_to_run_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698