Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions roofit/roofitcore/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ ROOT_ADD_GTEST(testRooFitCore
testRooLinkedList.cxx
testRooPolyFunc.cxx
testRooProdPdf.cxx
testRooRealSumPdf.cxx
testRooSTLRefCountList.cxx
testRooWrapperPdf.cxx
testSimple.cxx
Expand Down Expand Up @@ -81,10 +82,12 @@ if(clad)
ROOT_ADD_GTEST(testRooFuncWrapper testRooFuncWrapper.cxx LIBRARIES RooFitCore RooFit HistFactory)
endif()
ROOT_ADD_GTEST(testNaNPacker testNaNPacker.cxx LIBRARIES RooFitCore)
ROOT_ADD_GTEST(testRooEfficiency testRooEfficiency.cxx LIBRARIES RooFitCore RooFit)
ROOT_ADD_GTEST(testRooExtendedBinding testRooExtendedBinding.cxx LIBRARIES RooFitCore RooFit)
ROOT_ADD_GTEST(testRooMCStudy testRooMCStudy.cxx LIBRARIES RooFitCore RooFit)
ROOT_ADD_GTEST(testRooMinimizer testRooMinimizer.cxx LIBRARIES RooFitCore RooFit)
ROOT_ADD_GTEST(testRooMulti testRooMulti.cxx LIBRARIES RooFitCore RooFit)
ROOT_ADD_GTEST(testRooProfileLL testRooProfileLL.cxx LIBRARIES RooFitCore RooFit)
ROOT_ADD_GTEST(testRooRombergIntegrator testRooRombergIntegrator.cxx LIBRARIES MathCore RooFitCore)
ROOT_ADD_GTEST(testRooSimultaneous testRooSimultaneous.cxx LIBRARIES RooFitCore RooFit)
ROOT_ADD_GTEST(testRooTruthModel testRooTruthModel.cxx LIBRARIES RooFitCore RooFit
Expand Down
40 changes: 40 additions & 0 deletions roofit/roofitcore/test/gtest_wrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,50 @@
#define ROOFIT_EVAL_BACKENDS_WITH_CODEGEN \
ROOFIT_EVAL_BACKENDS, ROOFIT_EVAL_BACKEND_CODEGEN RooFit::EvalBackend::CodegenNoGrad()

#include <RooFitResult.h>
#include <RooHelpers.h>
#include <RooRandom.h>
#include <RooRealVar.h>

#include <gtest/gtest.h>
#include <gmock/gmock.h>

#include <cmath>
#include <memory>
#include <tuple>

/// Common fixture for tests that are parametrized over the RooFit evaluation
/// backends: fixes the random seed and silences RooFit messages below WARNING.
class RooFitEvalBackendTest : public testing::TestWithParam<std::tuple<RooFit::EvalBackend>> {
public:
RooFitEvalBackendTest() : _evalBackend{RooFit::EvalBackend::Legacy()} {}

private:
void SetUp() override
{
RooRandom::randomGenerator()->SetSeed(1337ul);
_evalBackend = std::get<0>(GetParam());
_changeMsgLvl = std::make_unique<RooHelpers::LocalChangeMsgLevel>(RooFit::WARNING);
}

void TearDown() override { _changeMsgLvl.reset(); }

protected:
RooFit::EvalBackend _evalBackend;

private:
std::unique_ptr<RooHelpers::LocalChangeMsgLevel> _changeMsgLvl;
};

/// Check that the floating fit parameter with the given name is within
/// nSigma fit errors of the truth value.
inline void expectParamNear(RooFitResult const &res, const char *name, double truthVal, double nSigma = 5.)
{
auto *param = static_cast<RooRealVar const *>(res.floatParsFinal().find(name));
ASSERT_NE(param, nullptr) << name;
EXPECT_GT(param->getError(), 0.) << name;
EXPECT_NEAR(param->getVal(), truthVal, nSigma * param->getError()) << name;
}

MATCHER_P2(RelativeNear, expected, rel_tol,
"is within relative tolerance around ref=" + ::testing::PrintToString(expected) +
Expand Down
15 changes: 0 additions & 15 deletions roofit/roofitcore/test/stressRooFit.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,6 @@ int stressRooFit(const char *refFile, bool writeRef, int doVerbose, int oneTest,
testList.push_back(new TestBasic103(fref, writeRef, doVerbose));
testList.push_back(new TestBasic105(fref, writeRef, doVerbose));
testList.push_back(new TestBasic108(fref, writeRef, doVerbose));
testList.push_back(new TestBasic109(fref, writeRef, doVerbose));
testList.push_back(new TestBasic110(fref, writeRef, doVerbose));
testList.push_back(new TestBasic111(fref, writeRef, doVerbose));
testList.push_back(new TestBasic201(fref, writeRef, doVerbose));
testList.push_back(new TestBasic202(fref, writeRef, doVerbose));
testList.push_back(new TestBasic203(fref, writeRef, doVerbose));
Expand All @@ -117,36 +114,24 @@ int stressRooFit(const char *refFile, bool writeRef, int doVerbose, int oneTest,
testList.push_back(new TestBasic208(fref, writeRef, doVerbose));
testList.push_back(new TestBasic209(fref, writeRef, doVerbose));
testList.push_back(new TestBasic301(fref, writeRef, doVerbose));
testList.push_back(new TestBasic302(fref, writeRef, doVerbose));
testList.push_back(new TestBasic303(fref, writeRef, doVerbose));
testList.push_back(new TestBasic304(fref, writeRef, doVerbose));
testList.push_back(new TestBasic305(fref, writeRef, doVerbose));
testList.push_back(new TestBasic306(fref, writeRef, doVerbose));
testList.push_back(new TestBasic307(fref, writeRef, doVerbose));
testList.push_back(new TestBasic308(fref, writeRef, doVerbose));
testList.push_back(new TestBasic310(fref, writeRef, doVerbose));
testList.push_back(new TestBasic311(fref, writeRef, doVerbose));
testList.push_back(new TestBasic312(fref, writeRef, doVerbose));
testList.push_back(new TestBasic313(fref, writeRef, doVerbose));
testList.push_back(new TestBasic315(fref, writeRef, doVerbose));
testList.push_back(new TestBasic314(fref, writeRef, doVerbose));
testList.push_back(new TestBasic316(fref, writeRef, doVerbose));
testList.push_back(new TestBasic402(fref, writeRef, doVerbose));
testList.push_back(new TestBasic403(fref, writeRef, doVerbose));
testList.push_back(new TestBasic404(fref, writeRef, doVerbose));
testList.push_back(new TestBasic405(fref, writeRef, doVerbose));
testList.push_back(new TestBasic406(fref, writeRef, doVerbose));
testList.push_back(new TestBasic501(fref, writeRef, doVerbose));
testList.push_back(new TestBasic599(fref, writeRef, doVerbose));
testList.push_back(new TestBasic602(fref, writeRef, doVerbose));
testList.push_back(new TestBasic604(fref, writeRef, doVerbose));
testList.push_back(new TestBasic605(fref, writeRef, doVerbose));
testList.push_back(new TestBasic606(fref, writeRef, doVerbose));
testList.push_back(new TestBasic607(fref, writeRef, doVerbose));
testList.push_back(new TestBasic701(fref, writeRef, doVerbose));
testList.push_back(new TestBasic702(fref, writeRef, doVerbose));
testList.push_back(new TestBasic703(fref, writeRef, doVerbose));
testList.push_back(new TestBasic704(fref, writeRef, doVerbose));
testList.push_back(new TestBasic706(fref, writeRef, doVerbose));
testList.push_back(new TestBasic707(fref, writeRef, doVerbose));
testList.push_back(new TestBasic708(fref, writeRef, doVerbose));
Expand Down
Loading
Loading