mirror of https://github.com/procxx/kepka.git
				
				
				
			
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
/*
 | 
						|
 *  Created by Phil on 05/06/2012.
 | 
						|
 *  Copyright 2012 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_INTERFACES_CONFIG_H_INCLUDED
 | 
						|
#define TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED
 | 
						|
 | 
						|
#include "catch_common.h"
 | 
						|
 | 
						|
#include <iosfwd>
 | 
						|
#include <string>
 | 
						|
#include <vector>
 | 
						|
#include <memory>
 | 
						|
 | 
						|
namespace Catch {
 | 
						|
 | 
						|
    enum class Verbosity {
 | 
						|
        Quiet = 0,
 | 
						|
        Normal,
 | 
						|
        High
 | 
						|
    };
 | 
						|
 | 
						|
    struct WarnAbout { enum What {
 | 
						|
        Nothing = 0x00,
 | 
						|
        NoAssertions = 0x01,
 | 
						|
        NoTests = 0x02
 | 
						|
    }; };
 | 
						|
 | 
						|
    struct ShowDurations { enum OrNot {
 | 
						|
        DefaultForReporter,
 | 
						|
        Always,
 | 
						|
        Never
 | 
						|
    }; };
 | 
						|
    struct RunTests { enum InWhatOrder {
 | 
						|
        InDeclarationOrder,
 | 
						|
        InLexicographicalOrder,
 | 
						|
        InRandomOrder
 | 
						|
    }; };
 | 
						|
    struct UseColour { enum YesOrNo {
 | 
						|
        Auto,
 | 
						|
        Yes,
 | 
						|
        No
 | 
						|
    }; };
 | 
						|
    struct WaitForKeypress { enum When {
 | 
						|
        Never,
 | 
						|
        BeforeStart = 1,
 | 
						|
        BeforeExit = 2,
 | 
						|
        BeforeStartAndExit = BeforeStart | BeforeExit
 | 
						|
    }; };
 | 
						|
 | 
						|
    class TestSpec;
 | 
						|
 | 
						|
    struct IConfig : NonCopyable {
 | 
						|
 | 
						|
        virtual ~IConfig();
 | 
						|
 | 
						|
        virtual bool allowThrows() const = 0;
 | 
						|
        virtual std::ostream& stream() const = 0;
 | 
						|
        virtual std::string name() const = 0;
 | 
						|
        virtual bool includeSuccessfulResults() const = 0;
 | 
						|
        virtual bool shouldDebugBreak() const = 0;
 | 
						|
        virtual bool warnAboutMissingAssertions() const = 0;
 | 
						|
        virtual bool warnAboutNoTests() const = 0;
 | 
						|
        virtual int abortAfter() const = 0;
 | 
						|
        virtual bool showInvisibles() const = 0;
 | 
						|
        virtual ShowDurations::OrNot showDurations() const = 0;
 | 
						|
        virtual TestSpec const& testSpec() const = 0;
 | 
						|
        virtual bool hasTestFilters() const = 0;
 | 
						|
        virtual RunTests::InWhatOrder runOrder() const = 0;
 | 
						|
        virtual unsigned int rngSeed() const = 0;
 | 
						|
        virtual int benchmarkResolutionMultiple() const = 0;
 | 
						|
        virtual UseColour::YesOrNo useColour() const = 0;
 | 
						|
        virtual std::vector<std::string> const& getSectionsToRun() const = 0;
 | 
						|
        virtual Verbosity verbosity() const = 0;
 | 
						|
    };
 | 
						|
 | 
						|
    using IConfigPtr = std::shared_ptr<IConfig const>;
 | 
						|
}
 | 
						|
 | 
						|
#endif // TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED
 |