|
|
|
@ -304,7 +304,11 @@ def create_scenarios(languages, workers_by_lang, remote_host=None, regex='.*', |
|
|
|
|
# 'SERVER_LANGUAGE' is an indicator for this script to pick |
|
|
|
|
# a server in different language. |
|
|
|
|
custom_server_lang = scenario_json.get('SERVER_LANGUAGE', None) |
|
|
|
|
custom_client_lang = scenario_json.get('CLIENT_LANGUAGE', None) |
|
|
|
|
scenario_json = scenario_config.remove_nonproto_fields(scenario_json) |
|
|
|
|
if custom_server_lang and custom_client_lang: |
|
|
|
|
raise Exception('Cannot set both custom CLIENT_LANGUAGE and SERVER_LANGUAGE' |
|
|
|
|
'in the same scenario') |
|
|
|
|
if custom_server_lang: |
|
|
|
|
if not workers_by_lang.get(custom_server_lang, []): |
|
|
|
|
print 'Warning: Skipping scenario %s as' % scenario_json['name'] |
|
|
|
@ -314,6 +318,16 @@ def create_scenarios(languages, workers_by_lang, remote_host=None, regex='.*', |
|
|
|
|
for idx in range(0, scenario_json['num_servers']): |
|
|
|
|
# replace first X workers by workers of a different language |
|
|
|
|
workers[idx] = workers_by_lang[custom_server_lang][idx] |
|
|
|
|
if custom_client_lang: |
|
|
|
|
if not workers_by_lang.get(custom_client_lang, []): |
|
|
|
|
print 'Warning: Skipping scenario %s as' % scenario_json['name'] |
|
|
|
|
print('CLIENT_LANGUAGE is set to %s yet the language has ' |
|
|
|
|
'not been selected with -l' % custom_client_lang) |
|
|
|
|
continue |
|
|
|
|
for idx in range(scenario_json['num_servers'], len(workers)): |
|
|
|
|
# replace all client workers by workers of a different language, |
|
|
|
|
# leave num_server workers as they are server workers. |
|
|
|
|
workers[idx] = workers_by_lang[custom_client_lang][idx] |
|
|
|
|
scenario = create_scenario_jobspec(scenario_json, |
|
|
|
|
workers, |
|
|
|
|
remote_host=remote_host, |
|
|
|
@ -360,8 +374,8 @@ argp.add_argument('--bq_result_table', default=None, type=str, |
|
|
|
|
help='Bigquery "dataset.table" to upload results to.') |
|
|
|
|
argp.add_argument('--category', |
|
|
|
|
choices=['smoketest','all'], |
|
|
|
|
default='smoketest', |
|
|
|
|
help='Select a category of tests to run. Smoketest runs by default.') |
|
|
|
|
default='all', |
|
|
|
|
help='Select a category of tests to run.') |
|
|
|
|
argp.add_argument('--netperf', |
|
|
|
|
default=False, |
|
|
|
|
action='store_const', |
|
|
|
|