Skip to content

Commit 05c1872

Browse files
committed
Merge pull request #49 from zbeekman/branch-1.0.0
Branch 1.0.0: enable Travis-CI Also fixes #42 as a side effect
2 parents 0dd833e + c7652aa commit 05c1872

File tree

2 files changed

+100
-2
lines changed

2 files changed

+100
-2
lines changed

.travis.yml

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
language: generic
2+
3+
env:
4+
global:
5+
- CACHE="$HOME/.local"
6+
- MPICH_VER="3.1.4"
7+
- MPICH_URL_HEAD="http://www.mpich.org/static/downloads/$MPICH_VER"
8+
- MPICH_URL_TAIL="mpich-${MPICH_VER}.tar.gz"
9+
- MPICH_DIR="$HOME/.local/usr/mpich"
10+
- OSX_PACKAGES="gcc cmake mpich"
11+
# homebrew bug requires MPI to be built from source, for now
12+
13+
matrix:
14+
include:
15+
- os: osx
16+
- os: linux
17+
sudo: false
18+
cache:
19+
directories:
20+
"$CACHE"
21+
addons:
22+
apt:
23+
sources:
24+
- george-edison55-precise-backports
25+
- ubuntu-toolchain-r-test
26+
packages:
27+
- gcc-5
28+
- gfortran-5
29+
- cmake-data
30+
- cmake
31+
32+
before_install:
33+
- |
34+
if [[ $TRAVIS ]] && [[ "X$TRAVIS_OS_NAME" = "Xosx" ]]; then
35+
brew update 2>brewupdate.err | tee brewupdate.log | head -n 1
36+
else
37+
[[ -d "$CACHE/bin" ]] || mkdir -p "$CACHE/bin"
38+
[[ -d "$MPICH_DIR" ]] || mkdir -p "$MPICH_DIR"
39+
export PATH="$CACHE/bin:$PATH"
40+
export FC=gfortran-5
41+
export CC=gcc-5
42+
$FC --version
43+
$CC --version
44+
cmake --version
45+
fi
46+
47+
install:
48+
- |
49+
if [[ $TRAVIS ]] && [[ "X$TRAVIS_OS_NAME" = "Xosx" ]]; then
50+
for pkg in $OSX_PACKAGES; do
51+
[[ "$(brew ls --versions $pkg)" ]] || brew install $pkg
52+
brew outdated $pkg || brew upgrade $pkg
53+
done
54+
else
55+
if ! ( [[ -x "$HOME/.local/bin/mpif90" ]] && [[ -x "$HOME/.local/bin/mpicc" ]] ); then
56+
# mpich install not cached
57+
if ( [[ $TRAVIS ]] && [[ "X$TRAVIS_BRANCH" == Xbranch-1.* ]] ); then
58+
install_prerequisites/build mpich "$MPICH_VER" "$MPICH_DIR" 4
59+
else
60+
# install_prerequisites/build is broken as of 2015.12.09 / 9d2edbb0 on master
61+
# argument parsing bug fixes haven't made it back into master yet...
62+
wget "${MPICH_URL_HEAD}/${MPICH_URL_TAIL}"
63+
mv "$MPICH_URL_TAIL" "$MPICH_DIR/.."
64+
pushd "$MPICH_DIR/.."
65+
tar -xzvf "$MPICH_URL_TAIL"
66+
cd "${MPICH_URL_TAIL%.tar.gz}"
67+
./configure --prefix="$MPICH_DIR"
68+
make -j 4
69+
make install
70+
popd
71+
fi
72+
for f in "$MPICH_DIR/bin/"*; do
73+
if [[ -x "$f" ]]; then
74+
ln -fs "$f" "$HOME/.local/bin/${f##*/}" && "${f##*/}" --version
75+
fi
76+
done
77+
fi
78+
fi
79+
80+
before_script:
81+
- mpif90 --version
82+
- export FC=mpif90
83+
- mpicc --version
84+
- export CC=mpicc
85+
- cmake --version
86+
87+
script:
88+
- mkdir cmake-build
89+
- cd cmake-build
90+
- cmake ..
91+
- make -j 4
92+
- ctest --verbose

CMakeLists.txt

+8-2
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,15 @@ if(opencoarrays_aware_compiler)
134134
add_mpi_test(coarray_burgers_pde 2 ${tests_root}/integration/pde_solvers/coarrayBurgers/coarray_burgers_pde)
135135
add_mpi_test(co_heat 2 ${tests_root}/integration/pde_solvers/coarrayHeatSimplified/co_heat)
136136

137+
execute_process (COMMAND uname -m
138+
OUTPUT_VARIABLE MACHINE_TYPE)
137139
if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux" )
138-
add_mpi_test(coarray_navier_stokes 2 ${tests_root}/integration/pde_solvers/navier-stokes/coarray_navier_stokes)
139-
set_property(TEST coarray_navier_stokes PROPERTY PASS_REGULAR_EXPRESSION "Test passed.")
140+
if ("${MACHINE_TYPE}" MATCHES "x86_64")
141+
if ( NOT (DEFINED ENV{TRAVIS}))
142+
add_mpi_test(coarray_navier_stokes 2 ${tests_root}/integration/pde_solvers/navier-stokes/coarray_navier_stokes)
143+
set_property(TEST coarray_navier_stokes PROPERTY PASS_REGULAR_EXPRESSION "Test passed.")
144+
endif()
145+
endif()
140146
endif()
141147
else()
142148
add_test(co_sum_extension ${tests_root}/unit/extensions/test-co_sum-extension.sh)

0 commit comments

Comments
 (0)