// Copyright 2024 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto3";

package chromiumos.test.api;

option go_package = "go.chromium.org/chromiumos/config/go/test/api";

import "chromiumos/test/api/test_case_metadata.proto";

// Defines supplementary metadata for a test execution framework that
// is NOT used for running tests but may be used to interpret results
// or monitor tests.
message TestHarnessMetadata {
  oneof metadata_type {
    TastMetadata tast_metadata = 1;
  }
  message TastMetadata {
    repeated TastFixtureMetadata tast_fixture_metadata = 1;
  }
}

// TastFixtureMetadata contains non-test Tast metadata.
message TastFixtureMetadata {
  string id = 1;  // Of the form <bundle name>_<bundle type>_<fixture name>
  repeated Contact owners = 2;     // Contacts for ownership
  BugComponent bug_component = 3;  // Bug component to be used to file bugs
  string path_to_file = 4;         // The location of the source code
  string parent = 5;               // The parent of the fixture
}

// TestHarnessMetadataList is a list of TestHarnessMetadata for ease
// of serialization into a file.
message TestHarnessMetadataList {
  repeated TestHarnessMetadata values = 1;
}
