Skip to content

Commit de8570c

Browse files
committed
DPL: use catch2 for tests
Speed up testing / compilation
1 parent f40359e commit de8570c

File tree

76 files changed

+26755
-3485
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+26755
-3485
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,4 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
138138
endif()
139139

140140
set_root_pcm_dependencies()
141+

Framework/Core/CMakeLists.txt

Lines changed: 89 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -170,84 +170,97 @@ o2_target_root_dictionary(Framework
170170
include/Framework/StepTHn.h
171171
LINKDEF test/FrameworkCoreTestLinkDef.h)
172172

173-
foreach(t
174-
AlgorithmSpec
175-
AlgorithmWrapper
176-
AnalysisTask
177-
AnalysisDataModel
178-
AsyncQueue
179-
ASoA
180-
ASoAHelpers
181-
BoostOptionsRetriever
182-
ConfigurationOptionsRetriever
183-
CallbackRegistry
184-
ChannelSpecHelpers
185-
CheckTypes
186-
CompletionPolicy
187-
ComputingResourceHelpers
188-
ComputingQuotaEvaluator
189-
ControlServiceHelpers
190-
ConfigParamStore
191-
ConfigParamRegistry
192-
DataDescriptorMatcher
193-
DataDescriptorQueryBuilder
194-
DataProcessorSpec
195-
DataRefUtils
196-
DataRelayer
197-
DeviceConfigInfo
198-
DeviceMetricsInfo
199-
DeviceSpec
200-
DeviceSpecHelpers
201-
DeviceStateHelpers
202-
Expressions
203-
ExternalFairMQDeviceProxy
204-
FairMQOptionsRetriever
205-
FairMQResizableBuffer
206-
FairMQ
207-
FrameworkDataFlowToDDS
208-
FrameworkDataFlowToO2Control
209-
Graphviz
210-
GroupSlicer
211-
HistogramRegistry
212-
HTTPParser
213-
IndexBuilder
214-
InputRecord
215-
InputRecordWalker
216-
InputSpan
217-
InputSpec
218-
Kernels
219-
LogParsingHelpers
220-
Mermaid
221-
OptionsHelpers
222-
OverrideLabels
223-
O2DataModelHelpers
224-
PtrHelpers
225-
RootConfigParamHelpers
226-
Services
227-
StringHelpers
228-
StaticFor
229-
SuppressionGenerator
230-
TMessageSerializer
231-
TableBuilder
232-
TimeParallelPipelining
233-
Timers
234-
TimesliceIndex
235-
TypeTraits
236-
Variants
237-
WorkflowHelpers
238-
WorkflowSerialization
239-
TreeToTable
240-
DataOutputDirector)
173+
add_executable(o2-test-framework-core
174+
test/test_AlgorithmSpec.cxx
175+
test/test_AnalysisTask.cxx
176+
test/test_AnalysisDataModel.cxx
177+
test/test_AsyncQueue.cxx
178+
test/test_ASoA.cxx
179+
test/test_ASoAHelpers.cxx
180+
test/test_BoostOptionsRetriever.cxx
181+
test/test_ConfigurationOptionsRetriever.cxx
182+
test/test_CallbackRegistry.cxx
183+
test/test_ChannelSpecHelpers.cxx
184+
test/test_CheckTypes.cxx
185+
test/test_CompletionPolicy.cxx
186+
test/test_ComputingResourceHelpers.cxx
187+
test/test_ComputingQuotaEvaluator.cxx
188+
test/test_ControlServiceHelpers.cxx
189+
test/test_ConfigParamStore.cxx
190+
test/test_ConfigParamRegistry.cxx
191+
test/test_DataDescriptorMatcher.cxx
192+
test/test_DataDescriptorQueryBuilder.cxx
193+
test/test_DataProcessorSpec.cxx
194+
test/test_DataRefUtils.cxx
195+
test/test_DataRelayer.cxx
196+
test/test_DeviceConfigInfo.cxx
197+
test/test_DeviceMetricsInfo.cxx
198+
test/test_DeviceSpec.cxx
199+
test/test_DeviceSpecHelpers.cxx
200+
test/test_DeviceStateHelpers.cxx
201+
test/test_Expressions.cxx
202+
test/test_ExternalFairMQDeviceProxy.cxx
203+
test/test_FairMQOptionsRetriever.cxx
204+
test/test_FairMQResizableBuffer.cxx
205+
test/test_FairMQ.cxx
206+
test/test_FrameworkDataFlowToDDS.cxx
207+
test/test_FrameworkDataFlowToO2Control.cxx
208+
test/test_Graphviz.cxx
209+
test/test_GroupSlicer.cxx
210+
test/test_HistogramRegistry.cxx
211+
test/test_HTTPParser.cxx
212+
test/test_IndexBuilder.cxx
213+
test/test_InputRecord.cxx
214+
test/test_InputRecordWalker.cxx
215+
test/test_InputSpan.cxx
216+
test/test_InputSpec.cxx
217+
test/test_Kernels.cxx
218+
test/test_LogParsingHelpers.cxx
219+
test/test_Mermaid.cxx
220+
test/test_OptionsHelpers.cxx
221+
test/test_OverrideLabels.cxx
222+
test/test_O2DataModelHelpers.cxx
223+
test/test_PtrHelpers.cxx
224+
test/test_RootConfigParamHelpers.cxx
225+
test/test_Services.cxx
226+
test/test_StringHelpers.cxx
227+
test/test_StaticFor.cxx
228+
test/test_TMessageSerializer.cxx
229+
test/test_TableBuilder.cxx
230+
test/test_TimeParallelPipelining.cxx
231+
test/test_TimesliceIndex.cxx
232+
test/test_TypeTraits.cxx
233+
test/test_Variants.cxx
234+
test/test_WorkflowHelpers.cxx
235+
test/test_WorkflowSerialization.cxx
236+
test/test_TreeToTable.cxx
237+
test/test_DataOutputDirector.cxx
238+
)
239+
target_link_libraries(o2-test-framework-core PRIVATE O2::Framework)
240+
target_link_libraries(o2-test-framework-core PRIVATE O2::Catch2)
241241

242-
# FIXME ? The NAME parameter of o2_add_test is only needed to help the current
243-
# o2.sh recipe. If the recipe is changed, those params can go away, if needed.
242+
get_filename_component(outdir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/../tests ABSOLUTE)
243+
set_property(TARGET o2-test-framework-core PROPERTY RUNTIME_OUTPUT_DIRECTORY ${outdir})
244244

245-
o2_add_test(${t} NAME test_Framework_test_${t}
246-
SOURCES test/test_${t}.cxx
247-
COMPONENT_NAME Framework
248-
LABELS framework
249-
PUBLIC_LINK_LIBRARIES O2::Framework)
250-
endforeach()
245+
add_test(NAME framework:core COMMAND o2-test-framework-core)
246+
247+
o2_add_test(AlgorithmWrapper NAME test_Framework_test_AlgorithmWrapper
248+
SOURCES test/test_AlgorithmWrapper.cxx
249+
COMPONENT_NAME Framework
250+
LABELS framework
251+
PUBLIC_LINK_LIBRARIES O2::Framework)
252+
253+
o2_add_test(Timers NAME test_Framework_test_Timers
254+
SOURCES test/test_Timers.cxx
255+
COMPONENT_NAME Framework
256+
LABELS framework
257+
PUBLIC_LINK_LIBRARIES O2::Framework)
258+
259+
o2_add_test(SuppressionGenerator NAME test_Framework_test_SuppressionGenerator
260+
SOURCES test/test_SuppressionGenerator.cxx
261+
COMPONENT_NAME Framework
262+
LABELS framework
263+
PUBLIC_LINK_LIBRARIES O2::Framework)
251264

252265
o2_add_test(O2DatabasePDG NAME test_Framework_test_O2DatabasePDG
253266
SOURCES test/test_O2DatabasePDG.cxx

Framework/Core/test/Mocking.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
#include "Framework/WorkflowCustomizationHelpers.h"
1717
#include "Framework/ChannelConfigurationPolicy.h"
1818

19+
namespace
20+
{
1921
std::unique_ptr<o2::framework::ConfigContext> makeEmptyConfigContext()
2022
{
2123
using namespace o2::framework;
@@ -53,3 +55,4 @@ std::vector<ChannelConfigurationPolicy> makeTrivialChannelPolicies(ConfigContext
5355

5456
return {defaultPolicy};
5557
}
58+
} // namespace

0 commit comments

Comments
 (0)