# this doctest contains tests for miscellaneous features of the RPC interface # that would clutter the main rpc_test # setup >>> from autotest_lib.frontend.afe import rpc_interface >>> rpc_interface.add_profiler(name='oprofile') 1 >>> rpc_interface.add_profiler(name='iostat') 2 # profiler support in control file generation >>> cf_info = rpc_interface.generate_control_file( ... client_control_file='print "Hi"\n', ... profilers=['oprofile', 'iostat']) >>> print cf_info['control_file'] def step_init(): job.next_step('step0') job.next_step('step1') job.next_step('step2') job.next_step('step3') job.next_step('step4') <BLANKLINE> def step0(): job.profilers.add('oprofile') <BLANKLINE> def step1(): job.profilers.add('iostat') <BLANKLINE> def step2(): print "Hi" <BLANKLINE> return locals() <BLANKLINE> def step3(): job.profilers.delete('oprofile') <BLANKLINE> def step4(): job.profilers.delete('iostat') # profile_only=False support in control file generation >>> cf_info = rpc_interface.generate_control_file( ... client_control_file='print "Hi"\n', ... profilers=['oprofile'], ... profile_only=False) >>> print cf_info['control_file'] def step_init(): job.next_step('step0') job.next_step('step1') job.next_step('step2') job.next_step('step3') <BLANKLINE> def step0(): job.default_profile_only = False <BLANKLINE> def step1(): job.profilers.add('oprofile') <BLANKLINE> def step2(): print "Hi" <BLANKLINE> return locals() <BLANKLINE> def step3(): job.profilers.delete('oprofile') # profile_only=True support in control file generation >>> cf_info = rpc_interface.generate_control_file( ... client_control_file='print "Hi"\n', ... profilers=['iostat'], ... profile_only=True) >>> print cf_info['control_file'] def step_init(): job.next_step('step0') job.next_step('step1') job.next_step('step2') job.next_step('step3') <BLANKLINE> def step0(): job.default_profile_only = True <BLANKLINE> def step1(): job.profilers.add('iostat') <BLANKLINE> def step2(): print "Hi" <BLANKLINE> return locals() <BLANKLINE> def step3(): job.profilers.delete('iostat') # test that multiline quoted strings are not indented >>> import common >>> from autotest_lib.frontend.afe import test, control_file >>> import os >>> control_path = os.path.join(os.path.dirname(test.__file__), ... 'doctests', 'test.control.3') >>> control_path = os.path.abspath(control_path) >>> class FakeTest(object): ... path = control_path ... >>> print control_file.generate_control([FakeTest()], is_server=True) #doctest: +NORMALIZE_WHITESPACE def step_init(): step0() def step0(): client_code = """ some content\"""quoted content\""" '''other quoted content\"""''' \\""" client_code2 = ''' some content\'''quoted content\''' """other quoted content\'''""" \\''' job.run_test('testname') step_init()