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.
5 #ifndef BASE_TEST_LAUNCHER_TEST_RESULT_H_
6 #define BASE_TEST_LAUNCHER_TEST_RESULT_H_
10 #include "base/time/time.h"
14 // Structure containing result of a single test.
17 TEST_UNKNOWN
, // Status not set.
18 TEST_SUCCESS
, // Test passed.
19 TEST_FAILURE
, // Assertion failure (think EXPECT_TRUE, not DCHECK).
20 TEST_FAILURE_ON_EXIT
, // Test passed but executable exit code was non-zero.
21 TEST_TIMEOUT
, // Test timed out and was killed.
22 TEST_CRASH
, // Test crashed (includes CHECK/DCHECK failures).
23 TEST_SKIPPED
, // Test skipped (not run at all).
29 // Returns the test status as string (e.g. for display).
30 std::string
StatusAsString() const;
32 // Returns the test name (e.g. "B" for "A.B").
33 std::string
GetTestName() const;
35 // Returns the test case name (e.g. "A" for "A.B").
36 std::string
GetTestCaseName() const;
38 // Returns true if the test has completed (i.e. the test binary exited
39 // normally, possibly with an exit code indicating failure, but didn't crash
40 // or time out in the middle of the test).
41 bool completed() const {
42 return status
== TEST_SUCCESS
||
43 status
== TEST_FAILURE
||
44 status
== TEST_FAILURE_ON_EXIT
;
47 // Full name of the test (e.g. "A.B").
48 std::string full_name
;
52 // Time it took to run the test.
53 base::TimeDelta elapsed_time
;
55 // Output of just this test (optional).
56 std::string output_snippet
;
61 #endif // BASE_TEST_LAUNCHER_TEST_RESULT_H_