sci-physics/SU2: revert unbundling metis/parmetis (as fail tests)

The unbundling of metis/[armetis results in numerous failures
of tests, especially the Tutorial tests that are preferred
to be checked.

The revision with additional USE-flags is now '-r1xx'.

The changes also enable python tests;
add restriction '<dev-cpp/catch-3:0' with catch to be required
only with USE="test";

The USE="openmp" results in inf. run of Tutorial and TestCases tests
and USE="mixed-precision" results in test failures.
Assumed that this USE-flags should be maske, especcialy USE="openmp".

Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru>
This commit is contained in:
Sergey Torokhov
2022-12-09 01:02:31 +03:00
parent 208fac24ab
commit 46785f14e0
2 changed files with 43 additions and 41 deletions

View File

@@ -29,20 +29,15 @@ RDEPEND="
cgns? ( >=sci-libs/cgnslib-4 )
librom? ( sci-libs/libROM )
mkl? ( sci-libs/mkl )
mpi? (
sci-libs/metis
virtual/mpi[cxx]
)
mpi? ( virtual/mpi[cxx] )
mpp? ( sci-libs/Mutationpp:= )
openblas? ( sci-libs/openblas )
parmetis? ( sci-libs/parmetis )
pastix? (
<sci-libs/pastix-6[mpi?]
sci-libs/scotch
)
python? ( $(python_gen_cond_dep '
dev-python/mpi4py[${PYTHON_USEDEP}]
dev-python/wxpython[${PYTHON_USEDEP}]
dev-python/xlwt[${PYTHON_USEDEP}]
dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]
@@ -52,9 +47,7 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
dev-cpp/catch:0
dev-cpp/cli11:=
autodiff? (
sci-libs/CoDiPack:=
mpi? ( >sci-libs/MeDiPack-1.2:= )
@@ -65,7 +58,7 @@ DEPEND="
mpi? ( >sci-libs/MeDiPack-1.2:= )
)
tecio? ( >=dev-libs/boost-1.76.0:= )
test? ( dev-cpp/catch:0 )
test? ( <dev-cpp/catch-3:0 )
"
BDEPEND="
python? ( dev-lang/swig )
@@ -85,7 +78,7 @@ REQUIRED_USE="
mpi
|| ( openblas mkl )
)
test? ( mpi python )
test? ( mpi python tutorials )
?? ( openblas mkl )
?? ( directdiff pastix )
"
@@ -111,7 +104,7 @@ src_unpack() {
}
src_prepare(){
rm -rf externals/{CLI11,autotools,catch2,cgns,codi,medi,meson,metis,ninja,parmetis} || die
rm -rf externals/{CLI11,autotools,catch2,cgns,codi,medi,meson,ninja,opdi} || die
default
# boost Geometry requires c++14 since >=boost-1.75
@@ -120,8 +113,14 @@ src_prepare(){
# Force Disable parmetis support in meson.build (configure.ac has optional switch)
use !parmetis && { sed -i -e "/parmetis/Id" meson.build || die ; }
# Disable python-wrapper tests
sed -i "/append(pywrapper_/s/./#&/" TestCases/parallel_regression.py || die
# Disable failed tests
sed -i "/append(dyn_fsi/s/./#&/" TestCases/parallel_regression.py || die
sed -i "/append(fd_sp_pinArray_cht_2d_dp_hf/s/./#&/" TestCases/parallel_regression.py || die
if ! use directdiff ; then
# Disable TestCase('unsteady_cylinder_windowed_average')
sed -i "217s/./#&/" TestCases/parallel_regression_AD.py || die
fi
sed -i "/append(dyn_discadj_fsi/s/./#&/" TestCases/parallel_regression_AD.py || die
# Copy absence mesh file
if use test ; then
@@ -161,6 +160,16 @@ src_test() {
ln -s ../../${P}-build/SU2_DOT/src/SU2_DOT SU2_PY/SU2_DOT || die
ln -s ../../${P}-build/SU2_GEO/src/SU2_GEO SU2_PY/SU2_GEO || die
ln -s ../../${P}-build/SU2_SOL/src/SU2_SOL SU2_PY/SU2_SOL || die
ln -s ../../${P}-build/SU2_PY/pySU2/pysu2.py SU2_PY/pysu2.py || die
ln -s ../../${P}-build/SU2_PY/pySU2/_pysu2.so SU2_PY/_pysu2.so || die
if use autodiff ; then
ln -s ../../${P}-build/SU2_CFD/src/SU2_CFD_AD SU2_PY/SU2_CFD_AD || die
ln -s ../../${P}-build/SU2_DOT/src/SU2_DOT_AD SU2_PY/SU2_DOT_AD || die
ln -s ../../${P}-build/SU2_PY/pySU2/_pysu2ad.so SU2_PY/_pysu2ad.so || die
if use directdiff ; then
ln -s ../../${P}-build/SU2_CFD/src/SU2_CFD_DIRECTDIFF SU2_PY/SU2_CFD_DIRECTDIFF || die
fi
fi
export SU2_RUN="${S}/SU2_PY"
export SU2_HOME="${S}"
@@ -171,13 +180,22 @@ src_test() {
../${P}-build/UnitTests/test_driver || die
pushd TestCases/ || die
# Currently Tests always use mpi
if use mpi ; then
# if use tutorials ; then
# ${EPYTHON} tutorials.py || die
# fi
${EPYTHON} parallel_regression.py || die
if use tutorials ; then
${EPYTHON} tutorials.py || die
fi
if use autodiff ; then
${EPYTHON} parallel_regression_AD.py || die
else
${EPYTHON} parallel_regression.py || die
fi
else
${EPYTHON} serial_regression.py || die
if use autodiff ; then
${EPYTHON} serial_regression_AD.py || die
else
${EPYTHON} serial_regression.py || die
fi
fi
popd || die
}

View File

@@ -28,26 +28,7 @@
su2_deps += cgns_dep
su2_cpp_args += '-DHAVE_CGNS'
endif
@@ -91,23 +92,19 @@
su2_deps += mpi_dep
su2_cpp_args += '-DHAVE_MPI'
- # compile metis
- subdir('externals/metis')
-
# add metis dependency
+ metis_dep = dependency('metis')
su2_deps += metis_dep
su2_cpp_args += '-DHAVE_METIS'
- # compile parmetis
- subdir('externals/parmetis')
-
# add parmetis dependency
+ parmetis_dep = dependency('parmetis')
su2_deps += parmetis_dep
su2_cpp_args += '-DHAVE_PARMETIS'
@@ -108,6 +108,6 @@
# add medi dependency
if get_option('enable-autodiff') or get_option('enable-directdiff')
- codi_dep += declare_dependency(include_directories: ['externals/medi/include', 'externals/medi/src'])
@@ -81,12 +62,14 @@
su2_deps += librom_dep
@@ -205,19 +198,17 @@
@@ -205,19 +202,19 @@
endif
endforeach
-catch2_dep = declare_dependency(include_directories: 'externals/catch2/')
+catch2_dep = declare_dependency(include_directories: '/usr/include/catch2/')
+if get_option('enable-tests')
+ catch2_dep = declare_dependency(include_directories: '/usr/include/catch2/')
+endif
if get_option('enable-mpp')
- cmake = import('cmake')
@@ -104,7 +87,8 @@
if p.returncode() != 0
error(p.stdout())
endif
@@ -280,21 +271,3 @@
@@ -279,21 +274,3 @@
'''.format(get_option('prefix')+'/bin', meson.source_root(), get_option('enable-tecio'), get_option('enable-cgns'),
get_option('enable-autodiff'), get_option('enable-directdiff'), get_option('enable-pywrapper'), get_option('enable-mkl'),
get_option('enable-openblas'), get_option('enable-pastix'), get_option('enable-mixedprec'), get_option('enable-librom'), meson.build_root().split('/')[-1]))
-