# CrystFEL unit tests # Test wrapper scripts for process_hkl process_hkl_tests = ['process_hkl_check_1', 'process_hkl_check_2', 'process_hkl_check_3', 'process_hkl_check_4'] foreach name : process_hkl_tests exe = find_program(name) test(name, exe, args : [process_hkl.full_path()]) endforeach # Test wrapper scripts for partialator partialator_tests = ['partialator_merge_check_1', 'partialator_merge_check_2', 'partialator_merge_check_3'] foreach name : partialator_tests exe = find_program(name) test(name, exe, args : [partialator.full_path()]) endforeach # Easy unit tests of libcrystfel functions simple_tests = ['ambi_check', 'cell_check', 'centering_check', 'list_check', 'prediction_gradient_check', 'ring_check', 'symmetry_check', 'transformation_check', 'rational_check', 'spectrum_check', 'cellcompare_check', 'evparse1', 'evparse2', 'evparse3', 'evparse4', 'evparse5', 'evparse6', 'evparse7'] foreach name : simple_tests exe = executable(name, ''.join([name, '.c']), dependencies : [libcrystfeldep, mdep, gsldep, hdf5dep], include_directories: conf_inc) test(name, exe, timeout : 60) endforeach # Less easy unit tests for libcrystfel functions exe = executable('stream_read', ['stream_read.c'], dependencies : [libcrystfeldep]) test_stream = files('test.stream') test('stream_read', exe, args: [test_stream]) exe = executable('integration_check', ['integration_check.c', 'histogram.c'], dependencies : [libcrystfeldep, mdep, gsldep]) test('integration_check', exe) exe = executable('prof2d_check', ['prof2d_check.c', 'histogram.c'], dependencies : [libcrystfeldep, mdep, gsldep]) test('prof2d_check', exe) if opencldep.found() exe = executable('gpu_sim_check', ['gpu_sim_check.c', simulation_bits], dependencies : [libcrystfeldep, mdep, gsldep, opencldep], include_directories: conf_inc) geom = files('gpu_sim_check.geom') test('gpu_sim_check', exe, args: [geom]) endif # Event enumeration tests ev_enum_tests = ['ev_enum1', 'ev_enum2', 'ev_enum3'] foreach name : ev_enum_tests exe = executable(name, ''.join([name, '.c']), dependencies : [libcrystfeldep, hdf5dep]) h5 = files(''.join([name, '.h5'])) geom = files(''.join([name, '.geom'])) test(name, exe, args : [h5, geom]) endforeach # Wavelength tests wavelength_tests = [['wavelength_geom1', '1e-10'], ['wavelength_geom2', '1.3776e-10'], ['wavelength_geom3', '1.3776e-10'], ['wavelength_geom4', '1.9687e-12'], ['wavelength_geom5', '1.9687e-12'], ['wavelength_geom6', '1.3776e-10'], ['wavelength_geom7', '1.3776e-10'], ['wavelength_geom8', '1.9687e-12'], ['wavelength_geom9', '1.3776e-10'], ['wavelength_geom10', '1.3776e-10'], ['wavelength_geom11', '1.125e-10'], ['wavelength_geom12', '1.125e-10']] exe = executable('wavelength_geom', 'wavelength_geom.c', dependencies : [libcrystfeldep, hdf5dep]) h5 = files('wavelength_geom.h5') foreach p : wavelength_tests geom = files(''.join([p[0], '.geom'])) expected_wl = p[1] test(p[0], exe, args : [h5, geom, expected_wl]) endforeach