Files
Jungfraujoch/tests/CMakeLists.txt
T
leonarski_f 84228bf8be
Build Packages / Create release (push) Successful in 24s
Build Packages / build:viewer:macos-arm64:nocuda (push) Successful in 3m29s
Build Packages / build:rugnux:macos-arm64:nocuda (push) Successful in 2m43s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 8m27s
Build Packages / build:rugnux:linux-x86_64:cuda (push) Successful in 9m53s
Build Packages / build:viewer:linux-x86_64:nocuda (push) Successful in 9m58s
Build Packages / build:viewer:linux-x86_64:cuda (push) Successful in 11m22s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 13m39s
Build Packages / build:viewer:windows-x86_64:nocuda (push) Successful in 18m37s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 16m32s
Build Packages / build:viewer:windows-x86_64:cuda (push) Successful in 24m11s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 25m30s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 19m3s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 20m23s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 19m41s
Build Packages / Generate python client (push) Successful in 50s
Build Packages / Build documentation (push) Successful in 1m16s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 21m0s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 18m38s
Build Packages / build:rugnux:windows-x86_64:cuda (push) Successful in 14m33s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 17m55s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 20m50s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 18m38s
Build Packages / Unit tests (push) Successful in 1h46m14s
v1.0.0-rc.173 (#83)
* jfjoch_broker: Optional per-dataset authentication - statistics, images and plots can require a bearer token, which jfjoch_viewer supports.
* jfjoch_viewer: Dark mode and a theme-matched colour scheme, a magnifier panel, and simpler contrast and background controls.
* Rugnux: Multiple performance improvements on GPU and CPU (CPU-only processing up to 40% faster, faster image decoding on ARM), with unchanged results.
* Rugnux: `--model` rigid-body refinement runs on the GPU, and the model-validation check is faster and more reliable.
* Rugnux: Improved scaling and merging - error model, outlier rejection, absorption correction and French-Wilson amplitudes now agree more closely with XDS and ctruncate.
* Rugnux: Improved integration - radial background on powder and ice rings, crowded rotation data keep their reflections, and CPU-only builds integrate large unit cells as GPU builds do.
* Rugnux: More robust detector geometry - measured beam centre, X-ray bandwidth and goniometer rate, and geometry refinement accepted only on significant evidence.
* Rugnux: Merged files are written in the standard setting, or in the setting of a reference MTZ, structure-factor mmCIF or model, with its free-R flags.
* Rugnux: Richer report - ice and powder rings, further lattices, superstructure candidates and mosaicity, with warnings worded as prompts to check.
* Rugnux: Clear error messages when a data set needs more GPU or host memory than is available.

Reviewed-on: #83
Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
2026-09-29 15:57:32 +02:00

185 lines
6.7 KiB
CMake

# Quick cross-platform checks: the results that depend on the architecture, the compiler or the
# standard library (bitshuffle/LZ4 SIMD paths, HDF5 read-back, CBF parsing, CPU spot finding, FFTW
# indexing, gemmi MTZ/CIF). Built in every configuration, the portable (viewer/rugnux-only) ones
# included, and linked only against what those build - so it runs on the macOS and Windows jobs.
# Only the cases tagged [portable] are meant to run there (a few seconds in all); the rest of these
# files is compiled in because the tagged cases live next to them.
# EXCLUDE_FROM_ALL: a product build does not pay for it, CI builds the target by name.
ADD_EXECUTABLE(jfjoch_portable_test EXCLUDE_FROM_ALL
PortableTest.cpp
TestData.h
ZSTDCompressorTest.cpp
JFJochReaderTest.cpp
SweepLayoutTest.cpp
CBORTest.cpp
ImageSpotFinderCPUTest.cpp
AdaptiveSpotFinderCPUTest.cpp
AzimuthalIntegrationTest.cpp
CalcBraggPredictionTest.cpp
BraggStencilTest.cpp
BraggIntegrationEngineCompressedImageTest.cpp
BraggIntegrationEngineCPUTest.cpp
WriteReflectionsTest.cpp
LoadReferenceMtzFreeFlagsTest.cpp
LoadReferenceSfCifTest.cpp
RotationIndexerTest.cpp
)
target_link_libraries(jfjoch_portable_test Catch2WithMain JFJochRugnux JFJochReader JFJochImageAnalysis
JFJochWriter JFJochCommon)
target_include_directories(jfjoch_portable_test PRIVATE .)
# Same device-link step as rugnux (see rugnux/CMakeLists.txt): a portable CUDA build links cuFFT statically.
IF (JFJOCH_PORTABLE_ONLY AND JFJOCH_CUDA_AVAILABLE AND TARGET CUDA::cufft_static)
SET_TARGET_PROPERTIES(jfjoch_portable_test PROPERTIES CUDA_RESOLVE_DEVICE_SYMBOLS ON)
ENDIF()
IF (JFJOCH_PORTABLE_ONLY)
RETURN()
ENDIF()
ADD_EXECUTABLE(jfjoch_test
PortableTest.cpp
DiffractionExperimentTest.cpp
RawToConvertedGeometryTest.cpp
../common/RawToConvertedGeometry.h
../common/DiffractionExperiment.h
CheckImageOutput.h
FPGAIntegrationTest.cpp
StrongPixelSetTest.cpp
AdaptiveThresholdTest.cpp
AdaptiveSpotFinderCPUTest.cpp
ZSTDCompressorTest.cpp
FrameTransformationTest.cpp
HDF5WritingTest.cpp PedestalCalcTest.cpp
ZMQImagePusherTest.cpp StreamWriterTest.cpp
CoordTest.cpp JFJochStateMachineTest.cpp
JFJochReceiverIntegrationTest.cpp
AcquisitionCountersTest.cpp
IndexingUnitTest.cpp
ThreadSafeFIFOSetTest.cpp
FPGANetworkTest.cpp
JFPedestalTest.cpp
JFCalibrationTest.cpp
AzimuthalIntegrationTest.cpp
StatusVectorTest.cpp
CBORTest.cpp
DetectorGeometryTest.cpp DetectorSetupTest.cpp DiffractionGeometryTest.cpp
FPGASpotFindingUnitTest.cpp
PreviewCounterTest.cpp
FPGAFrameGeneratorTest.cpp
FPGAHostWriterTest.cpp
DiffractionSpotTest.cpp
TIFFTest.cpp
JFJochReceiverProcessingTest.cpp
JPEGTest.cpp
HistogramTest.cpp
ROIMapTest.cpp
ROIIntegrationCPUTest.cpp
ROIIntegrationGPUTest.cpp
BraggIntegrationEngineGPUTest.cpp
BraggIntegrationEngineCompressedImageTest.cpp
BraggIntegrationEngineCPUTest.cpp
BraggStencilTest.cpp
LossyFilterTest.cpp
ImageBufferTest.cpp
PixelMaskTest.cpp
RegressionTest.cpp
FPGAHLSModulesTest.cpp
ZMQPreviewSocketTest.cpp
DetectorSettingsTest.cpp
AutoIncrVectorTest.cpp
ModuleSummationTest.cpp
ZMQMetadataSocketTest.cpp
JFJochReaderTest.cpp
SweepLayoutTest.cpp
ShadowFinderTest.cpp
HotPixelFinderTest.cpp
BandwidthEstimateTest.cpp
ParallelForTest.cpp
RugnuxTest.cpp
ResultReportTest.cpp
DiagnosticOutputTest.cpp
PostRefineTest.cpp
RotationScaleWalkTest.cpp
RugnuxLargeTest.cpp
TestData.h
MovingAverageTest.cpp
ImageMetadataTest.cpp
JFJochReceiverLiteTest.cpp
GridScanSettingsTest.cpp
JFJochReceiverPlotsTest.cpp
GoniometerAxisTest.cpp
DetGeomCalibTest.cpp
RingsFromProfileTest.cpp
CalibrationTest.cpp
XtalOptimizerTest.cpp
CrystalLatticeTest.cpp
FPGAPTPTest.cpp
ResolutionShellsTest.cpp
ImageSpotFinderCPUTest.cpp
ImageSpotFinderGPUTest.cpp
BSLZ4DecoderGPUTest.cpp
BSLZ4DecoderGPUFuzzTest.cpp
ImagePreprocessorGPUFusedTest.cpp
AdaptiveSpotFinderGPUTest.cpp
SpotExtractorGPUParityTest.cpp
CUDAMemHelpersTest.cpp
CudaHandledErrorTest.cpp
CalcBraggPredictionTest.cpp
SpotUtilsTest.cpp
LatticeSearchTest.cpp
LePageLatticeTest.cpp
TimeTest.cpp
RotationIndexerTest.cpp
SpindleBlindFractionTest.cpp
SpindleCuspLossTest.cpp
TopPixelsTest.cpp
HKLKeyTest.cpp
TCPImagePusherTest.cpp
PreflightTest.cpp
ModelValidationTest.cpp
ModelMaskGPUTest.cpp
SearchSpaceGroupTest.cpp
SearchSpaceGroupTwinTest.cpp
SyntheticMergedReflections.h
XDSPluginTest.cpp
MergeScaleTest.cpp
AnisotropyAnalysisTest.cpp
ModelScalingTest.cpp
ModelScaleGPUTest.cpp
TwinningAnalysisTest.cpp
TranslationalNCSTest.cpp
RfreeFlagsTest.cpp
FrenchWilsonTest.cpp
SphericalHarmonicSurfaceTest.cpp
WilsonOutliersTest.cpp
ReindexAmbiguityTest.cpp
CrystalSettingTest.cpp
LoadReferenceMtzFreeFlagsTest.cpp
LoadReferenceSfCifTest.cpp
WriteReflectionsTest.cpp
UnitCellTest.cpp
CCTest.cpp
MultiLatticeSearchTest.cpp
LatticeReductionTest.cpp
BeamCenterFromBackgroundTest.cpp
BeamCenterFFTTest.cpp
BeamCenterFFTGPUTest.cpp
BeamCenterFromSpotsTest.cpp
BearerTokensTest.cpp
BrokerHttpAuthTest.cpp
../broker/JFJochBrokerHttp.cpp
)
target_link_libraries(jfjoch_test Catch2WithMain JFJochBroker JFJochReceiver JFJochReader JFJochStreamWriter
JFJochRugnux JFJochImageAnalysis JFJochCommon JFJochHLSSimulation JFJochPreview
jfjoch_xds_plugin ZLIB::ZLIB httplib::httplib)
target_include_directories(jfjoch_test PRIVATE .)
find_package(Threads REQUIRED)
add_library(enospc_shim MODULE enospc_shim.c)
target_link_libraries(enospc_shim PRIVATE Threads::Threads dl)
set_target_properties(enospc_shim PROPERTIES PREFIX "" POSITION_INDEPENDENT_CODE ON) # remove "lib"
ADD_EXECUTABLE(jfjoch_hdf5_enospc_test jfjoch_hdf5_enospc_test.cpp)
target_link_libraries(jfjoch_hdf5_enospc_test Catch2WithMain JFJochWriter)