File: test-adios4dolfinx

package info (click to toggle)
adios4dolfinx 0.10.0.post0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 536 kB
  • sloc: python: 4,180; sh: 24; makefile: 7
file content (38 lines) | stat: -rwxr-xr-x 1,874 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
set -e

# allow for the possibility that MPI tests are run
# on systems with a single CPU
export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe

# OpenMPI 5 often sends uphelpful warnings to stderr, which are not actually errors:
#   opal/mca/btl/tcp/btl_tcp_proc.c:266:mca_btl_tcp_proc_create_interface_graph] Unable to find reachable pairing between local and remote interfaces
# This env variable was identified as a workaround in Bug#1087784, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1087784
export OMPI_MCA_btl_tcp_if_include=lo

DEB_HOST_ARCH=$( dpkg-architecture -qDEB_HOST_ARCH )

# tests randomly time out (both serial and MPI), see Bug#1124571
TEST_SELECTION="not (test_original_checkpoint or test_checkpointing)"

# s390x segfaults in all known tests. Something is amiss.
# Adios2 upstream acknowledges big-endian support is not tested.
# (some adios2 and dolfinx VTX tests fail, some pass)
# Assume all big-endian systems will fail adios4dolfinx and skip them all.
DEB_HOST_ARCH_ENDIAN=$(dpkg-architecture -qDEB_HOST_ARCH_ENDIAN)
if [ "x${DEB_HOST_ARCH_ENDIAN}" = "xbig" ]; then
  echo "Adios2 support is not tested on big-endian systems."
else
  n_proc=`nproc`
  echo "${n_proc} CPUs are available"
  for pyver in `py3versions -sv`; do
    # By default, pytest tmp_path retains the temporary directory for the last 3
    # pytest invocations.
    # Using the --basetemp option will remove the directory before every run,
    # effectively meaning the temporary directories of only the most recent run
    # will be kept. We definitely do not want to keep old runs, because they may
    # result in adios4dolfinx trying to read in output files generated with a
    # different PETSc scalar type (real vs complex).
    ${MPIEXEC} python$pyver -m pytest -v --basetemp=${AUTOPKGTEST_TMP} --color=no -k "${TEST_SELECTION}" tests
  done
fi