[build] use the automake infrastructure in order to run tests
[hkl.git] / binoculars-ng / Makefile.am
blobf9232d140e40353dfbfa6ad2ea15e16d33824bcb
1 SUBDIRS = binoculars
3 bin_PROGRAMS = binoculars-ng
4 binoculars_ng_SOURCES=\
5         app/Main.hs \
6         src/Hkl.hs \
7         src/Hkl/Binoculars.hs \
8         src/Hkl/Binoculars/Command.hs \
9         src/Hkl/Binoculars/Common.hs \
10         src/Hkl/Binoculars/Config.hs \
11         src/Hkl/Binoculars/Config/Common.hs \
12         src/Hkl/Binoculars/Config/Sample.hs \
13         src/Hkl/Binoculars/Pipes.hs \
14         src/Hkl/Binoculars/Projections.hs \
15         src/Hkl/Binoculars/Projections/Angles.hs \
16         src/Hkl/Binoculars/Projections/Hkl.hs \
17         src/Hkl/Binoculars/Projections/QCustom.hs \
18         src/Hkl/Binoculars/Projections/Test.hs \
19         src/Hkl/C.hs \
20         src/Hkl/C/Binoculars.hsc \
21         src/Hkl/C/Hkl.hsc \
22         src/Hkl/DArray.hs \
23         src/Hkl/DataSource.hs \
24         src/Hkl/Detector.hs \
25         src/Hkl/Engine.hs \
26         src/Hkl/Exception.hs \
27         src/Hkl/Geometry.hs \
28         src/Hkl/H5.hs \
29         src/Hkl/HKD.hs \
30         src/Hkl/Image.hs \
31         src/Hkl/Lattice.hs \
32         src/Hkl/MyMatrix.hs \
33         src/Hkl/Orphan.hs \
34         src/Hkl/Parameter.hs \
35         src/Hkl/Pipes.hs \
36         src/Hkl/Repa.hs \
37         src/Hkl/Sample.hs \
38         src/Hkl/Types.hs \
39         src/Hkl/Utils.hs
40 binoculars-ng$(EXEEXT):
41         @rm -f cabal.project.local
42         touch empty-config-file
43         $(CABAL) \
44                 --config-file=empty-config-file \
45                 build \
46                 -fuseHklDev \
47                 --disable-shared \
48                 --enable-optimization \
49                 --enable-static \
50                 --extra-include-dirs=$(abs_top_srcdir) \
51                 --extra-include-dirs=$(abs_top_srcdir)/binoculars-ng/binoculars \
52                 --extra-lib-dirs=$(abs_top_builddir)/hkl/.libs \
53                 --extra-lib-dirs=$(abs_top_builddir)/binoculars-ng/binoculars/.libs \
54                 --offline \
55                 $@
56         $(LN_S) -f $$($(CABAL) \
57                         --config-file=empty-config-file \
58                         list-bin $@) $@
60 CLEANFILES=\
61         cabal.project.local \
62         empty-config-file
64 TESTS=hkl-test
66 AM_TESTS_ENVIRONMENT = \
67         hkl_datadir=$(srcdir); export hkl_datadir;
69 test_sources=\
70         data/test/config_ech6eiger.txt \
71         data/test/config_sixs_ruche_parsing.ini \
72         test/BinocularsSpec.hs \
73         test/Spec.hs
75 hkl-test$(EEXE):
76         @rm -f cabal.project.local
77         touch empty-config-file
78         $(CABAL) \
79                 --config-file=empty-config-file \
80                 build \
81                 -fuseHklDev \
82                 --extra-include-dirs=$(abs_top_srcdir) \
83                 --extra-include-dirs=$(abs_top_srcdir)/binoculars-ng/binoculars \
84                 --extra-lib-dirs=$(abs_top_builddir)/hkl/.libs \
85                 --extra-lib-dirs=$(abs_top_builddir)/binoculars-ng/binoculars/.libs \
86                 $@
87         $(LN_S) -f $$($(CABAL) \
88                         --config-file=empty-config-file \
89                         list-bin $@) $@
91 clean-local:
92         -cabal clean
94 EXTRA_DIST = $(binoculars_ng_SOURCES) $(test_sources)
96 ###############
97 # local tests #
98 ###############
100 RTS = +RTS -N4 -RTS
101 RUN = /usr/bin/time -v ./binoculars-ng $(RTS)
102 PROCESS = $(RUN) --debug process
103 PROCESS_DBG=gdb --args .libs/binoculars-ng process
105 cristal: binoculars-ng
106         $(PROCESS) /nfs/ruche/cristal-soleil/com-cristal/2019/Run5/99190273_Bouyanfif/PourFred/conf_mask.ini  64
108 mars: binoculars-ng
109 #       $(PROCESS) data/test/config_mars_ruche_rel_flyscan.ini
110 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 173
111 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 153
112 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 132
113 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 105
114 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 78
115 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 75
116 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2022_Run1/20211749/binoculars/config_qxqyqz.ini 75
117 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2022_Run1/20211749/binoculars/config_qxqyqz.ini 145
118 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2024_Run1/HR_XRD_CX2/binoculars/config_qxqyqz.ini 473
119 # TODO, de simages ont un drole de pattern, il faut donc pouvoir supprimer des images dans un scan donné.
120 # TODO, une idée pourrait être d'associer un masque spécifique à un point de scan.
121         $(PROCESS) data/test/config_mars_ruche_20232102.ini 73-82
122         $(PROCESS) data/test/config_mars_ruche_20232102.ini 100-111
123         $(PROCESS) data/test/config_mars_ruche_20232102.ini 129-138
124         $(PROCESS) data/test/config_mars_ruche_20232102.ini 158-167
125         $(PROCESS) data/test/config_mars_ruche_20232102.ini 186-195
126         $(PROCESS) data/test/config_mars_ruche_20232102.ini 207-216
127         $(PROCESS) data/test/config_mars_ruche_20232102.ini 228-237
128         $(PROCESS) data/test/config_mars_ruche_20232102.ini 246-255
129         $(PROCESS) data/test/config_mars_ruche_20232102.ini 261-271
130         $(PROCESS) data/test/config_mars_ruche_20232102.ini 285-294
131         $(PROCESS) data/test/config_mars_ruche_20232102.ini 306-315
132         $(PROCESS) data/test/config_mars_ruche_20232102.ini 329-338
133         $(PROCESS) data/test/config_mars_ruche_20232102.ini 272
135 sixs: binoculars-ng
136 #       $(PROCESS) /nfs/ruche-sixs/sixs-soleil/com-sixs/2020/Run4/20200116_Jeridi/binoculars/config.cfg 496,546
137         $(PROCESS) data/test/config_sixs_ruche_20231857.ini 356-390