Blame include/internal/catch_interfaces_config.h

rpm-build a7f80b
/*
rpm-build a7f80b
 *  Created by Phil on 05/06/2012.
rpm-build a7f80b
 *  Copyright 2012 Two Blue Cubes Ltd. All rights reserved.
rpm-build a7f80b
 *
rpm-build a7f80b
 *  Distributed under the Boost Software License, Version 1.0. (See accompanying
rpm-build a7f80b
 *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
rpm-build a7f80b
 */
rpm-build a7f80b
#ifndef TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED
rpm-build a7f80b
#define TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED
rpm-build a7f80b
rpm-build a7f80b
#include "catch_common.h"
rpm-build a7f80b
rpm-build a7f80b
#include <iosfwd>
rpm-build a7f80b
#include <string>
rpm-build a7f80b
#include <vector>
rpm-build a7f80b
#include <memory>
rpm-build a7f80b
rpm-build a7f80b
namespace Catch {
rpm-build a7f80b
rpm-build a7f80b
    enum class Verbosity {
rpm-build a7f80b
        Quiet = 0,
rpm-build a7f80b
        Normal,
rpm-build a7f80b
        High
rpm-build a7f80b
    };
rpm-build a7f80b
rpm-build a7f80b
    struct WarnAbout { enum What {
rpm-build a7f80b
        Nothing = 0x00,
rpm-build a7f80b
        NoAssertions = 0x01,
rpm-build a7f80b
        NoTests = 0x02
rpm-build a7f80b
    }; };
rpm-build a7f80b
rpm-build a7f80b
    struct ShowDurations { enum OrNot {
rpm-build a7f80b
        DefaultForReporter,
rpm-build a7f80b
        Always,
rpm-build a7f80b
        Never
rpm-build a7f80b
    }; };
rpm-build a7f80b
    struct RunTests { enum InWhatOrder {
rpm-build a7f80b
        InDeclarationOrder,
rpm-build a7f80b
        InLexicographicalOrder,
rpm-build a7f80b
        InRandomOrder
rpm-build a7f80b
    }; };
rpm-build a7f80b
    struct UseColour { enum YesOrNo {
rpm-build a7f80b
        Auto,
rpm-build a7f80b
        Yes,
rpm-build a7f80b
        No
rpm-build a7f80b
    }; };
rpm-build a7f80b
    struct WaitForKeypress { enum When {
rpm-build a7f80b
        Never,
rpm-build a7f80b
        BeforeStart = 1,
rpm-build a7f80b
        BeforeExit = 2,
rpm-build a7f80b
        BeforeStartAndExit = BeforeStart | BeforeExit
rpm-build a7f80b
    }; };
rpm-build a7f80b
rpm-build a7f80b
    class TestSpec;
rpm-build a7f80b
rpm-build a7f80b
    struct IConfig : NonCopyable {
rpm-build a7f80b
rpm-build a7f80b
        virtual ~IConfig();
rpm-build a7f80b
rpm-build a7f80b
        virtual bool allowThrows() const = 0;
rpm-build a7f80b
        virtual std::ostream& stream() const = 0;
rpm-build a7f80b
        virtual std::string name() const = 0;
rpm-build a7f80b
        virtual bool includeSuccessfulResults() const = 0;
rpm-build a7f80b
        virtual bool shouldDebugBreak() const = 0;
rpm-build a7f80b
        virtual bool warnAboutMissingAssertions() const = 0;
rpm-build a7f80b
        virtual bool warnAboutNoTests() const = 0;
rpm-build a7f80b
        virtual int abortAfter() const = 0;
rpm-build a7f80b
        virtual bool showInvisibles() const = 0;
rpm-build a7f80b
        virtual ShowDurations::OrNot showDurations() const = 0;
rpm-build a7f80b
        virtual TestSpec const& testSpec() const = 0;
rpm-build a7f80b
        virtual bool hasTestFilters() const = 0;
rpm-build a7f80b
        virtual RunTests::InWhatOrder runOrder() const = 0;
rpm-build a7f80b
        virtual unsigned int rngSeed() const = 0;
rpm-build a7f80b
        virtual int benchmarkResolutionMultiple() const = 0;
rpm-build a7f80b
        virtual UseColour::YesOrNo useColour() const = 0;
rpm-build a7f80b
        virtual std::vector<std::string> const& getSectionsToRun() const = 0;
rpm-build a7f80b
        virtual Verbosity verbosity() const = 0;
rpm-build a7f80b
    };
rpm-build a7f80b
rpm-build a7f80b
    using IConfigPtr = std::shared_ptr<IConfig const>;
rpm-build a7f80b
}
rpm-build a7f80b
rpm-build a7f80b
#endif // TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED