| # Copyright 2020 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| load("@proto//chromiumos/config/api/test/tnull/v1/tnull.proto", |
| tnull_pb = "chromiumos.config.api.test.tnull.v1" |
| ) |
| |
| load("@proto//chromiumos/config/api/test/metadata/v1/metadata.proto", |
| metadata_pb = "chromiumos.config.api.test.metadata.v1" |
| ) |
| |
| load("@proto//google/protobuf/struct.proto", google_pb = "google.protobuf") |
| |
| |
| |
| _TEST_NAME_PREFIX = "remoteTestDrivers/tnull/tests/" |
| |
| def _define_test( |
| test_name, |
| purpose, |
| doc, |
| owner_emails = [], |
| owner_groups = [], |
| attrs = [], |
| sink_config = {}, |
| setup_config = {}, |
| steps = [], |
| ): |
| |
| contacts = ([metadata_pb.Contact(email = e) for e in owner_emails] |
| + [metadata_pb.Contact(mdb_group = g) for g in owner_groups]) |
| |
| details = google_pb.Struct(fields = { |
| "purpose": google_pb.Value(string_value = purpose), |
| "doc": google_pb.Value(string_value = doc), |
| }) |
| |
| info = metadata_pb.Informational( |
| authors = contacts, |
| details = details, |
| ) |
| |
| _ = fail("Steps not implemented") if len(steps) > 0 else None |
| |
| return metadata_pb.Test( |
| name = _TEST_NAME_PREFIX + test_name, |
| attributes = [metadata_pb.Attribute(name = a) for a in attrs], |
| informational = info, |
| ) |
| |
| test_common = struct( |
| define_test = _define_test, |
| ) |