/*
* The ManaPlus Client
* Copyright (C) 2017-2018 The ManaPlus Developers
*
* This file is part of The ManaPlus Client.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
#ifndef UNITTESTS_H
#define UNITTESTS_H
#include "localconsts.h"
#ifdef UNITTESTS_CATCH
#ifdef UNITTESTS_EMBED
#include "unittests/catch.hpp"
#else // UNITTESTS_EMBED
#include
#endif // UNITTESTS_EMBED
#endif // UNITTESTS_CATCH
#ifdef UNITTESTS_DOCTEST
#ifdef __GNUC__
#if GCC_VERSION >= 50000
#define PRAGMA5(str) _Pragma(#str)
#elif defined(__clang__)
#define PRAGMA5(str) _Pragma(#str)
#else // GCC_VERSION > 50000
#define PRAGMA5(str)
#endif // GCC_VERSION > 50000
#endif // __GNUC__
PRAGMA5(GCC diagnostic push)
PRAGMA5(GCC diagnostic ignored "-Wsuggest-override")
#ifdef UNITTESTS_EMBED
#include "unittests/doctest.h"
#else // UNITTESTS_EMBED
#include
#endif // UNITTESTS_EMBED
PRAGMA5(GCC diagnostic pop)
#undef TEST_CASE
#define TEST_CASE(name, tags) DOCTEST_TEST_CASE(name " " tags)
#define SECTION(name) DOCTEST_SUBCASE(name)
#endif // UNITTESTS_DOCTEST
#endif // UNITTESTS_H