OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2013 The LUCI Authors. All rights reserved. | 2 # Copyright 2013 The LUCI Authors. All rights reserved. |
3 # Use of this source code is governed under the Apache License, Version 2.0 | 3 # Use of this source code is governed under the Apache License, Version 2.0 |
4 # that can be found in the LICENSE file. | 4 # that can be found in the LICENSE file. |
5 | 5 |
6 import datetime | 6 import datetime |
7 import json | 7 import json |
8 import logging | 8 import logging |
9 import os | 9 import os |
10 import re | 10 import re |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 {'key': 'foo', 'value': 'bar'}, | 96 {'key': 'foo', 'value': 'bar'}, |
97 {'key': 'os', 'value': 'Mac'}, | 97 {'key': 'os', 'value': 'Mac'}, |
98 ], | 98 ], |
99 'env': [], | 99 'env': [], |
100 'execution_timeout_secs': 60, | 100 'execution_timeout_secs': 60, |
101 'extra_args': ['--some-arg', '123'], | 101 'extra_args': ['--some-arg', '123'], |
102 'grace_period_secs': 30, | 102 'grace_period_secs': 30, |
103 'idempotent': False, | 103 'idempotent': False, |
104 'inputs_ref': None, | 104 'inputs_ref': None, |
105 'io_timeout_secs': 60, | 105 'io_timeout_secs': 60, |
| 106 'outputs': [], |
106 }, | 107 }, |
107 'tags': ['tag:a', 'tag:b'], | 108 'tags': ['tag:a', 'tag:b'], |
108 'user': 'joe@localhost', | 109 'user': 'joe@localhost', |
109 } | 110 } |
110 out.update(kwargs) | 111 out.update(kwargs) |
111 out['properties'].update(properties or {}) | 112 out['properties'].update(properties or {}) |
112 return out | 113 return out |
113 | 114 |
114 | 115 |
115 def gen_request_response(request, **kwargs): | 116 def gen_request_response(request, **kwargs): |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 properties=swarming.TaskProperties( | 312 properties=swarming.TaskProperties( |
312 cipd_input=None, | 313 cipd_input=None, |
313 command=['a', 'b'], | 314 command=['a', 'b'], |
314 dimensions={'foo': 'bar', 'os': 'Mac'}, | 315 dimensions={'foo': 'bar', 'os': 'Mac'}, |
315 env={}, | 316 env={}, |
316 execution_timeout_secs=60, | 317 execution_timeout_secs=60, |
317 extra_args=[], | 318 extra_args=[], |
318 grace_period_secs=30, | 319 grace_period_secs=30, |
319 idempotent=False, | 320 idempotent=False, |
320 inputs_ref=None, | 321 inputs_ref=None, |
321 io_timeout_secs=60), | 322 io_timeout_secs=60, |
| 323 outputs=[]), |
322 service_account_token=None, | 324 service_account_token=None, |
323 tags=['tag:a', 'tag:b'], | 325 tags=['tag:a', 'tag:b'], |
324 user='joe@localhost') | 326 user='joe@localhost') |
325 | 327 |
326 request_1 = swarming.task_request_to_raw_request(task_request, False) | 328 request_1 = swarming.task_request_to_raw_request(task_request, False) |
327 request_1['name'] = u'unit_tests:0:2' | 329 request_1['name'] = u'unit_tests:0:2' |
328 request_1['properties']['env'] = [ | 330 request_1['properties']['env'] = [ |
329 {'key': 'GTEST_SHARD_INDEX', 'value': '0'}, | 331 {'key': 'GTEST_SHARD_INDEX', 'value': '0'}, |
330 {'key': 'GTEST_TOTAL_SHARDS', 'value': '2'}, | 332 {'key': 'GTEST_TOTAL_SHARDS', 'value': '2'}, |
331 ] | 333 ] |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 properties=swarming.TaskProperties( | 381 properties=swarming.TaskProperties( |
380 cipd_input=None, | 382 cipd_input=None, |
381 command=['a', 'b'], | 383 command=['a', 'b'], |
382 dimensions={'foo': 'bar', 'os': 'Mac'}, | 384 dimensions={'foo': 'bar', 'os': 'Mac'}, |
383 env={}, | 385 env={}, |
384 execution_timeout_secs=60, | 386 execution_timeout_secs=60, |
385 extra_args=[], | 387 extra_args=[], |
386 grace_period_secs=30, | 388 grace_period_secs=30, |
387 idempotent=False, | 389 idempotent=False, |
388 inputs_ref=None, | 390 inputs_ref=None, |
389 io_timeout_secs=60), | 391 io_timeout_secs=60, |
| 392 outputs=[]), |
390 service_account_token=None, | 393 service_account_token=None, |
391 tags=['tag:a', 'tag:b'], | 394 tags=['tag:a', 'tag:b'], |
392 user='joe@localhost') | 395 user='joe@localhost') |
393 | 396 |
394 request = swarming.task_request_to_raw_request(task_request, False) | 397 request = swarming.task_request_to_raw_request(task_request, False) |
395 self.assertEqual('123', request['parent_task_id']) | 398 self.assertEqual('123', request['parent_task_id']) |
396 | 399 |
397 result = gen_request_response(request) | 400 result = gen_request_response(request) |
398 result['request']['priority'] = 200 | 401 result['request']['priority'] = 200 |
399 self.expected_requests( | 402 self.expected_requests( |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 version='abc123')], | 442 version='abc123')], |
440 server=None), | 443 server=None), |
441 command=['a', 'b'], | 444 command=['a', 'b'], |
442 dimensions={'foo': 'bar', 'os': 'Mac'}, | 445 dimensions={'foo': 'bar', 'os': 'Mac'}, |
443 env={}, | 446 env={}, |
444 execution_timeout_secs=60, | 447 execution_timeout_secs=60, |
445 extra_args=[], | 448 extra_args=[], |
446 grace_period_secs=30, | 449 grace_period_secs=30, |
447 idempotent=False, | 450 idempotent=False, |
448 inputs_ref=None, | 451 inputs_ref=None, |
449 io_timeout_secs=60), | 452 io_timeout_secs=60, |
| 453 outputs=[]), |
450 service_account_token=None, | 454 service_account_token=None, |
451 tags=['tag:a', 'tag:b'], | 455 tags=['tag:a', 'tag:b'], |
452 user='joe@localhost') | 456 user='joe@localhost') |
453 | 457 |
454 request = swarming.task_request_to_raw_request(task_request, False) | 458 request = swarming.task_request_to_raw_request(task_request, False) |
455 expected = { | 459 expected = { |
456 'client_package': None, | 460 'client_package': None, |
457 'packages': [{ | 461 'packages': [{ |
458 'package_name': 'mypackage', | 462 'package_name': 'mypackage', |
459 'path': 'path/to/package', | 463 'path': 'path/to/package', |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
839 'dimensions': [ | 843 'dimensions': [ |
840 {'key': 'foo', 'value': 'bar'}, | 844 {'key': 'foo', 'value': 'bar'}, |
841 ], | 845 ], |
842 'env': [], | 846 'env': [], |
843 'execution_timeout_secs': 3600, | 847 'execution_timeout_secs': 3600, |
844 'extra_args': None, | 848 'extra_args': None, |
845 'grace_period_secs': 30, | 849 'grace_period_secs': 30, |
846 'idempotent': False, | 850 'idempotent': False, |
847 'inputs_ref': None, | 851 'inputs_ref': None, |
848 'io_timeout_secs': 1200, | 852 'io_timeout_secs': 1200, |
| 853 'outputs': [], |
849 }, | 854 }, |
850 'tags': [], | 855 'tags': [], |
851 'user': None, | 856 'user': None, |
852 } | 857 } |
853 result = gen_request_response(request) | 858 result = gen_request_response(request) |
854 self.expected_requests( | 859 self.expected_requests( |
855 [ | 860 [ |
856 ( | 861 ( |
857 'https://localhost:1/api/swarming/v1/tasks/new', | 862 'https://localhost:1/api/swarming/v1/tasks/new', |
858 {'data': request}, | 863 {'data': request}, |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
892 'dimensions': [ | 897 'dimensions': [ |
893 {'key': 'foo', 'value': 'bar'}, | 898 {'key': 'foo', 'value': 'bar'}, |
894 ], | 899 ], |
895 'env': [], | 900 'env': [], |
896 'execution_timeout_secs': 3600, | 901 'execution_timeout_secs': 3600, |
897 'extra_args': None, | 902 'extra_args': None, |
898 'grace_period_secs': 30, | 903 'grace_period_secs': 30, |
899 'idempotent': False, | 904 'idempotent': False, |
900 'inputs_ref': None, | 905 'inputs_ref': None, |
901 'io_timeout_secs': 1200, | 906 'io_timeout_secs': 1200, |
| 907 'outputs': [], |
902 }, | 908 }, |
903 'service_account_token': 'bot', | 909 'service_account_token': 'bot', |
904 'tags': [], | 910 'tags': [], |
905 'user': None, | 911 'user': None, |
906 } | 912 } |
907 result = gen_request_response(request) | 913 result = gen_request_response(request) |
908 self.expected_requests( | 914 self.expected_requests( |
909 [ | 915 [ |
910 ( | 916 ( |
911 'https://localhost:1/api/swarming/v1/tasks/new', | 917 'https://localhost:1/api/swarming/v1/tasks/new', |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1079 'execution_timeout_secs': 60, | 1085 'execution_timeout_secs': 60, |
1080 'extra_args': ['--some-arg', '123'], | 1086 'extra_args': ['--some-arg', '123'], |
1081 'grace_period_secs': 30, | 1087 'grace_period_secs': 30, |
1082 'idempotent': True, | 1088 'idempotent': True, |
1083 'inputs_ref': { | 1089 'inputs_ref': { |
1084 'isolated': isolated_hash, | 1090 'isolated': isolated_hash, |
1085 'isolatedserver': 'https://localhost:2', | 1091 'isolatedserver': 'https://localhost:2', |
1086 'namespace': 'default-gzip', | 1092 'namespace': 'default-gzip', |
1087 }, | 1093 }, |
1088 'io_timeout_secs': 60, | 1094 'io_timeout_secs': 60, |
| 1095 'outputs': [], |
1089 }, | 1096 }, |
1090 'tags': ['tag:a', 'tag:b'], | 1097 'tags': ['tag:a', 'tag:b'], |
1091 'user': 'joe@localhost', | 1098 'user': 'joe@localhost', |
1092 }, | 1099 }, |
1093 }, | 1100 }, |
1094 True, | 1101 True, |
1095 ), | 1102 ), |
1096 ] | 1103 ] |
1097 self.assertEqual(expected, write_json_calls) | 1104 self.assertEqual(expected, write_json_calls) |
1098 | 1105 |
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1577 | 1584 |
1578 if __name__ == '__main__': | 1585 if __name__ == '__main__': |
1579 fix_encoding.fix_encoding() | 1586 fix_encoding.fix_encoding() |
1580 logging.basicConfig( | 1587 logging.basicConfig( |
1581 level=logging.DEBUG if '-v' in sys.argv else logging.CRITICAL) | 1588 level=logging.DEBUG if '-v' in sys.argv else logging.CRITICAL) |
1582 if '-v' in sys.argv: | 1589 if '-v' in sys.argv: |
1583 unittest.TestCase.maxDiff = None | 1590 unittest.TestCase.maxDiff = None |
1584 for e in ('ISOLATE_SERVER', 'SWARMING_TASK_ID', 'SWARMING_SERVER'): | 1591 for e in ('ISOLATE_SERVER', 'SWARMING_TASK_ID', 'SWARMING_SERVER'): |
1585 os.environ.pop(e, None) | 1592 os.environ.pop(e, None) |
1586 unittest.main() | 1593 unittest.main() |
OLD | NEW |