mirror of https://github.com/grpc/grpc.git
commit
c163baa559
24 changed files with 589 additions and 1047 deletions
@ -0,0 +1,38 @@ |
||||
#!/usr/bin/env python2.7 |
||||
|
||||
# Copyright 2018 gRPC authors. |
||||
# |
||||
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||
# you may not use this file except in compliance with the License. |
||||
# You may obtain a copy of the License at |
||||
# |
||||
# http://www.apache.org/licenses/LICENSE-2.0 |
||||
# |
||||
# Unless required by applicable law or agreed to in writing, software |
||||
# distributed under the License is distributed on an "AS IS" BASIS, |
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
# See the License for the specific language governing permissions and |
||||
# limitations under the License. |
||||
|
||||
import gen_build_yaml as gen |
||||
import json |
||||
|
||||
def generate_args(): |
||||
all_scenario_set = gen.generate_yaml() |
||||
all_scenario_set = all_scenario_set['tests'] |
||||
json_run_localhost_scenarios = \ |
||||
[item for item in all_scenario_set if item['name'] == 'qps_json_driver'] |
||||
json_run_localhost_arg_set = \ |
||||
[item['args'][2] for item in json_run_localhost_scenarios \ |
||||
if 'args' in item and len(item['args']) > 2] |
||||
deserialized_scenarios = [json.loads(item)['scenarios'][0] \ |
||||
for item in json_run_localhost_arg_set] |
||||
all_scenarios = {scenario['name'].encode('ascii', 'ignore'): \ |
||||
'\'{\'scenarios\' : [' + json.dumps(scenario) + ']}\'' \ |
||||
for scenario in deserialized_scenarios} |
||||
|
||||
serialized_scenarios_str = str(all_scenarios).encode('ascii', 'ignore') |
||||
with open('json_run_localhost_scenarios.bzl', 'wb') as f: |
||||
f.write('JSON_RUN_LOCALHOST_SCENARIOS = ' + serialized_scenarios_str + '\n') |
||||
|
||||
generate_args() |
File diff suppressed because one or more lines are too long
@ -0,0 +1,72 @@ |
||||
# Copyright 2018 gRPC authors. |
||||
# |
||||
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||
# you may not use this file except in compliance with the License. |
||||
# You may obtain a copy of the License at |
||||
# |
||||
# http://www.apache.org/licenses/LICENSE-2.0 |
||||
# |
||||
# Unless required by applicable law or agreed to in writing, software |
||||
# distributed under the License is distributed on an "AS IS" BASIS, |
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
# See the License for the specific language governing permissions and |
||||
# limitations under the License. |
||||
|
||||
# |
||||
# This is for the gRPC build system. This isn't intended to be used outsite of |
||||
# the BUILD file for gRPC. It contains the mapping for the template system we |
||||
# use to generate other platform's build system files. |
||||
# |
||||
# Please consider that there should be a high bar for additions and changes to |
||||
# this file. |
||||
# Each rule listed must be re-written for Google's internal build system, and |
||||
# each change must be ported from one to the other. |
||||
# |
||||
|
||||
load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_test") |
||||
load("//test/cpp/qps:qps_json_driver_scenarios.bzl", "QPS_JSON_DRIVER_SCENARIOS") |
||||
load("//test/cpp/qps:json_run_localhost_scenarios.bzl", "JSON_RUN_LOCALHOST_SCENARIOS") |
||||
|
||||
def qps_json_driver_batch(): |
||||
for scenario in QPS_JSON_DRIVER_SCENARIOS: |
||||
grpc_cc_test( |
||||
name = "qps_json_driver_test_%s" % scenario, |
||||
srcs = ["qps_json_driver.cc"], |
||||
args = [ |
||||
"--run_inproc", |
||||
"--scenarios_json", |
||||
QPS_JSON_DRIVER_SCENARIOS[scenario], |
||||
], |
||||
external_deps = [ |
||||
"gflags", |
||||
], |
||||
deps = [ |
||||
":benchmark_config", |
||||
":driver_impl", |
||||
"//:grpc++", |
||||
"//test/cpp/util:test_config", |
||||
"//test/cpp/util:test_util", |
||||
], |
||||
) |
||||
|
||||
def json_run_localhost_batch(): |
||||
for scenario in JSON_RUN_LOCALHOST_SCENARIOS: |
||||
grpc_cc_test( |
||||
name = "json_run_localhost_%s" % scenario, |
||||
srcs = ["json_run_localhost.cc"], |
||||
args = [ |
||||
"--scenarios_json", |
||||
JSON_RUN_LOCALHOST_SCENARIOS[scenario], |
||||
], |
||||
data = [ |
||||
"//test/cpp/qps:qps_json_driver", |
||||
"//test/cpp/qps:qps_worker", |
||||
], |
||||
deps = [ |
||||
"//:gpr", |
||||
"//test/core/util:gpr_test_util", |
||||
"//test/core/util:grpc_test_util", |
||||
"//test/cpp/util:test_config", |
||||
"//test/cpp/util:test_util", |
||||
], |
||||
) |
@ -0,0 +1,38 @@ |
||||
#!/usr/bin/env python2.7 |
||||
|
||||
# Copyright 2018 gRPC authors. |
||||
# |
||||
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||
# you may not use this file except in compliance with the License. |
||||
# You may obtain a copy of the License at |
||||
# |
||||
# http://www.apache.org/licenses/LICENSE-2.0 |
||||
# |
||||
# Unless required by applicable law or agreed to in writing, software |
||||
# distributed under the License is distributed on an "AS IS" BASIS, |
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
# See the License for the specific language governing permissions and |
||||
# limitations under the License. |
||||
|
||||
import gen_build_yaml as gen |
||||
import json |
||||
|
||||
def generate_args(): |
||||
all_scenario_set = gen.generate_yaml() |
||||
all_scenario_set = all_scenario_set['tests'] |
||||
qps_json_driver_scenario_set = \ |
||||
[item for item in all_scenario_set if item['name'] == 'qps_json_driver'] |
||||
qps_json_driver_arg_set = \ |
||||
[item['args'][2] for item in qps_json_driver_scenario_set \ |
||||
if 'args' in item and len(item['args']) > 2] |
||||
deserialized_scenarios = [json.loads(item)['scenarios'][0] \ |
||||
for item in qps_json_driver_arg_set] |
||||
all_scenarios = {scenario['name'].encode('ascii', 'ignore'): \ |
||||
'\'{\'scenarios\' : [' + json.dumps(scenario) + ']}\'' \ |
||||
for scenario in deserialized_scenarios} |
||||
|
||||
serialized_scenarios_str = str(all_scenarios).encode('ascii', 'ignore') |
||||
with open('qps_json_driver_scenarios.bzl', 'w') as f: |
||||
f.write('QPS_JSON_DRIVER_SCENARIOS = ' + serialized_scenarios_str + '\n') |
||||
|
||||
generate_args() |
File diff suppressed because one or more lines are too long
@ -0,0 +1,33 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
# Copyright 2018 gRPC authors. |
||||
# |
||||
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||
# you may not use this file except in compliance with the License. |
||||
# You may obtain a copy of the License at |
||||
# |
||||
# http://www.apache.org/licenses/LICENSE-2.0 |
||||
# |
||||
# Unless required by applicable law or agreed to in writing, software |
||||
# distributed under the License is distributed on an "AS IS" BASIS, |
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
# See the License for the specific language governing permissions and |
||||
# limitations under the License. |
||||
|
||||
import os |
||||
import sys |
||||
import subprocess |
||||
|
||||
os.chdir(os.path.join(os.path.dirname(sys.argv[0]), '../../../test/cpp/qps')) |
||||
subprocess.call(['./json_run_localhost_scenario_gen.py']) |
||||
subprocess.call(['./qps_json_driver_scenario_gen.py']) |
||||
|
||||
output = subprocess.check_output(['git', 'status', '--porcelain']) |
||||
qps_json_driver_bzl = 'test/cpp/qps/qps_json_driver_scenarios.bzl' |
||||
json_run_localhost_bzl = 'test/cpp/qps/json_run_localhost_scenarios.bzl' |
||||
|
||||
if qps_json_driver_bzl in output or json_run_localhost_bzl in output: |
||||
print('qps benchmark scenarios have been updated, please commit ' |
||||
'test/cpp/qps/qps_json_driver_scenarios.bzl and/or ' |
||||
'test/cpp/qps/json_run_localhost_scenarios.bzl') |
||||
sys.exit(1) |
Loading…
Reference in new issue