xref: /petsc/lib/petsc/conf/test (revision 3646cfeb797400a3e4541320631fb1502714bdc9)
1# -*- mode: makefile -*-
2#
3#  testexamples_X - Runs various PETSc test suites
4
5#    6 - C examples that don't work with complex numbers, require PETSc matrices
6#    8 - Fortran .F examples that don't work with complex numbers
7#   13 - Examples that should only be compiled.
8#   17 - requires PYTHON or wget and Unix (uses urlget) and popen()
9
10testexamples_C: ${TESTEXAMPLES_C}
11testexamples_Cxx: ${TESTEXAMPLES_CXX}
12testexamples_C_X: ${TESTEXAMPLES_C_X}
13testexamples_Fortran: ${TESTEXAMPLES_FORTRAN}
14testexamples_C_X_MPIUni: ${TESTEXAMPLES_C_X_MPIUNI}
15testexamples_C_Complex: ${TESTEXAMPLES_C_COMPLEX}
16testexamples_C_NoComplex: ${TESTEXAMPLES_C_NOCOMPLEX}
17testexamples_DATAFILESPATH: ${TESTEXAMPLES_DATAFILESPATH}
18testexamples_Cxx_DATAFILESPATH: ${TESTEXAMPLES_CXX_DATAFILESPATH}
19testexamples_DOUBLEINT32: ${TESTEXAMPLES_DOUBLEINT32}
20
21testexamples_F90_DataTypes: ${TESTEXAMPLES_F90_DATATYPES}
22testexamples_Fortran_NoComplex: ${TESTEXAMPLES_FORTRAN_NOCOMPLEX}
23testexamples_Fortran_MPIUni: ${TESTEXAMPLES_FORTRAN_MPIUNI}
24testexamples_Fortran_Complex: ${TESTEXAMPLES_FORTRAN_COMPLEX}
25testexamples_C_Complex_MPIUni: ${TESTEXAMPLES_C_CCOMPLEX_MPIUNI}
26testexamples_F90: ${TESTEXAMPLES_F90}
27testexamples_F90_Complex: ${TESTEXAMPLES_F90_COMPLEX}
28testexamples_F90_NoComplex: ${TESTEXAMPLES_F90_NOCOMPLEX}
29testexamples_F2003: ${TESTEXAMPLES_F2003}
30testexamples_13: ${TESTEXAMPLES_13}
31testexamples_17: ${TESTEXAMPLES_17}
32testexamples_18: ${TESTEXAMPLES_18}
33testexamples_PARMETIS: ${TESTEXAMPLES_PARMETIS}
34testexamples_METIS: ${TESTEXAMPLES_METIS}
35testexamples_SPAI: ${TESTEXAMPLES_SPAI}
36testexamples_ADIFOR: ${TESTEXAMPLES_ADIFOR}
37testexamples_FFTW: ${TESTEXAMPLES_FFTW}
38testexamples_FFTW_COMPLEX: ${TESTEXAMPLES_FFTW_COMPLEX}
39testexamples_SAWS: ${TESTEXAMPLES_SAWS}
40testexamples_VALGRIND: ${TESTEXAMPLES_VALGRIND}
41testexamples_MATLAB: ${TESTEXAMPLES_MATLAB}
42testexamples_MATLAB_ENGINE: ${TESTEXAMPLES_MATLAB_ENGINE}
43testexamples_MUMPS: ${TESTEXAMPLES_MUMPS}
44testexamples_SUPERLU: ${TESTEXAMPLES_SUPERLU}
45testexamples_ELEMENTAL: ${TESTEXAMPLES_ELEMENTAL}
46testexamples_SUNDIALS: ${TESTEXAMPLES_SUNDIALS}
47testexamples_SUITESPARSE: ${TESTEXAMPLES_SUITESPARSE}
48testexamples_MKL_PARDISO: ${TESTEXAMPLES_MKL_PARDISO}
49testexamples_SUPERLU_DIST: ${TESTEXAMPLES_SUPERLU_DIST}
50testexamples_HYPRE: ${TESTEXAMPLES_HYPRE}
51testexamples_HDF5: ${TESTEXAMPLES_HDF5}
52testexamples_CHACO: ${TESTEXAMPLES_CHACO}
53testexamples_CHOMBO: ${TESTEXAMPLES_CHOMBO}
54testexamples_TRIANGLE: ${TESTEXAMPLES_TRIANGLE}
55testexamples_CTETGEN: ${TESTEXAMPLES_CTETGEN}
56testexamples_SSL: ${TESTEXAMPLES_SSL}
57testexamples_PARMS: ${TESTEXAMPLES_PARMS}
58testexamples_TCHEM: ${TESTEXAMPLES_TCHEM}
59
60testexamples_BOOST: ${TESTEXAMPLES_BOOST}
61testexamples_TETGEN: ${TESTEXAMPLES_TETGEN}
62testexamples_PTSCOTCH: ${TESTEXAMPLES_PTSCOTCH}
63testexamples_PASTIX: ${TESTEXAMPLES_PASTIX}
64testexamples_ML: ${TESTEXAMPLES_ML}
65testexamples_CUSP: ${TESTEXAMPLES_CUSP}
66testexamples_CUDA: ${TESTEXAMPLES_CUDA}
67testexamples_YAML: ${TESTEXAMPLES_YAML}
68testexamples_THREADCOMM: ${TESTEXAMPLES_THREADCOMM}
69testexamples_MOAB: ${TESTEXAMPLES_MOAB}
70testexamples_MOAB_HDF5: ${TESTEXAMPLES_MOAB_HDF5}
71testexamples_TRILINOS: ${TESTEXAMPLES_TRILINOS}
72testexamples_X:
73testexamples_OPENGL:
74testexamples_MPE:
75testexamples_ESSL:
76testexamples_MPI:
77testexamples_BLASLAPACK:
78testexamples_SOWING:
79testexamples_C2HTML:
80testexamples_BLACS:
81testexamples_SCALAPACK:
82testexamples_CMAKE:
83testexamples_AFTERIMAGE:
84testexamples_OPENMP:
85testexamples_NETCDF:
86testexamples_EXODUSII:
87
88buildexamples_C:
89	-@${OMAKE} testexamples_C TESTEXAMPLES_C=`echo ${TESTEXAMPLES_C} | sed s/runex[0-9]*[a-z0-9_]*//g`
90buildexamples_Cxx:
91	-@${OMAKE} testexamples_Cxx TESTEXAMPLES_CXX=`echo ${TESTEXAMPLES_CXX} | sed s/runex[0-9]*[a-z0-9_]*//g`
92buildexamples_C_X:
93	-@${OMAKE} testexamples_C_X TESTEXAMPLES_C_X=`echo ${TESTEXAMPLES_C_X} | sed s/runex[0-9]*[a-z0-9_]*//g`
94buildexamples_Fortran:
95	-@${OMAKE} testexamples_Fortran TESTEXAMPLES_FORTRAN=`echo ${TESTEXAMPLES_FORTRAN} | sed s/runex[0-9]*[a-z0-9_]*//g`
96buildexamples_C_X_MPIUni:
97	-@${OMAKE} testexamples_C_X_MPIUni TESTEXAMPLES_C_X_MPIUNI=`echo ${TESTEXAMPLES_C_X_MPIUNI} | sed s/runex[0-9]*[a-z0-9_]*//g`
98buildexamples_C_Complex:
99	-@${OMAKE} testexamples_C_Complex TESTEXAMPLES_C_COMPLEX=`echo ${TESTEXAMPLES_C_COMPLEX} | sed s/runex[0-9]*[a-z0-9_]*//g`
100buildexamples_C_NoComplex:
101	-@${OMAKE} testexamples_C_NoComplex TESTEXAMPLES_C_NOCOMPLEX=`echo ${TESTEXAMPLES_C_NOCOMPLEX} | sed s/runex[0-9]*[a-z0-9_]*//g`
102buildexamples_DATAFILESPATH:
103	-@${OMAKE} testexamples_DATAFILESPATH TESTEXAMPLES_DATAFILESPATH=`echo ${TESTEXAMPLES_DATAFILESPATH} | sed s/runex[0-9]*[a-z0-9_]*//g`
104buildexamples_Cxx_DATAFILESPATH:
105	-@${OMAKE} testexamples_Cxx_DATAFILESPATH TESTEXAMPLES_CXX_DATAFILESPATH=`echo ${TESTEXAMPLES_CXX_DATAFILESPATH} | sed s/runex[0-9]*[a-z0-9_]*//g`
106
107buildexamples_F90_DataTypes:
108	-@${OMAKE} testexamples_F90_DataTypes TESTEXAMPLES_F90_DATATYPES=`echo ${TESTEXAMPLES_F90_DATATYPES} | sed s/runex[0-9]*[a-z0-9_]*//g`
109buildexamples_Fortran_NoComplex:
110	-@${OMAKE} testexamples_Fortran_NoComplex TESTEXAMPLES_FORTRAN_NOCOMPLEX=`echo ${TESTEXAMPLES_FORTRAN_NOCOMPLEX} | sed s/runex[0-9]*[a-z0-9_]*//g`
111buildexamples_Fortran_MPIUni:
112	-@${OMAKE} testexamples_Fortran_MPIUni TESTEXAMPLES_FORTRAN_MPIUNI=`echo ${TESTEXAMPLES_FORTRAN_MPIUNI} | sed s/runex[0-9]*[a-z0-9_]*//g`
113buildexamples_Fortran_Complex:
114	-@${OMAKE} testexamples_Fortran_Complex TESTEXAMPLES_FORTRAN_COMPLEX=`echo ${TESTEXAMPLES_FORTRAN_COMPLEX} | sed s/runex[0-9]*[a-z0-9_]*//g`
115buildexamples_C_Complex_MPIUni:
116	-@${OMAKE} testexamples_C_Complex_MPIUni TESTEXAMPLES_C_COMPLEX_MPIUNI=`echo ${TESTEXAMPLES_C_COMPLEX_MPIUNI} | sed s/runex[0-9]*[a-z0-9_]*//g`
117buildexamples_F90:
118	-@${OMAKE} testexamples_F90 TESTEXAMPLES_F90=`echo ${TESTEXAMPLES_F90} | sed s/runex[0-9]*[a-z0-9_]*//g`
119buildexamples_F90_Complex:
120	-@${OMAKE} testexamples_F90_Complex TESTEXAMPLES_F90_COMPLEX=`echo ${TESTEXAMPLES_F90_COMPLEX} | sed s/runex[0-9]*[a-z0-9_]*//g`
121buildexamples_F90_NoComplex:
122	-@${OMAKE} testexamples_F90_NoComplex TESTEXAMPLES_F90_NOCOMPLEX=`echo ${TESTEXAMPLES_F90_NOCOMPLEX} | sed s/runex[0-9]*[a-z0-9_]*//g`
123buildexamples_F2003:
124	-@${OMAKE} testexamples_F2003 TESTEXAMPLES_2003=`echo ${TESTEXAMPLES_F2003} | sed s/runex[0-9]*[a-z0-9_]*//g`
125buildexamples_13:
126	-@${OMAKE} testexamples_13 TESTEXAMPLES_13=`echo ${TESTEXAMPLES_13} | sed s/runex[0-9]*[a-z0-9_]*//g`
127buildexamples_17:
128	-@${OMAKE} testexamples_17 TESTEXAMPLES_17=`echo ${TESTEXAMPLES_17} | sed s/runex[0-9]*[a-z0-9_]*//g`
129buildexamples_18:
130	-@${OMAKE} testexamples_18 TESTEXAMPLES_18=`echo ${TESTEXAMPLES_18} | sed s/runex[0-9]*[a-z0-9_]*//g`
131buildexamples_PARMETIS:
132	-@${OMAKE} testexamples_PARMETIS TESTEXAMPLES_PARMETIS=`echo ${TESTEXAMPLES_PARMETIS} | sed s/runex[0-9]*[a-z0-9_]*//g`
133buildexamples_METIS:
134	-@${OMAKE} testexamples_METIS TESTEXAMPLES_METIS=`echo ${TESTEXAMPLES_METIS} | sed s/runex[0-9]*[a-z0-9_]*//g`
135buildexamples_SPAI:
136	-@${OMAKE} testexamples_SPAI TESTEXAMPLES_SPAI=`echo ${TESTEXAMPLES_SPAI} | sed s/runex[0-9]*[a-z0-9_]*//g`
137buildexamples_ADIFOR:
138	-@${OMAKE} testexamples_ADIFOR TESTEXAMPLES_ADIFOR=`echo ${TESTEXAMPLES_ADIFOR} | sed s/runex[0-9]*[a-z0-9_]*//g`
139buildexamples_FFTW:
140	-@${OMAKE} testexamples_FFTW TESTEXAMPLES_FFTW=`echo ${TESTEXAMPLES_FFTW} | sed s/runex[0-9]*[a-z0-9_]*//g`
141buildexamples_FFTW_COMPLEX:
142	-@${OMAKE} testexamples_FFTW_COMPLEX TESTEXAMPLES_FFTW_COMPLEX=`echo ${TESTEXAMPLES_FFTW_COMPLEX} | sed s/runex[0-9]*[a-z0-9_]*//g`
143buildexamples_SAWS:
144	-@${OMAKE} testexamples_SAWS TESTEXAMPLES_SAWS=`echo ${TESTEXAMPLES_SAWS} | sed s/runex[0-9]*[a-z0-9_]*//g`
145buildexamples_VALGRIND:
146	-@${OMAKE} testexamples_VALGRIND TESTEXAMPLES_VALGRIND=`echo ${TESTEXAMPLES_VALGRIND} | sed s/runex[0-9]*[a-z0-9_]*//g`
147buildexamples_MATLAB:
148	-@${OMAKE} testexamples_MATLAB TESTEXAMPLES_MATLAB=`echo ${TESTEXAMPLES_MATLAB} | sed s/runex[0-9]*[a-z0-9_]*//g`
149buildexamples_MATLAB_ENGINE:
150	-@${OMAKE} testexamples_MATLAB_ENGINE TESTEXAMPLES_MATLAB_ENGINE=`echo ${TESTEXAMPLES_MATLAB_ENGINE} | sed s/runex[0-9]*[a-z0-9_]*//g`
151buildexamples_MUMPS:
152	-@${OMAKE} testexamples_MUMPS TESTEXAMPLES_MUMPS=`echo ${TESTEXAMPLES_MUMPS} | sed s/runex[0-9]*[a-z0-9_]*//g`
153buildexamples_SUPERLU:
154	-@${OMAKE} testexamples_SUPERLU TESTEXAMPLES_SUPERLU=`echo ${TESTEXAMPLES_SUPERLU} | sed s/runex[0-9]*[a-z0-9_]*//g`
155buildexamples_SUNDIALS:
156	-@${OMAKE} testexamples_SUNDIALS TESTEXAMPLES_SUNDIALS=`echo ${TESTEXAMPLES_SUNDIALS} | sed s/runex[0-9]*[a-z0-9_]*//g`
157buildexamples_SUITESPARSE:
158	-@${OMAKE} testexamples_SUITESPARSE TESTEXAMPLES_SUITESPARSE=`echo ${TESTEXAMPLES_SUITESPARSE} | sed s/runex[0-9]*[a-z0-9_]*//g`
159buildexamples_MKL_PARDISO:
160	-@${OMAKE} testexamples_MKL_PARDISO TESTEXAMPLES_MKL_PARDISO=`echo ${TESTEXAMPLES_MKL_PARDISO} | sed s/runex[0-9]*[a-z0-9_]*//g`
161buildexamples_SUPERLU_DIST:
162	-@${OMAKE} testexamples_SUPERLU_DIST TESTEXAMPLES_SUPERLU_DIST=`echo ${TESTEXAMPLES_SUPERLU_DIST} | sed s/runex[0-9]*[a-z0-9_]*//g`
163buildexamples_HYPRE:
164	-@${OMAKE} testexamples_HYPRE TESTEXAMPLES_HYPRE=`echo ${TESTEXAMPLES_HYPRE} | sed s/runex[0-9]*[a-z0-9_]*//g`
165buildexamples_HDF5:
166	-@${OMAKE} testexamples_HDF5 TESTEXAMPLES_HDF5=`echo ${TESTEXAMPLES_HDF5} | sed s/runex[0-9]*[a-z0-9_]*//g`
167buildexamples_CHACO:
168	-@${OMAKE} testexamples_CHACO TESTEXAMPLES_CHACO=`echo ${TESTEXAMPLES_CHACO} | sed s/runex[0-9]*[a-z0-9_]*//g`
169buildexamples_CHOMBO:
170	-@${OMAKE} testexamples_CHOMBO TESTEXAMPLES_CHOMBO=`echo ${TESTEXAMPLES_CHOMBO} | sed s/runex[0-9]*[a-z0-9_]*//g`
171buildexamples_TRIANGLE:
172	-@${OMAKE} testexamples_TRIANGLE TESTEXAMPLES_TRIANGLE=`echo ${TESTEXAMPLES_TRIANGLE} | sed s/runex[0-9]*[a-z0-9_]*//g`
173
174buildexamples_BOOST:
175	-@${OMAKE} testexamples_BOOST TESTEXAMPLES_BOOST=`echo ${TESTEXAMPLES_BOOST} | sed s/runex[0-9]*[a-z0-9_]*//g`
176buildexamples_TETGEN:
177	-@${OMAKE} testexamples_TETGEN TESTEXAMPLES_TETGEN=`echo ${TESTEXAMPLES_TETGEN} | sed s/runex[0-9]*[a-z0-9_]*//g`
178buildexamples_PTSCOTCH:
179	-@${OMAKE} testexamples_PTSCOTCH TESTEXAMPLES_PTSCOTCH=`echo ${TESTEXAMPLES_PTSCOTCH} | sed s/runex[0-9]*[a-z0-9_]*//g`
180buildexamples_PASTIX:
181	-@${OMAKE} testexamples_PASTIX TESTEXAMPLES_PASTIX=`echo ${TESTEXAMPLES_PASTIX} | sed s/runex[0-9]*[a-z0-9_]*//g`
182buildexamples_ML:
183	-@${OMAKE} testexamples_ML TESTEXAMPLES_ML=`echo ${TESTEXAMPLES_ML} | sed s/runex[0-9]*[a-z0-9_]*//g`
184buildexamples_CUSP:
185	-@${OMAKE} testexamples_CUSP TESTEXAMPLES_CUSP=`echo ${TESTEXAMPLES_CUSP} | sed s/runex[0-9]*[a-z0-9_]*//g`
186buildexamples_CUDA:
187	-@${OMAKE} testexamples_CUDA TESTEXAMPLES_CUDA=`echo ${TESTEXAMPLES_CUDA} | sed s/runex[0-9]*[a-z0-9_]*//g`
188buildexamples_YAML:
189	-@${OMAKE} testexamples_YAML TESTEXAMPLES_YAML=`echo ${TESTEXAMPLES_YAML} | sed s/runex[0-9]*[a-z0-9_]*//g`
190buildexamples_THREADCOMM:
191	-@${OMAKE} testexamples_THREADCOMM TESTEXAMPLES_THREADCOMM=`echo ${TESTEXAMPLES_THREADCOMM} | sed s/runex[0-9]*[a-z0-9_]*//g`
192buildexamples_MOAB:
193	-@${OMAKE} testexamples_MOAB TESTEXAMPLES_MOAB=`echo ${TESTEXAMPLES_MOAB} | sed s/runex[0-9]*[a-z0-9_]*//g`
194buildexamples_X:
195buildexamples_OPENGL:
196buildexamples_MPE:
197buildexamples_ESSL:
198buildexamples_MPI:
199buildexamples_BLASLAPACK:
200buildexamples_SOWING:
201buildexamples_C2HTML:
202buildexamples_BLACS:
203buildexamples_SCALAPACK:
204buildexamples_CMAKE:
205buildexamples_AFTERIMAGE:
206buildexamples_OPENMP:
207
208TESTMODE = testexamples
209
210alltests:
211	-@${RM} ${PETSC_ARCH}/lib/petsc/conf/alltests.log alltests.log
212	-@ln -s ${PETSC_ARCH}/lib/petsc/conf/alltests.log alltests.log
213	-@if [ "${PETSC_WITH_BATCH}" == "" ]; then make PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} stream NPMAX=4 | tee ${PETSC_ARCH}/lib/petsc/conf/alltests.log ;fi
214	-@${OMAKE} alltest PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} MPIEXEC="${MPIEXEC}" DATAFILESPATH=${DATAFILESPATH} 2>&1 | tee ${PETSC_ARCH}/lib/petsc/conf/alltests.log
215
216alltest:
217	-@for i in ${TEST_RUNS} ; do \
218          echo "******* Testing: ${TESTMODE}_$$i *******"; \
219	  ${OMAKE} PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} ACTION=${TESTMODE}_$$i MPIEXEC="${MPIEXEC}" NO_PRINT_DIR=yes tree ; \
220	done
221
222tests_DATAFILESPATH:
223	make ACTION=testexamples_DATAFILESPATH tree DATAFILESPATH=${DATAFILESPATH}
224
225
226