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