catch2/include/internal/catch_result_type.h

45 lines
1.1 KiB
C
Raw Normal View History

2011-01-11 10:13:31 +01:00
/*
* Created by Phil on 07/01/2011.
* Copyright 2011 Two Blue Cubes Ltd. All rights reserved.
*
* Distributed under the Boost Software License, Version 1.0. (See accompanying
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
*/
#ifndef TWOBLUECUBES_CATCH_RESULT_TYPE_H_INCLUDED
#define TWOBLUECUBES_CATCH_RESULT_TYPE_H_INCLUDED
2012-05-15 08:42:26 +02:00
namespace Catch {
2011-01-11 10:13:31 +01:00
2012-05-15 08:42:26 +02:00
struct ResultWas { enum OfType {
Unknown = -1,
Ok = 0,
Info = 1,
Warning = 2,
FailureBit = 0x10,
ExpressionFailed = FailureBit | 1,
ExplicitFailure = FailureBit | 2,
Exception = 0x100 | FailureBit,
ThrewException = Exception | 1,
DidntThrowException = Exception | 2
}; };
2011-01-11 10:13:31 +01:00
inline bool isOk( ResultWas::OfType resultType ) {
return ( resultType & ResultWas::FailureBit ) == 0;
}
2012-05-15 08:42:26 +02:00
struct ResultAction { enum Value {
None,
Failed = 1, // Failure - but no debug break if Debug bit not set
Debug = 2, // If this bit is set, invoke the debugger
Abort = 4 // Test run should abort
2012-05-15 08:42:26 +02:00
}; };
2011-01-11 10:13:31 +01:00
}
#endif // TWOBLUECUBES_CATCH_RESULT_TYPE_H_INCLUDED