Files
Catch2/include/internal/catch_interfaces_config.h
T

74 lines
2.0 KiB
C++
Raw Normal View History

2012-06-05 20:50:47 +01:00
/*
* 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
2017-04-25 21:51:44 +01:00
#include "catch_common.h"
2017-02-12 13:34:55 +01:00
#include <iosfwd>
2013-05-28 18:39:32 +01:00
#include <string>
#include <vector>
2017-04-25 21:51:44 +01:00
#include <memory>
2013-05-28 18:39:32 +01:00
2012-06-05 20:50:47 +01:00
namespace Catch {
enum class Verbosity {
Quiet = 0,
Normal,
High
};
2013-08-07 18:56:35 +01:00
struct WarnAbout { enum What {
Nothing = 0x00,
NoAssertions = 0x01
}; };
struct ShowDurations { enum OrNot {
DefaultForReporter,
Always,
Never
}; };
struct RunTests { enum InWhatOrder {
InDeclarationOrder,
InLexicographicalOrder,
InRandomOrder
}; };
struct UseColour { enum YesOrNo {
Auto,
Yes,
No
2017-01-26 23:13:12 +01:00
}; };
2013-08-07 18:56:35 +01:00
2014-05-16 18:24:07 +01:00
class TestSpec;
struct IConfig : NonCopyable {
2013-07-03 19:14:59 +01:00
virtual ~IConfig();
2013-07-03 19:14:59 +01:00
2012-06-05 20:50:47 +01:00
virtual bool allowThrows() const = 0;
2013-05-28 18:39:32 +01:00
virtual std::ostream& stream() const = 0;
virtual std::string name() const = 0;
virtual bool includeSuccessfulResults() const = 0;
2013-05-28 18:51:53 +01:00
virtual bool shouldDebugBreak() const = 0;
2013-05-28 18:39:32 +01:00
virtual bool warnAboutMissingAssertions() const = 0;
2013-05-28 18:51:53 +01:00
virtual int abortAfter() const = 0;
virtual bool showInvisibles() const = 0;
2013-08-07 18:56:35 +01:00
virtual ShowDurations::OrNot showDurations() const = 0;
2014-05-16 18:24:07 +01:00
virtual TestSpec const& testSpec() const = 0;
virtual RunTests::InWhatOrder runOrder() const = 0;
virtual unsigned int rngSeed() const = 0;
virtual UseColour::YesOrNo useColour() const = 0;
virtual std::vector<std::string> const& getSectionsToRun() const = 0;
virtual Verbosity verbosity() const = 0;
2012-06-05 20:50:47 +01:00
};
using IConfigPtr = std::shared_ptr<IConfig const>;
2012-06-05 20:50:47 +01:00
}
#endif // TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED