Addressed some warnings (mostly MSVC)

This commit is contained in:
Phil Nash 2013-03-25 08:46:48 +00:00
parent 6ba2057abd
commit 2e3c5fa2ad
8 changed files with 26 additions and 3 deletions

View File

@ -8,6 +8,11 @@
#ifndef TWOBLUECUBES_CATCH_EVALUATE_HPP_INCLUDED
#define TWOBLUECUBES_CATCH_EVALUATE_HPP_INCLUDED
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:4389) // '==' : signed/unsigned mismatch
#endif
namespace Catch {
namespace Internal {
@ -28,6 +33,7 @@ namespace Internal {
template<> struct OperatorTraits<IsLessThanOrEqualTo> { static const char* getName(){ return "<="; } };
template<> struct OperatorTraits<IsGreaterThanOrEqualTo>{ static const char* getName(){ return ">="; } };
// So the compare overloads can be operator agnostic we convey the operator as a template
// enum, which is used to specialise an Evaluator for doing the comparison.
template<typename T1, typename T2, Operator Op>
@ -143,8 +149,12 @@ namespace Internal {
template<Operator Op, typename T> bool compare( T* lhs, int rhs ) {
return Evaluator<T*, T*, Op>::evaluate( lhs, reinterpret_cast<T*>( rhs ) );
}
} // end of namespace Internal
} // end of namespace Catch
#ifdef _MSC_VER
#pragma warning(pop)
#endif
#endif // TWOBLUECUBES_CATCH_EVALUATE_HPP_INCLUDED

View File

@ -102,6 +102,9 @@ namespace Catch {
}
private:
RunningTest( RunningTest const& );
void operator=( RunningTest const& );
const TestCase& m_info;
RunStatus m_runStatus;
RunningSection m_rootSection;

View File

@ -30,7 +30,7 @@ namespace Catch {
WildcardAtEnd = 2,
WildcardAtBothEnds = WildcardAtStart | WildcardAtEnd
};
public:
TestCaseFilter( const std::string& testSpec, IfFilterMatches::DoWhat matchBehaviour = IfFilterMatches::AutoDetectBehaviour )
: m_stringToMatch( toLower( testSpec ) ),

View File

@ -26,6 +26,9 @@ namespace Catch {
const unsigned int minorVersion;
const unsigned int buildNumber;
const std::string branchName;
private:
void operator=( Version const& );
};
extern Version libraryVersion;

View File

@ -97,6 +97,7 @@ namespace Catch {
private:
class AssertionPrinter {
void operator= ( AssertionPrinter const& );
public:
AssertionPrinter( std::ostream& _stream, AssertionStats const& _stats )
: stream( _stream ),

View File

@ -210,6 +210,9 @@ TEST_CASE( "./succeeding/conditions/int literals",
#pragma GCC diagnostic ignored "-Wsign-compare"
#pragma GCC diagnostic ignored "-Wsign-conversion"
#endif
#ifdef _MSC_VER
#pragma warning(disable:4389) // '==' : signed/unsigned mismatch
#endif
TEST_CASE( "./succeeding/conditions//long_to_unsigned_x",
"comparisons between int variables" )

View File

@ -107,6 +107,9 @@ TEST_CASE_NORETURN( "./failing/exceptions/custom", "Unexpected custom exceptions
{
throw CustomException( "custom exception" );
}
#ifdef _MSC_VER
#pragma warning(disable:4702) // unreachable code
#endif
TEST_CASE( "./failing/exceptions/custom/nothrow", "Custom exceptions can be translated when testing for nothrow" )
{

View File

@ -47,7 +47,7 @@ TEST_CASE( "./mixed/message/info/2", "INFO gets logged on failure" )
TEST_CASE( "./failing/message/fail", "FAIL aborts the test" )
{
if( true )
if( Catch::isTrue( true ) )
FAIL( "This is a " << "failure" ); // This should output the message and abort
}