mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-04 05:59:32 +01:00 
			
		
		
		
	v1.5.5:
Deal with auto_ptr and random_shuffle hard deprecations in C++14
This commit is contained in:
		@@ -1,6 +1,6 @@
 | 
				
			|||||||

 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*v1.5.4*
 | 
					*v1.5.5*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Build status (on Travis CI) [](https://travis-ci.org/philsquared/Catch)
 | 
					Build status (on Travis CI) [](https://travis-ci.org/philsquared/Catch)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,7 +37,7 @@ namespace Catch {
 | 
				
			|||||||
        return os;
 | 
					        return os;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Version libraryVersion( 1, 5, 4, "", 0 );
 | 
					    Version libraryVersion( 1, 5, 5, "", 0 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 *  Catch v1.5.4
 | 
					 *  Catch v1.5.5
 | 
				
			||||||
 *  Generated: 2016-05-12 19:16:01.957320
 | 
					 *  Generated: 2016-06-09 08:17:50.409622
 | 
				
			||||||
 *  ----------------------------------------------------------
 | 
					 *  ----------------------------------------------------------
 | 
				
			||||||
 *  This file has been merged from multiple headers. Please don't edit it directly
 | 
					 *  This file has been merged from multiple headers. Please don't edit it directly
 | 
				
			||||||
 *  Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved.
 | 
					 *  Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved.
 | 
				
			||||||
@@ -106,10 +106,18 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// All the C++11 features can be disabled with CATCH_CONFIG_NO_CPP11
 | 
					// All the C++11 features can be disabled with CATCH_CONFIG_NO_CPP11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(__cplusplus) && __cplusplus >= 201103L
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#  if __cplusplus >= 201103L
 | 
				
			||||||
#    define CATCH_CPP11_OR_GREATER
 | 
					#    define CATCH_CPP11_OR_GREATER
 | 
				
			||||||
#  endif
 | 
					#  endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#  if __cplusplus >= 201402L
 | 
				
			||||||
 | 
					#    define CATCH_CPP14_OR_GREATER
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __clang__
 | 
					#ifdef __clang__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#  if __has_feature(cxx_nullptr)
 | 
					#  if __has_feature(cxx_nullptr)
 | 
				
			||||||
@@ -3450,7 +3458,7 @@ namespace Catch {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    class DebugOutStream : public IStream {
 | 
					    class DebugOutStream : public IStream {
 | 
				
			||||||
        std::auto_ptr<StreamBufBase> m_streamBuf;
 | 
					        CATCH_AUTO_PTR( StreamBufBase ) m_streamBuf;
 | 
				
			||||||
        mutable std::ostream m_os;
 | 
					        mutable std::ostream m_os;
 | 
				
			||||||
    public:
 | 
					    public:
 | 
				
			||||||
        DebugOutStream();
 | 
					        DebugOutStream();
 | 
				
			||||||
@@ -3598,7 +3606,7 @@ namespace Catch {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        ConfigData m_data;
 | 
					        ConfigData m_data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        std::auto_ptr<IStream const> m_stream;
 | 
					        CATCH_AUTO_PTR( IStream const ) m_stream;
 | 
				
			||||||
        TestSpec m_testSpec;
 | 
					        TestSpec m_testSpec;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -6439,13 +6447,30 @@ namespace Catch {
 | 
				
			|||||||
#include <iostream>
 | 
					#include <iostream>
 | 
				
			||||||
#include <algorithm>
 | 
					#include <algorithm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CATCH_CPP14_OR_GREATER
 | 
				
			||||||
 | 
					#include <random>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace Catch {
 | 
					namespace Catch {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    struct LexSort {
 | 
					 | 
				
			||||||
        bool operator() (TestCase i,TestCase j) const { return (i<j);}
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    struct RandomNumberGenerator {
 | 
					    struct RandomNumberGenerator {
 | 
				
			||||||
        int operator()( int n ) const { return std::rand() % n; }
 | 
					        typedef int result_type;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        result_type operator()( result_type n ) const { return std::rand() % n; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CATCH_CPP14_OR_GREATER
 | 
				
			||||||
 | 
					        static constexpr result_type min() { return 0; }
 | 
				
			||||||
 | 
					        static constexpr result_type max() { return 1000000; }
 | 
				
			||||||
 | 
					        result_type operator()() const { return std::rand() % max(); }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					        template<typename V>
 | 
				
			||||||
 | 
					        static void shuffle( V& vector ) {
 | 
				
			||||||
 | 
					#ifdef CATCH_CPP14_OR_GREATER
 | 
				
			||||||
 | 
					            std::shuffle( vector.begin(), vector.end(), RandomNumberGenerator() );
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					            std::random_shuffle( vector.begin(), vector.end(), RandomNumberGenerator() );
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    inline std::vector<TestCase> sortTests( IConfig const& config, std::vector<TestCase> const& unsortedTestCases ) {
 | 
					    inline std::vector<TestCase> sortTests( IConfig const& config, std::vector<TestCase> const& unsortedTestCases ) {
 | 
				
			||||||
@@ -6454,14 +6479,12 @@ namespace Catch {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        switch( config.runOrder() ) {
 | 
					        switch( config.runOrder() ) {
 | 
				
			||||||
            case RunTests::InLexicographicalOrder:
 | 
					            case RunTests::InLexicographicalOrder:
 | 
				
			||||||
                std::sort( sorted.begin(), sorted.end(), LexSort() );
 | 
					                std::sort( sorted.begin(), sorted.end() );
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
            case RunTests::InRandomOrder:
 | 
					            case RunTests::InRandomOrder:
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    seedRng( config );
 | 
					                    seedRng( config );
 | 
				
			||||||
 | 
					                    RandomNumberGenerator::shuffle( sorted );
 | 
				
			||||||
                    RandomNumberGenerator rng;
 | 
					 | 
				
			||||||
                    std::random_shuffle( sorted.begin(), sorted.end(), rng );
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
            case RunTests::InDeclarationOrder:
 | 
					            case RunTests::InDeclarationOrder:
 | 
				
			||||||
@@ -7547,7 +7570,7 @@ namespace Catch {
 | 
				
			|||||||
        return os;
 | 
					        return os;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Version libraryVersion( 1, 5, 4, "", 0 );
 | 
					    Version libraryVersion( 1, 5, 5, "", 0 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user