Skip to content

Commit 77eae84

Browse files
committed
Reenable G4 + G4_MT tests
1 parent 9583221 commit 77eae84

File tree

3 files changed

+33
-24
lines changed

3 files changed

+33
-24
lines changed

macro/o2sim.C

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ FairRunSim* o2sim_init(bool asservice)
141141

142142
// extract max memory usage for init
143143
FairSystemInfo sysinfo;
144-
std::cout << "Init: Real time " << rtime << " s, CPU time " << ctime << "s\n";
145-
std::cout << "Init: Memory used " << sysinfo.GetMaxMemory() << " MB\n";
144+
LOG(INFO) << "Init: Real time " << rtime << " s, CPU time " << ctime << "s";
145+
LOG(INFO) << "Init: Memory used " << sysinfo.GetMaxMemory() << " MB";
146146

147147
return run;
148148
}
@@ -168,15 +168,15 @@ void o2sim_run(FairRunSim* run, bool asservice)
168168
// extract max memory usage
169169
FairSystemInfo sysinfo;
170170

171-
std::cout << "\n\n";
172-
std::cout << "Macro finished succesfully.\n";
173-
std::cout << "Real time " << rtime << " s, CPU time " << ctime << "s\n";
174-
std::cout << "Memory used " << sysinfo.GetMaxMemory() << " MB\n";
171+
LOG(INFO) << "Macro finished succesfully.";
172+
LOG(INFO) << "Real time " << rtime << " s, CPU time " << ctime << "s";
173+
LOG(INFO) << "Memory used " << sysinfo.GetMaxMemory() << " MB";
175174
}
176175

177176
// asservice: in a parallel device-based context?
178177
void o2sim(bool asservice = false)
179178
{
180179
auto run = o2sim_init(asservice);
181180
o2sim_run(run, asservice);
181+
delete run;
182182
}

run/CMakeLists.txt

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,27 @@ Install(FILES o2simtopology.json DESTINATION share/config)
3939
# add a complex simulation as a unit test (if simulation was enabled)
4040
# perform some checks on kinematics and track references
4141
if (HAVESIMULATION)
42-
# o2sim_G4 (temporarily disabled)
43-
#add_test(NAME o2sim_G4 COMMAND ${CMAKE_BINARY_DIR}/bin/o2sim -n 2 -m PIPE ITS TPC TRD TOF EMC PHS -e TGeant4)
44-
#set_tests_properties(o2sim_G4 PROPERTIES PASS_REGULAR_EXPRESSION "Macro finished succesfully")
45-
# o2sim_G4_mt (temporarily disabled)
46-
#add_test(NAME o2sim_G4_mt COMMAND ${CMAKE_BINARY_DIR}/bin/o2sim -n 10 -m PIPE ITS TPC TRD TOF EMC PHS -e TGeant4 --isMT on)
47-
#set_tests_properties(o2sim_G4_mt PROPERTIES PASS_REGULAR_EXPRESSION "Macro finished succesfully")
48-
#set_tests_properties(o2sim_G4_mt PROPERTIES ENVIRONMENT VMCWORKDIR=${CMAKE_SOURCE_DIR})
49-
# checksimkinematics_G4 (temporarily disabled)
50-
#add_test(NAME checksimkinematics_G4
51-
# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
52-
# COMMAND root -n -b -l -q ${CMAKE_SOURCE_DIR}/DataFormats/simulation/test/checkStack.C)
42+
add_test(NAME o2sim_G4
43+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
44+
COMMAND ${CMAKE_BINARY_DIR}/bin/o2sim -n 2 -m PIPE ITS TPC TRD TOF EMC PHS -e TGeant4)
45+
set_tests_properties(o2sim_G4 PROPERTIES PASS_REGULAR_EXPRESSION "Macro finished succesfully"
46+
ENVIRONMENT VMCWORKDIR=${CMAKE_SOURCE_DIR} FIXTURES_SETUP G4)
47+
48+
add_test(NAME o2sim_G4_mt
49+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
50+
COMMAND ${CMAKE_BINARY_DIR}/bin/o2sim -n 10 -m PIPE ITS TPC TRD TOF EMC PHS -e TGeant4 --isMT on)
51+
set_tests_properties(o2sim_G4_mt PROPERTIES PASS_REGULAR_EXPRESSION "Macro finished succesfully"
52+
ENVIRONMENT VMCWORKDIR=${CMAKE_SOURCE_DIR})
53+
54+
add_test(NAME checksimkinematics_G4
55+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
56+
COMMAND root -n -b -l -q ${CMAKE_SOURCE_DIR}/DataFormats/simulation/test/checkStack.C)
57+
set_tests_properties(checksimkinematics_G4 PROPERTIES FIXTURES_REQUIRED G4
58+
ENVIRONMENT "LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${CMAKE_BINARY_DIR}/lib")
59+
5360
add_test(NAME o2sim_G3
54-
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
55-
COMMAND ${CMAKE_BINARY_DIR}/bin/o2sim -n 2 -m PIPE ITS TPC MCH TOF EMC PHS -e TGeant3)
61+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
62+
COMMAND ${CMAKE_BINARY_DIR}/bin/o2sim -n 2 -m PIPE ITS TPC MCH TOF EMC PHS -e TGeant3)
5663
set_tests_properties(o2sim_G3 PROPERTIES PASS_REGULAR_EXPRESSION "Macro finished succesfully"
5764
ENVIRONMENT VMCWORKDIR=${CMAKE_SOURCE_DIR} FIXTURES_SETUP G3)
5865

@@ -61,8 +68,4 @@ if (HAVESIMULATION)
6168
COMMAND root -n -b -l -q ${CMAKE_SOURCE_DIR}/DataFormats/simulation/test/checkStack.C)
6269
set_tests_properties(checksimkinematics_G3 PROPERTIES FIXTURES_REQUIRED G3
6370
ENVIRONMENT "LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${CMAKE_BINARY_DIR}/lib")
64-
65-
#set_property(TEST checksimkinematics_G4 PROPERTY DEPENDS o2sim_G4 PASS_REGULAR_EXPRESSION "STACK TEST SUCCESSFULL")
66-
#set_property(TEST checksimkinematics_G4 APPEND PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${CMAKE_BINARY_DIR}/lib")
67-
#set_property(TEST checksimkinematics_G4 APPEND PROPERTY ENVIRONMENT "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}:${CMAKE_BINARY_DIR}/lib")
6871
endif()

run/o2sim.cxx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,11 @@ int main(int argc, char* argv[])
2121
// call o2sim "macro"
2222
o2sim(false);
2323

24-
return 0;
24+
// We do this instead of return 0
25+
// for the reason that we see lots of problems
26+
// with TROOTs atexit mechanism often triggering double-free or delete symptoms.
27+
// While this is not optimal ... I think it is for the moment
28+
// better to have a stable simulation runtime in contrast to
29+
// having to debug complicated "atexit" memory problems.
30+
_exit(0);
2531
}

0 commit comments

Comments
 (0)