The Gaudi Framework  master (b9786168)
Loading...
Searching...
No Matches
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
16#include <GaudiKernel/SmartIF.h>
18#include <iostream>
19
20#define CHECK( SC ) \
21 if ( SC.isFailure() ) return 1;
22
23int 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}
#define CHECK(SC)
The IProperty is the basic interface for all components which have properties that can be set or get.
Definition IProperty.h:32
StatusCode setProperty(const Gaudi::Details::PropertyBase &p)
Set the property from a property.
Definition IProperty.h:38
Small smart pointer class with automatic reference counting for IInterface.
Definition SmartIF.h:28
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
Definition StatusCode.h:139
GAUDI_API IAppMgrUI * createApplicationMgr(const std::string &dllname, const std::string &factname)