4#ifndef _Stroika_TestHarness_h_
5#define _Stroika_TestHarness_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
12#if qStroika_HasComponent_googletest
13#define GTEST_DONT_DEFINE_TEST 1
14#include <gtest/gtest.h>
17#include "Stroika/Foundation/Common/Common.h"
23namespace Stroika::Frameworks::Test {
39 vector<string> Setup (
int argc,
const char* argv[]);
45 [[deprecated (
"Since Strokka v3.0d5 - just use gtest")]]
int PrintPassOrFail (
void (*regressionTest) ());
51 void Test_ (
bool failIfFalse,
bool isFailureElseWarning,
const wchar_t* regressionTestText,
const wchar_t* fileName,
int lineNum);
52 void VerifyTestResultWarning_ (
bool failIfFalse,
bool isFailureElseWarning,
const wchar_t* regressionTestText,
53 const wchar_t* fileName,
int lineNum);
58#define VerifyTestResult(c) \
59 Stroika::Frameworks::Test::Private_::Test_ (!!(c), true, Stroika_Foundation_Debug_Widen (#c), Stroika_Foundation_Debug_Widen (__FILE__), __LINE__)
63#define VerifyTestResultWarning(c) \
64 Stroika::Frameworks::Test::Private_::VerifyTestResultWarning_ (!!(c), false, Stroika_Foundation_Debug_Widen (#c), \
65 Stroika_Foundation_Debug_Widen (__FILE__), __LINE__)
70 void WarnTestIssue (
const char* issue);
71 void WarnTestIssue (
const wchar_t* issue);
72 void WarnTestIssue (
const Foundation::Characters::String& issue);