mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	Redo build matrix on .travis for C++14 and up
* Use Xenial as the base distribution * Remove C++11 builds * Add a lot more C++14 builds * Add some C++17 builds * Include newer versions of Clang and GCC
This commit is contained in:
		| @@ -10,11 +10,12 @@ | ||||
| #define CATCH_CONFIG_MAIN | ||||
| #include <catch2/catch.hpp> | ||||
|  | ||||
|  | ||||
| class out_buff : public std::stringbuf { | ||||
|     std::FILE* m_stream; | ||||
| public: | ||||
|     out_buff(std::FILE* stream) :m_stream(stream) {} | ||||
|     ~out_buff() { pubsync(); } | ||||
|     out_buff(std::FILE* stream):m_stream(stream) {} | ||||
|     ~out_buff(); | ||||
|     int sync() { | ||||
|         int ret = 0; | ||||
|         for (unsigned char c : str()) { | ||||
| @@ -29,6 +30,12 @@ public: | ||||
|     } | ||||
| }; | ||||
|  | ||||
| out_buff::~out_buff() { pubsync(); } | ||||
|  | ||||
| #if defined(__clang__) | ||||
| #pragma clang diagnostic ignored "-Wexit-time-destructors" // static variables in cout/cerr/clog | ||||
| #endif | ||||
|  | ||||
| namespace Catch { | ||||
|     std::ostream& cout() { | ||||
|         static std::ostream ret(new out_buff(stdout)); | ||||
|   | ||||
| @@ -22,15 +22,17 @@ public: | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     std::string const& get() const override { | ||||
|         return m_line; | ||||
|     } | ||||
|     std::string const& get() const override; | ||||
|      | ||||
|     bool next() override { | ||||
|         return !!std::getline(m_stream, m_line); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| std::string const& LineGenerator::get() const { | ||||
|     return m_line; | ||||
| } | ||||
|  | ||||
| // This helper function provides a nicer UX when instantiating the generator | ||||
| // Notice that it returns an instance of GeneratorWrapper<std::string>, which | ||||
| // is a value-wrapper around std::unique_ptr<IGenerator<std::string>>. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský