The Gaudi Framework  master (37c0b60a)
GaudiEnv.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #pragma once
12 #include <GaudiKernel/Bootstrap.h>
13 #include <GaudiKernel/IAppMgrUI.h>
14 #include <GaudiKernel/IProperty.h>
17 #include <GaudiKernel/IToolSvc.h>
18 #include <GaudiKernel/SmartIF.h>
19 #include <sstream>
20 #include <stdexcept>
21 namespace GaudiTesting {
22  void throwConditionFailed( bool condition, const std::string& file_name, int line_no,
23  const std::string& condition_string );
24 }
25 
26 #define Ensures( a ) GaudiTesting::throwConditionFailed( a, __FILE__, __LINE__, #a )
27 #ifndef NDEBUG
28 # define DEBUG_TRACE( a ) \
29  do { a; } while ( false )
30 #else
31 # define DEBUG_TRACE( a ) \
32  do { \
33  } while ( false )
34 #endif
35 
36 namespace GaudiTesting {
37  class GaudiEnv {
38  public:
41  , m_svcMgr( m_iface )
42  , m_appMgr( m_iface )
43  , m_propMgr( m_iface )
44  , m_svcLoc( m_iface ) {
45  Ensures( m_iface != nullptr );
50  m_toolSvc = m_svcLoc->service( "ToolSvc" );
52  m_propMgr->setProperty( "EvtSel", "NONE" ).ignore();
53  m_propMgr->setProperty( "JobOptionsType", "NONE" ).ignore();
54  Ensures( ( m_appMgr->configure().isSuccess() ) );
55  Ensures( ( m_appMgr->initialize().isSuccess() ) );
56  }
63  };
64 } // namespace GaudiTesting
GaudiTesting::GaudiEnv::GaudiEnv
GaudiEnv()
Definition: GaudiEnv.h:39
GaudiTesting::GaudiEnv::m_iface
IInterface * m_iface
Definition: GaudiEnv.h:57
Gaudi::createApplicationMgr
GAUDI_API IAppMgrUI * createApplicationMgr(const std::string &dllname, const std::string &factname)
std::string
STL class.
GaudiTesting::GaudiEnv::m_toolSvc
SmartIF< IToolSvc > m_toolSvc
Definition: GaudiEnv.h:62
GaudiTesting::GaudiEnv
Definition: GaudiEnv.h:37
GaudiTesting
Definition: __init__.py:1
IAppMgrUI.h
GaudiTesting::GaudiEnv::m_appMgr
SmartIF< IAppMgrUI > m_appMgr
Definition: GaudiEnv.h:59
IToolSvc.h
SmartIF.h
SmartIF::isValid
bool isValid() const
Allow for check if smart pointer is valid.
Definition: SmartIF.h:72
GaudiTesting::GaudiEnv::m_svcLoc
SmartIF< ISvcLocator > m_svcLoc
Definition: GaudiEnv.h:61
SmartIF< ISvcManager >
GaudiTesting::GaudiEnv::m_svcMgr
SmartIF< ISvcManager > m_svcMgr
Definition: GaudiEnv.h:58
GaudiTesting::throwConditionFailed
void throwConditionFailed(bool condition, const std::string &file_name, int line_no, const std::string &condition_string)
Definition: ToolVisitorTestLib.cpp:25
IInterface
Definition: IInterface.h:239
Bootstrap.h
IProperty.h
ISvcLocator.h
Ensures
#define Ensures(a)
Definition: GaudiEnv.h:26
GaudiTesting::GaudiEnv::m_propMgr
SmartIF< IProperty > m_propMgr
Definition: GaudiEnv.h:60
ISvcManager.h