1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "base/test/launcher/test_result.h"
6
7#include "base/logging.h"
8
9namespace base {
10
11TestResult::TestResult() : status(TEST_UNKNOWN) {
12}
13
14TestResult::~TestResult() {
15}
16
17std::string TestResult::StatusAsString() const {
18  switch (status) {
19    case TEST_UNKNOWN:
20      return "UNKNOWN";
21    case TEST_SUCCESS:
22      return "SUCCESS";
23    case TEST_FAILURE:
24      return "FAILURE";
25    case TEST_FAILURE_ON_EXIT:
26      return "FAILURE_ON_EXIT";
27    case TEST_CRASH:
28      return "CRASH";
29    case TEST_TIMEOUT:
30      return "TIMEOUT";
31    case TEST_SKIPPED:
32      return "SKIPPED";
33     // Rely on compiler warnings to ensure all possible values are handled.
34  }
35
36  NOTREACHED();
37  return std::string();
38}
39
40std::string TestResult::GetTestName() const {
41  size_t dot_pos = full_name.find('.');
42  CHECK_NE(dot_pos, std::string::npos);
43  return full_name.substr(dot_pos + 1);
44}
45
46std::string TestResult::GetTestCaseName() const {
47  size_t dot_pos = full_name.find('.');
48  CHECK_NE(dot_pos, std::string::npos);
49  return full_name.substr(0, dot_pos);
50}
51
52}  // namespace base
53