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

Side by Side Diff: client/bin/job_unittest.py

Issue 6539001: Merge remote branch 'cros/upstream' into master. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/autotest.git@master
Patch Set: patch Created 9 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « client/bin/job.py ('k') | client/common_lib/base_packages.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 2
3 import logging, os, shutil, sys, time, StringIO 3 import logging, os, shutil, sys, time, StringIO
4 import common 4 import common
5 5
6 from autotest_lib.client.bin import job, boottool, config, sysinfo, harness 6 from autotest_lib.client.bin import job, boottool, config, sysinfo, harness
7 from autotest_lib.client.bin import test, xen, kernel, utils 7 from autotest_lib.client.bin import test, xen, kernel, utils
8 from autotest_lib.client.common_lib import packages, error, log 8 from autotest_lib.client.common_lib import packages, error, log
9 from autotest_lib.client.common_lib import logging_manager, logging_config 9 from autotest_lib.client.common_lib import logging_manager, logging_config
10 from autotest_lib.client.common_lib import base_job_unittest 10 from autotest_lib.client.common_lib import base_job_unittest
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 stub_sysinfo()) 75 stub_sysinfo())
76 class stub_harness: 76 class stub_harness:
77 run_start = lambda self: None 77 run_start = lambda self: None
78 self.god.stub_function_to_return(job.harness, 'select', stub_harness()) 78 self.god.stub_function_to_return(job.harness, 'select', stub_harness())
79 self.god.stub_function_to_return(job.boottool, 'boottool', object()) 79 self.god.stub_function_to_return(job.boottool, 'boottool', object())
80 class options: 80 class options:
81 tag = '' 81 tag = ''
82 verbose = False 82 verbose = False
83 cont = False 83 cont = False
84 harness = 'stub' 84 harness = 'stub'
85 harness_args = None
85 hostname = None 86 hostname = None
86 user = None 87 user = None
87 log = False 88 log = False
88 args = '' 89 args = ''
89 tap_report = None 90 tap_report = None
90 self.god.stub_function_to_return(job.utils, 'drop_caches', None) 91 self.god.stub_function_to_return(job.utils, 'drop_caches', None)
91 92
92 self.job._job_state = base_job_unittest.stub_job_state 93 self.job._job_state = base_job_unittest.stub_job_state
93 self.job.__init__('/control', options) 94 self.job.__init__('/control', options)
94 95
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 tmpdir = os.path.join(self.autodir, 'tmp') 175 tmpdir = os.path.join(self.autodir, 'tmp')
175 if not cont: 176 if not cont:
176 job.base_client_job._cleanup_debugdir_files.expect_call() 177 job.base_client_job._cleanup_debugdir_files.expect_call()
177 job.base_client_job._cleanup_results_dir.expect_call() 178 job.base_client_job._cleanup_results_dir.expect_call()
178 179
179 self.job._load_state.expect_call() 180 self.job._load_state.expect_call()
180 181
181 my_harness = self.god.create_mock_class(harness.harness, 182 my_harness = self.god.create_mock_class(harness.harness,
182 'my_harness') 183 'my_harness')
183 harness.select.expect_call(None, 184 harness.select.expect_call(None,
184 self.job).and_return(my_harness) 185 self.job,
186 None).and_return(my_harness)
185 187
186 return resultdir, my_harness 188 return resultdir, my_harness
187 189
188 190
189 def _setup_post_record_init(self, cont, resultdir, my_harness): 191 def _setup_post_record_init(self, cont, resultdir, my_harness):
190 # now some specific stubs 192 # now some specific stubs
191 self.god.stub_function(self.job, 'config_get') 193 self.god.stub_function(self.job, 'config_get')
192 self.god.stub_function(self.job, 'config_set') 194 self.god.stub_function(self.job, 'config_set')
193 self.god.stub_function(self.job, 'record') 195 self.god.stub_function(self.job, 'record')
194 196
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 232
231 # record 233 # record
232 resultdir, my_harness = self._setup_pre_record_init(cont) 234 resultdir, my_harness = self._setup_pre_record_init(cont)
233 self._setup_post_record_init(cont, resultdir, my_harness) 235 self._setup_post_record_init(cont, resultdir, my_harness)
234 236
235 # finish constructor 237 # finish constructor
236 options = dummy() 238 options = dummy()
237 options.tag = self.jobtag 239 options.tag = self.jobtag
238 options.cont = cont 240 options.cont = cont
239 options.harness = None 241 options.harness = None
242 options.harness_args = None
240 options.log = False 243 options.log = False
241 options.verbose = False 244 options.verbose = False
242 options.hostname = 'localhost' 245 options.hostname = 'localhost'
243 options.user = 'my_user' 246 options.user = 'my_user'
244 options.args = '' 247 options.args = ''
245 options.tap_report = None 248 options.tap_report = None
246 self.job.__init__(self.control, options, 249 self.job.__init__(self.control, options,
247 extra_copy_cmdline=['more-blah']) 250 extra_copy_cmdline=['more-blah'])
248 251
249 # check 252 # check
(...skipping 20 matching lines...) Expand all
270 273
271 def test_constructor_post_record_failure(self): 274 def test_constructor_post_record_failure(self):
272 """ 275 """
273 Test post record initialization failure. 276 Test post record initialization failure.
274 """ 277 """
275 self.job = job.base_client_job.__new__(job.base_client_job) 278 self.job = job.base_client_job.__new__(job.base_client_job)
276 options = dummy() 279 options = dummy()
277 options.tag = self.jobtag 280 options.tag = self.jobtag
278 options.cont = False 281 options.cont = False
279 options.harness = None 282 options.harness = None
283 options.harness_args = None
280 options.log = False 284 options.log = False
281 options.verbose = False 285 options.verbose = False
282 options.hostname = 'localhost' 286 options.hostname = 'localhost'
283 options.user = 'my_user' 287 options.user = 'my_user'
284 options.args = '' 288 options.args = ''
285 options.tap_report = None 289 options.tap_report = None
286 error = Exception('fail') 290 error = Exception('fail')
287 291
288 self.god.stub_function(self.job, '_post_record_init') 292 self.god.stub_function(self.job, '_post_record_init')
289 self.god.stub_function(self.job, 'record') 293 self.god.stub_function(self.job, 'record')
(...skipping 25 matching lines...) Expand all
315 control_file = "blah" 319 control_file = "blah"
316 self.job.control_set(control_file) 320 self.job.control_set(control_file)
317 self.assertEquals(self.job.control_get(), os.path.abspath(control_file)) 321 self.assertEquals(self.job.control_get(), os.path.abspath(control_file))
318 322
319 323
320 def test_harness_select(self): 324 def test_harness_select(self):
321 self.construct_job(True) 325 self.construct_job(True)
322 326
323 # record 327 # record
324 which = "which" 328 which = "which"
325 harness.select.expect_call(which, self.job).and_return(None) 329 harness_args = ''
330 harness.select.expect_call(which, self.job,
331 harness_args).and_return(None)
326 332
327 # run and test 333 # run and test
328 self.job.harness_select(which) 334 self.job.harness_select(which, harness_args)
329 self.god.check_playback() 335 self.god.check_playback()
330 336
331 337
332 def test_config_set(self): 338 def test_config_set(self):
333 self.construct_job(True) 339 self.construct_job(True)
334 340
335 # unstub config_set 341 # unstub config_set
336 self.god.unstub(self.job, 'config_set') 342 self.god.unstub(self.job, 'config_set')
337 # record 343 # record
338 name = "foo" 344 name = "foo"
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 "a='b c d' no=argh": 708 "a='b c d' no=argh":
703 ["a='b c d'", "no=argh"]} 709 ["a='b c d'", "no=argh"]}
704 for t in test_set: 710 for t in test_set:
705 parsed_args = job.base_client_job._parse_args(t) 711 parsed_args = job.base_client_job._parse_args(t)
706 expected_args = test_set[t] 712 expected_args = test_set[t]
707 self.assertEqual(parsed_args, expected_args) 713 self.assertEqual(parsed_args, expected_args)
708 714
709 715
710 if __name__ == "__main__": 716 if __name__ == "__main__":
711 unittest.main() 717 unittest.main()
OLDNEW
« no previous file with comments | « client/bin/job.py ('k') | client/common_lib/base_packages.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698