Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

paraview: add simple validation test #43

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions validation_tests/paraview/build/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
paraview-examples/
6 changes: 6 additions & 0 deletions validation_tests/paraview/clean.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

. ./setup.sh

# Remove the examples resources.
rm -rf build/paraview-examples/
64 changes: 64 additions & 0 deletions validation_tests/paraview/compile.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#!/bin/bash

set -e

#----------------------------------------
# Variables for use later
#----------------------------------------
readonly workdir="build"
paraview_version="$( spack find --format '{version}' "/${PARAVIEW_HASH}" )"
readonly paraview_version
paraview_variants="$( spack find --format '{variants}' "/${PARAVIEW_HASH}" )"
readonly paraview_variants

paraview_has_variant () {
local query="$1"
readonly query

shift

echo "$paraview_variants" | \
grep -q -e "+${query}\>"
}

if paraview_has_variant "shared"; then
paraview_is_shared=true
else
paraview_is_shared=false
fi
readonly paraview_is_shared

#----------------------------------------
# ParaView upstream examples
#----------------------------------------

# First clone ParaView and run its examples.
mkdir -p "$workdir/paraview-examples" # Must be removed in `clean.sh`
pushd "$workdir/paraview-examples"
# We do not need submodules. Also check out the version of ParaView the package
# has to ensure that the examples agree.
git clone --depth 1 -b "v${paraview_version}" https://gitlab.kitware.com/paraview/paraview.git src

paraview_examples_src="$( pwd )/src"
readonly paraview_examples_src

readonly paraview_examples_args=(
"-DCMAKE_PREFIX_PATH=$paraview_ROOT"
"-DBUILD_SHARED_LIBS=$paraview_is_shared"
"$paraview_examples_src/Examples"
)

# Build with Ninja
mkdir build-ninja
pushd build-ninja
cmake -G Ninja "${paraview_examples_args[@]}"
cmake --build .
popd

# Build with Makefiles
mkdir build-make
pushd build-make
cmake -G "Unix Makefiles" "${paraview_examples_args[@]}"
cmake --build .
popd
popd
14 changes: 14 additions & 0 deletions validation_tests/paraview/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash

set -e

#----------------------------------------
# Variables for use later
#----------------------------------------
readonly workdir="build"

#----------------------------------------
# ParaView upstream examples
#----------------------------------------
ctest --output-on-failure --test-dir "$workdir/paraview-examples/build-ninja"
ctest --output-on-failure --test-dir "$workdir/paraview-examples/build-make"
9 changes: 9 additions & 0 deletions validation_tests/paraview/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash
. ../../setup.sh

# Actually testing `paraview`
spackLoadUnique [email protected]:

# Also need `cmake`, and `ninja` to build test tests.
spackLoadUnique cmake
spackLoadUnique ninja