2012-06-05 21:50:47 +02: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
|
|
|
|
|
2013-05-28 19:39:32 +02:00
|
|
|
#include <iostream>
|
|
|
|
#include <string>
|
2014-04-15 19:44:37 +02:00
|
|
|
#include <vector>
|
2013-05-28 19:39:32 +02:00
|
|
|
|
|
|
|
#include "catch_ptr.hpp"
|
|
|
|
|
2012-06-05 21:50:47 +02:00
|
|
|
namespace Catch {
|
|
|
|
|
2013-08-07 19:56:35 +02:00
|
|
|
struct Verbosity { enum Level {
|
|
|
|
NoOutput = 0,
|
|
|
|
Quiet,
|
|
|
|
Normal
|
|
|
|
}; };
|
|
|
|
|
|
|
|
struct WarnAbout { enum What {
|
|
|
|
Nothing = 0x00,
|
|
|
|
NoAssertions = 0x01
|
|
|
|
}; };
|
|
|
|
|
|
|
|
struct ShowDurations { enum OrNot {
|
|
|
|
DefaultForReporter,
|
|
|
|
Always,
|
|
|
|
Never
|
|
|
|
}; };
|
|
|
|
|
2014-04-15 19:44:37 +02:00
|
|
|
class TestCaseFilters;
|
|
|
|
|
2013-05-28 19:39:32 +02:00
|
|
|
struct IConfig : IShared {
|
2013-07-03 20:14:59 +02:00
|
|
|
|
2012-08-13 08:46:10 +02:00
|
|
|
virtual ~IConfig();
|
2013-07-03 20:14:59 +02:00
|
|
|
|
2012-06-05 21:50:47 +02:00
|
|
|
virtual bool allowThrows() const = 0;
|
2013-05-28 19:39:32 +02:00
|
|
|
virtual std::ostream& stream() const = 0;
|
|
|
|
virtual std::string name() const = 0;
|
|
|
|
virtual bool includeSuccessfulResults() const = 0;
|
2013-05-28 19:51:53 +02:00
|
|
|
virtual bool shouldDebugBreak() const = 0;
|
2013-05-28 19:39:32 +02:00
|
|
|
virtual bool warnAboutMissingAssertions() const = 0;
|
2013-05-28 19:51:53 +02:00
|
|
|
virtual int abortAfter() const = 0;
|
2013-08-07 19:56:35 +02:00
|
|
|
virtual ShowDurations::OrNot showDurations() const = 0;
|
2014-04-15 19:44:37 +02:00
|
|
|
virtual std::vector<TestCaseFilters> const& filters() const = 0;
|
2012-06-05 21:50:47 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED
|