mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 12:41:18 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
 *  Created by Justin R. Wilson on 2/19/2017.
 | 
						|
 *  Copyright 2017 Justin R. Wilson. 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_REPORTER_AUTOMAKE_HPP_INCLUDED
 | 
						|
#define TWOBLUECUBES_CATCH_REPORTER_AUTOMAKE_HPP_INCLUDED
 | 
						|
 | 
						|
// Don't #include any Catch headers here - we can assume they are already
 | 
						|
// included before this header.
 | 
						|
// This is not good practice in general but is necessary in this case so this
 | 
						|
// file can be distributed as a single header that works with the main
 | 
						|
// Catch single header.
 | 
						|
 | 
						|
namespace Catch {
 | 
						|
 | 
						|
    struct AutomakeReporter : StreamingReporterBase<AutomakeReporter> {
 | 
						|
        AutomakeReporter( ReporterConfig const& _config )
 | 
						|
          :   StreamingReporterBase( _config )
 | 
						|
        {}
 | 
						|
 | 
						|
        ~AutomakeReporter() override;
 | 
						|
 | 
						|
        static std::string getDescription() {
 | 
						|
            return "Reports test results in the format of Automake .trs files";
 | 
						|
        }
 | 
						|
 | 
						|
        void assertionStarting( AssertionInfo const& ) override {}
 | 
						|
 | 
						|
        bool assertionEnded( AssertionStats const& /*_assertionStats*/ ) override { return true; }
 | 
						|
 | 
						|
        void testCaseEnded( TestCaseStats const& _testCaseStats ) override {
 | 
						|
            // Possible values to emit are PASS, XFAIL, SKIP, FAIL, XPASS and ERROR.
 | 
						|
            stream << ":test-result: ";
 | 
						|
            if (_testCaseStats.totals.assertions.allPassed()) {
 | 
						|
                stream << "PASS";
 | 
						|
            } else if (_testCaseStats.totals.assertions.allOk()) {
 | 
						|
                stream << "XFAIL";
 | 
						|
            } else {
 | 
						|
                stream << "FAIL";
 | 
						|
            }
 | 
						|
            stream << ' ' << _testCaseStats.testInfo.name << '\n';
 | 
						|
            StreamingReporterBase::testCaseEnded( _testCaseStats );
 | 
						|
        }
 | 
						|
 | 
						|
        void skipTest( TestCaseInfo const& testInfo ) override {
 | 
						|
            stream << ":test-result: SKIP " << testInfo.name << '\n';
 | 
						|
        }
 | 
						|
 | 
						|
    };
 | 
						|
 | 
						|
#ifdef CATCH_IMPL
 | 
						|
    AutomakeReporter::~AutomakeReporter() {}
 | 
						|
#endif
 | 
						|
 | 
						|
    CATCH_REGISTER_REPORTER( "automake", AutomakeReporter)
 | 
						|
 | 
						|
} // end namespace Catch
 | 
						|
 | 
						|
#endif // TWOBLUECUBES_CATCH_REPORTER_AUTOMAKE_HPP_INCLUDED
 |