chromium/third_party/angle/src/tests/test_utils/runner/TestSuite.h

//
// Copyright 2019 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// TestSuite:
//   Basic implementation of a test harness in ANGLE.

#ifndef ANGLE_TESTS_TEST_UTILS_TEST_SUITE_H_
#define ANGLE_TESTS_TEST_UTILS_TEST_SUITE_H_

#include <map>
#include <memory>
#include <mutex>
#include <queue>
#include <string>
#include <thread>

#include "HistogramWriter.h"
#include "tests/test_expectations/GPUTestExpectationsParser.h"
#include "util/test_utils.h"

namespace angle
{
struct TestIdentifier
{};

inline bool operator<(const TestIdentifier &a, const TestIdentifier &b)
{}

inline bool operator==(const TestIdentifier &a, const TestIdentifier &b)
{}

inline std::ostream &operator<<(std::ostream &os, const TestIdentifier &id)
{}

enum class TestResultType
{};

const char *TestResultTypeToString(TestResultType type);

struct TestResult
{};

inline bool operator==(const TestResult &a, const TestResult &b)
{}

inline std::ostream &operator<<(std::ostream &os, const TestResult &result)
{}

struct TestResults
{};

struct FileLine
{};

struct ProcessInfo : angle::NonCopyable
{};

TestQueue;

class MetricWriter
{};

class TestSuite
{};

std::string ReplaceDashesWithQuestionMark(std::string dashesString);
bool GetTestResultsFromFile(const char *fileName, TestResults *resultsOut);
}  // namespace angle

#endif  // ANGLE_TESTS_TEST_UTILS_TEST_SUITE_H_