The Gaudi Framework  master (37c0b60a)
TestAppMgrStateMachine.cpp
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 // Executable to check some state transitions of the ApplicationMgr
12 
13 #include <GaudiKernel/Bootstrap.h>
14 #include <GaudiKernel/IAppMgrUI.h>
15 #include <GaudiKernel/IProperty.h>
16 #include <GaudiKernel/SmartIF.h>
17 #include <GaudiKernel/StatusCode.h>
18 #include <iostream>
19 
20 #define CHECK( SC ) \
21  if ( SC.isFailure() ) return 1;
22 
23 int main() {
25  auto propMgr = appMgr.as<IProperty>();
26 
27  if ( !appMgr || !propMgr ) {
28  std::cout << "Fatal error while creating the ApplicationMgr " << std::endl;
29  return 1;
30  }
31 
32  propMgr->setProperty( "JobOptionsType", "NONE" ).ignore();
33  propMgr->setProperty( "EvtMax", 1 ).ignore();
34 
35  CHECK( appMgr->configure() );
36  CHECK( appMgr->initialize() );
37  CHECK( appMgr->reinitialize() );
38  CHECK( appMgr->start() );
39  CHECK( appMgr->stop() );
40  CHECK( appMgr->start() );
41  CHECK( appMgr->run() );
42 }
Gaudi::createApplicationMgr
GAUDI_API IAppMgrUI * createApplicationMgr(const std::string &dllname, const std::string &factname)
StatusCode.h
IAppMgrUI.h
IProperty
Definition: IProperty.h:33
SmartIF.h
std::cout
main
int main()
Definition: TestAppMgrStateMachine.cpp:23
SmartIF< IAppMgrUI >
std::endl
T endl(T... args)
CHECK
#define CHECK(SC)
Definition: TestAppMgrStateMachine.cpp:20
Bootstrap.h
IProperty.h
IOTest.appMgr
appMgr
Definition: IOTest.py:105