LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
unit_test_base.h File Reference

Base class for unit tests using FHiCL configuration. More...

#include "larcorealg/TestUtils/ProviderTestHelpers.h"
#include "larcorealg/TestUtils/ProviderList.h"
#include "larcorealg/CoreUtils/ProviderPack.h"
#include "fhiclcpp/ParameterSet.h"
#include "fhiclcpp/intermediate_table.h"
#include "fhiclcpp/make_ParameterSet.h"
#include "fhiclcpp/parse.h"
#include "fhiclcpp/types/Comment.h"
#include "fhiclcpp/types/Name.h"
#include "fhiclcpp/types/Atom.h"
#include "fhiclcpp/types/Table.h"
#include "messagefacility/MessageLogger/MessageLogger.h"
#include "cetlib/filesystem.h"
#include "cetlib/filepath_maker.h"
#include "cetlib/search_path.h"
#include <iostream>
#include <string>
#include <memory>
#include <utility>
#include <map>
#include <type_traits>
#include <stdexcept>

Go to the source code of this file.

Classes

class  testing::details::CommandLineArguments
 Reads and makes available the command line parameters. More...
 
struct  testing::details::ProviderPackFiller< TestEnv, Pack, Provs >
 
struct  testing::BasicEnvironmentConfiguration
 Class holding a configuration for a test environment. More...
 
class  testing::TestSharedGlobalResource< RES >
 Utility class providing singleton objects to the derived classes. More...
 
class  testing::BasicTesterEnvironment< ConfigurationClass >
 Environment for a test. More...
 
struct  testing::BasicTesterEnvironment< ConfigurationClass >::Options_t
 Test environment options. More...
 
class  testing::TesterEnvironment< ConfigurationClass >
 A test environment with some support for service providers. More...
 
class  testing::details::FirstAbsoluteOrLookupWithDotPolicy
 
struct  testing::details::ProviderPackFiller< TestEnv, Pack, Prov, Others... >
 Helper to fill a provider pack: main specialisation. More...
 
struct  testing::details::ProviderPackFiller< TestEnv, Pack >
 

Namespaces

 testing
 LArSoft test utilities.
 
 testing::details
 

Functions

template<typename CONFIG , typename TESTENV = TesterEnvironment<std::decay_t<CONFIG>>, typename... ARGS>
TESTENV testing::CreateTesterEnvironment (CONFIG &&config, ARGS...other_args)
 Constructs and returns a TesterEnvironment object. More...
 

Detailed Description

Base class for unit tests using FHiCL configuration.

Date
December 1st, 2015
Author
petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov

Provides an environment for easy set up of a message-facility-aware test.

For an example of how to expand it to host services, see larcore/test/Geometry/geometry_unit_test_base.h

Currently provides:

  • BasicEnvironmentConfiguration: a test environment configuration
  • TestSharedGlobalResource: mostly internal use
  • TesterEnvironment: a prepacked test environment with some provider support

This is a pure template header. It will require the following libraries:

  • MF_MessageLogger
  • fhiclcpp
  • cetlib

Definition in file unit_test_base.h.