Modify GetCoverageRules to use paths to protos in request.
- See proto change in
https://chromium-review.googlesource.com/c/chromiumos/infra/proto/+/3088245.
Modify endpoint to accept new request format.
BUG=b:182898188
TEST=CQ
Change-Id: Ib35cf0bf8bedc647750d7854db7bc134742b4a58
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3089099
Tested-by: Andrew Lamb <andrewlamb@chromium.org>
Commit-Queue: Andrew Lamb <andrewlamb@chromium.org>
Reviewed-by: Sean McAllister <smcallis@google.com>
diff --git a/api/controller/test.py b/api/controller/test.py
index c64eab0..d1890cc 100644
--- a/api/controller/test.py
+++ b/api/controller/test.py
@@ -390,18 +390,23 @@
@faux.success(_GetCoverageRulesResponseSuccess)
@faux.empty_error
-@validate.require('source_test_plans', 'dut_attribute_list',
- 'build_metadata_list', 'flat_config_list')
+@validate.require('source_test_plans')
+@validate.exists('dut_attribute_list.path', 'build_metadata_list.path',
+ 'flat_config_list.path')
@validate.validation_complete
def GetCoverageRules(input_proto: test_pb2.GetCoverageRulesRequest,
output_proto: test_pb2.GetCoverageRulesResponse, _config):
"""Call the testplan tool to generate CoverageRules."""
source_test_plans = input_proto.source_test_plans
- dut_attributes_list = input_proto.dut_attribute_list
+ dut_attribute_list = input_proto.dut_attribute_list
build_metadata_list = input_proto.build_metadata_list
flat_config_list = input_proto.flat_config_list
- cmd = ['testplan', 'generate', '-logtostderr', '-v', '2']
+ cmd = [
+ 'testplan', 'generate', '-dutattributes', dut_attribute_list.path,
+ '-buildmetadata', build_metadata_list.path, '-flatconfiglist',
+ flat_config_list.path, '-logtostderr', '-v', '2'
+ ]
with osutils.TempDir(prefix='get_coverage_rules_input') as tempdir:
# Write all input files required by testplan, and read the output file
@@ -411,21 +416,6 @@
osutils.WriteFile(plan_path, text_format.MessageToString(plan))
cmd.extend(['-plan', plan_path])
- dut_attribute_path = os.path.join(tempdir, 'dut_attribute_list.jsonpb')
- osutils.WriteFile(dut_attribute_path,
- json_format.MessageToJson(dut_attributes_list))
- cmd.extend(['-dutattributes', dut_attribute_path])
-
- build_metadata_path = os.path.join(tempdir, 'build_metadata_list.jsonpb')
- osutils.WriteFile(build_metadata_path,
- json_format.MessageToJson(build_metadata_list))
- cmd.extend(['-buildmetadata', build_metadata_path])
-
- flat_config_path = os.path.join(tempdir, 'flat_config_list.jsonpb')
- osutils.WriteFile(flat_config_path,
- json_format.MessageToJson(flat_config_list))
- cmd.extend(['-flatconfiglist', flat_config_path])
-
out_path = os.path.join(tempdir, 'out.jsonpb')
cmd.extend(['-out', out_path])