From 7eae7f474b0ed9f90222af79384b1881b87cd43a Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Fri, 20 May 2022 13:45:22 +0100 Subject: [PATCH] ECC-1392: Add tests --- examples/F90/CMakeLists.txt | 1 + examples/F90/codes_ecc-1392.f90 | 22 ++++++++++++++ examples/F90/codes_ecc-1392.sh | 52 +++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 examples/F90/codes_ecc-1392.f90 create mode 100755 examples/F90/codes_ecc-1392.sh diff --git a/examples/F90/CMakeLists.txt b/examples/F90/CMakeLists.txt index 1a4c27573..ce522de09 100644 --- a/examples/F90/CMakeLists.txt +++ b/examples/F90/CMakeLists.txt @@ -8,6 +8,7 @@ configure_file( include.ctest.sh.in include.ctest.sh @ONLY ) #################### if( HAVE_BUILD_TOOLS ) list( APPEND tests_sanity + codes_ecc-1392 grib_set_pv grib_set_data bufr_ecc-1284 diff --git a/examples/F90/codes_ecc-1392.f90 b/examples/F90/codes_ecc-1392.f90 new file mode 100644 index 000000000..656f5a323 --- /dev/null +++ b/examples/F90/codes_ecc-1392.f90 @@ -0,0 +1,22 @@ +! (C) Copyright 2005- ECMWF. +! +! This software is licensed under the terms of the Apache Licence Version 2.0 +! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. +! +! In applying this licence, ECMWF does not waive the privileges and immunities granted to it by +! virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. +! +! +program codes_ecc_1392 + use eccodes + implicit none + + integer :: ifile, igrib + character(len=60) :: inputfile + + call getarg(1, inputfile) + call codes_open_file(ifile, inputfile, 'R') + write (*, *) 'Opened file OK: |',inputfile,'|' + call grib_close_file(ifile) + +end program codes_ecc_1392 diff --git a/examples/F90/codes_ecc-1392.sh b/examples/F90/codes_ecc-1392.sh new file mode 100755 index 000000000..e387f248b --- /dev/null +++ b/examples/F90/codes_ecc-1392.sh @@ -0,0 +1,52 @@ +#!/bin/sh +# (C) Copyright 2005- ECMWF. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. +# +# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by +# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. +# + +. ./include.ctest.sh +set -u + +label="codes_ecc-1392_test_f" +TEMP_ERR=temp.$label.err + +# Create files with spaces in various places +# ------------------------------------------- +TEMP_INPUT="temp.$label.space in middle" +touch "$TEMP_INPUT" +${examples_dir}/eccodes_f_codes_ecc-1392 "$TEMP_INPUT" +rm -f "$TEMP_INPUT" + + +TEMP_INPUT=" temp.$label.space in beg" +touch "$TEMP_INPUT" +${examples_dir}/eccodes_f_codes_ecc-1392 "$TEMP_INPUT" +rm -f "$TEMP_INPUT" + + +# Test non-existent files +# ---------------------------- +TEMP_INPUT="temp.nonexistent.file" +set +e +${examples_dir}/eccodes_f_codes_ecc-1392 "$TEMP_INPUT" 2>$TEMP_ERR +status=$? +set -e +[ $status -ne 0 ] +fgrep -q "open_file: (temp.nonexistent.file) Input output problem" $TEMP_ERR + + +TEMP_INPUT="temp nonexistent file" +set +e +${examples_dir}/eccodes_f_codes_ecc-1392 "$TEMP_INPUT" 2>$TEMP_ERR +status=$? +set -e +[ $status -ne 0 ] +fgrep -q "open_file: (temp nonexistent file) Input output problem" $TEMP_ERR + + +# Clean up +rm -f $TEMP_ERR