mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
62 lines
2.4 KiB
Bash
62 lines
2.4 KiB
Bash
#! /bin/sh
|
|
#
|
|
# Copyright by The HDF Group.
|
|
# All rights reserved.
|
|
#
|
|
# This file is part of HDF5. The full HDF5 copyright notice, including
|
|
# terms governing use, modification, and redistribution, is contained in
|
|
# the COPYING file, which can be found at the root of the source code
|
|
# distribution tree, or in https://www.hdfgroup.org/licenses.
|
|
# If you do not have access to either file, you may request a copy from
|
|
# help@hdfgroup.org.
|
|
#
|
|
#
|
|
# Test script for the parallel flush test
|
|
#
|
|
# The parallel flush test uses two programs to test flush operations
|
|
# in parallel HDF5. The first program purposely exits without calling
|
|
# MPI_Finalize(), which is an error under the MPI standard and mpiexec
|
|
# in some implementations will return an error code even though all
|
|
# processes exit successfully. This script lets us swallow the error
|
|
# from the first program.
|
|
#
|
|
# True errors in the first program will be detected as errors in the
|
|
# second program, so watch out for that.
|
|
#
|
|
|
|
# The build (current) directory might be different than the source directory.
|
|
if test -z "$srcdir"; then
|
|
srcdir=.
|
|
fi
|
|
|
|
# Turn the $$ we use to avoid Autotools munging into $
|
|
#
|
|
# Allowing $$ to substitute in both the RUNPARALLEL string and the
|
|
# regexp is intentional. There doesn't seem to be a way around
|
|
# this using quote shenanigans. The downside is that there is a remote
|
|
# chance that the shell's pid will match a number in the RUNPARALLEL
|
|
# variable, but that seems less likely to cause problems than expecting
|
|
# library builders to specify two almost identical versions of the
|
|
# RUNPARALLEL command, one for use in scripts and one via Makefiles.
|
|
RUNPARALLELSCRIPT=`echo "@RUNPARALLEL@" | sed "s/$$/\$/g"`
|
|
|
|
# ==========================================
|
|
# Run the first parallel flush test program
|
|
# (note that we ignore any errors here)
|
|
# ==========================================
|
|
echo "*** NOTE ***********************************************************"
|
|
echo "You may see complaints from mpiexec et al. that not all processes"
|
|
echo "called MPI_Finalize(). This is an intended characteristic of the"
|
|
echo "test and should not be considered an error."
|
|
echo "********************************************************************"
|
|
eval ${RUNPARALLELSCRIPT} ./t_pflush1
|
|
|
|
|
|
# ===========================================
|
|
# Run the second parallel flush test program
|
|
# The return code of this call is the return
|
|
# code of the script.
|
|
# ===========================================
|
|
eval ${RUNPARALLELSCRIPT} ./t_pflush2
|
|
|