[TravisCI] OS X: running the whole test suite.

This commit is contained in:
Franck HOUSSEN
2020-08-09 13:02:29 +02:00
parent b350513ddc
commit e0c308841e
4 changed files with 64 additions and 33 deletions
+42 -29
View File
@@ -82,30 +82,7 @@ jobs:
name: "Fedora rawhide with mpich"
dist: bionic
script: ./scripts/travis_fedora.sh setup mpich rawhide
# osx <=> macOS 10.13 (high sierra)
- stage: osx
os: osx
osx_image: xcode11
before_install:
- brew list -1 | while read line; do brew unlink $line; done;
- brew list gcc || brew install gcc
- brew list cmake || brew install cmake
- brew list openblas || brew install openblas
- brew list lapack || brew install lapack
- brew list openmpi || brew install openmpi
- brew list arpack || brew install arpack && brew remove arpack # Test osx formula
- brew list -1 | while read line; do brew link --overwrite $line; done;
# full build but only partial testing as some tests crash on osx (no stack: if you get one, open an issue https://github.com/opencollab/arpack-ng/issues)
script: |
mkdir -p build && cd build && cmake -D EXAMPLES=ON -D MPI=ON -D ICB=ON .. && make VERBOSE=1 && \
make test ARGS="-R snbdr2_ex" && \
make test ARGS="-R dnbdr2_ex" && \
make test ARGS="-R cnbdr2_ex" && \
make test ARGS="-R znbdr2_ex" && \
make test ARGS="-R psndrv1_ex" && \
make test ARGS="-R pdndrv1_ex" && \
make test ARGS="-R pcndrv1_ex"
# osx
- stage: osx
os: osx
osx_image: xcode12
@@ -114,16 +91,52 @@ jobs:
- brew list gcc || brew install gcc
- brew list autoconf || brew install autoconf
- brew list automake || brew install automake
- brew list openmpi || brew install openmpi
- brew list -1 | while read line; do brew link --overwrite $line; done;
- softwareupdate --install -a
# full build and testing with Accelerate framework (xcode provides vecLib which stands for BLAS/LAPACK)
# note: -ff2c to convert fortran code to C, -fno-second-underscore to force underscoring of external symbols to link
script: |
./bootstrap && LIBS="-framework Accelerate" FFLAGS="-ff2c -fno-second-underscore" FCFLAGS="-ff2c -fno-second-underscore" ./configure --enable-icb --enable-mpi && make VERBOSE=1 && make check
- stage: osx
os: osx
osx_image: xcode12
before_install:
- brew list -1 | while read line; do brew unlink $line; done;
- brew list gcc || brew install gcc
- brew list cmake || brew install cmake
- brew list openblas || brew install openblas
- brew list lapack || brew install lapack
- brew list openmpi || brew install openmpi
- brew list arpack || brew install arpack && brew remove arpack # Test osx formula
- brew list -1 | while read line; do brew link --overwrite $line; done;
# full build but only partial testing as some tests crash on osx (no stack: if you get one, open an issue https://github.com/opencollab/arpack-ng/issues)
# full build and testing with openblas and lapack
# note: -ff2c to convert fortran code to C, -fno-second-underscore to force underscoring of external symbols to link
script: |
./bootstrap && ./configure --enable-mpi --enable-icb && make VERBOSE=1 && \
cd $TRAVIS_BUILD_DIR/EXAMPLES/BAND && make check TESTS="snbdr2 dnbdr2 cnbdr2 znbdr2" && \
cd $TRAVIS_BUILD_DIR/PARPACK/EXAMPLES/MPI && make check TESTS="psndrv1 pdndrv1 pcndrv1"
mkdir -p build && cd build && FFLAGS="-ff2c -fno-second-underscore" FCFLAGS="-ff2c -fno-second-underscore" cmake -DEXAMPLES=ON -DICB=ON -DMPI=ON .. && make VERBOSE=1 && make test
- stage: osx
os: osx
osx_image: xcode11
before_install:
- brew list -1 | while read line; do brew unlink $line; done;
- brew list gcc || brew install gcc
- brew list openblas || brew install openblas
- brew list lapack || brew install lapack
- brew list openmpi || brew install openmpi
- brew list arpack || brew install arpack # Test osx formula
- brew list -1 | while read line; do brew link --overwrite $line; done;
script: ls # Need fake script.
- stage: osx
os: osx
osx_image: xcode12
before_install:
- brew list -1 | while read line; do brew unlink $line; done;
- brew list gcc || brew install gcc
- brew list openblas || brew install openblas
- brew list lapack || brew install lapack
- brew list openmpi || brew install openmpi
- brew list arpack || brew install arpack # Test osx formula
- brew list -1 | while read line; do brew link --overwrite $line; done;
script: ls # Need fake script.
# ubuntu_precise <=> test "older" systems, without ICB, without cmake (too old to be supported)
- stage: ubuntu_precise
dist: precise
+4
View File
@@ -117,6 +117,10 @@ Furthermore, ARPACK-NG now provides CMake functionality:
$ make install
builds everything including examples and parallel support (with MPI).
On mac OS, with GNU compilers, you may need to customize options:
$ LIBS="-framework Accelerate" FFLAGS="-ff2c -fno-second-underscore" FCFLAGS="-ff2c -fno-second-underscore" ./configure
To build with code coverage:
$ mkdir build
+2 -4
View File
@@ -72,8 +72,7 @@ void real_symmetric_runner(double const& tol_check) {
}
// check number of ev found by arpack.
if (iparam[4] < nev /*arpack may succeed to compute more EV than expected*/ ||
info != 0) {
if (iparam[4] < nev) { /*arpack may succeed to compute more EV than expected*/
std::cout << "ERROR: iparam[4] " << iparam[4] << ", nev " << nev
<< ", info " << info << std::endl;
throw std::domain_error("Error inside ARPACK routines");
@@ -158,8 +157,7 @@ void complex_symmetric_runner(double const& tol_check) {
}
// check number of ev found by arpack.
if (iparam[4] < nev /*arpack may succeed to compute more EV than expected*/ ||
info != 0) {
if (iparam[4] < nev) { /*arpack may succeed to compute more EV than expected*/
std::cout << "ERROR: iparam[4] " << iparam[4] << ", nev " << nev
<< ", info " << info << std::endl;
throw std::domain_error("Error inside ARPACK routines");
+16
View File
@@ -56,11 +56,19 @@ AC_ARG_ENABLE([mpi],
[],
[AS_VAR_SET([enable_mpi], [no])])
AS_IF([test x"$enable_mpi" != x"no"], [
FCFLAGS_SAVE=$FCFLAGS
FCFLAGS=""
FFLAGS_SAVE=$FFLAGS
FFLAGS=""
AC_LANG_PUSH([Fortran 77])
AX_MPI([], AC_MSG_ERROR([could not compile a Fortran MPI test program]))
AC_SUBST([MPI_Fortran_LIBS], [$MPILIBS])
F77=$MPIF77
AC_LANG_POP([Fortran 77])
FCFLAGS=$FCFLAGS_SAVE
FFLAGS=$FFLAGS_SAVE
])
dnl See if compiling with ISO_C_BINDING support
@@ -137,6 +145,11 @@ if test x"$enable_icb" != x"no"; then
AC_LANG_POP([Fortran])
if test x"$enable_mpi" != x"no"; then
FCFLAGS_SAVE=$FCFLAGS
FCFLAGS=""
FFLAGS_SAVE=$FFLAGS
FFLAGS=""
AC_LANG_PUSH([Fortran])
AX_MPI([], AC_MSG_ERROR([could not compile a Fortran MPI test program]))
FC=$MPIFC
@@ -172,6 +185,9 @@ if test x"$enable_icb" != x"no"; then
]
)
AC_LANG_POP([C])
FCFLAGS=$FCFLAGS_SAVE
FFLAGS=$FFLAGS_SAVE
fi
AX_CXX_COMPILE_STDCXX(11)
else