-
Notifications
You must be signed in to change notification settings - Fork 266
/
Copy pathtst_ncgen_shared.sh
executable file
·153 lines (129 loc) · 3.01 KB
/
tst_ncgen_shared.sh
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#!/bin/sh
if test "x$srcdir" = x ; then srcdir=`pwd`; fi
. ../test_common.sh
# To add a new test,
# 1. put the .cdl file in the 'cdl' directory
# 2. put the result of running ncgen then ncdump
# into the directory 'expected' as .dmp
# 3. Modify the file tst_ncgen_shared.sh to add
# the test to the end of the TESTS4 variable
# or CLASSIC variable.
# 4. Add the new files into cdl/Makfile.am
# and expected/Makefile.am
set -e
RESULTSDIR="./results_$$"
#SHOWXFAILS=1
# Locate the cdl and expected directory
cdl="${srcdir}/cdl"
expected="${srcdir}/expected"
case "x${KFLAG}" in
x1) CLASSIC=1; MODE=3;;
x2) CLASSIC=1; MODE=3;;
x3) CLASSIC=0; MODE=4;;
x4) CLASSIC=1; MODE=3;;
*) echo "illegal KFLAG" ; exit 1;;
esac
# Define the set of tests that can be
# processed with either the -k nc3 or -k nc4 or -k nc7 flag
# The netcdf-3 tests are divided into two parts
# These test can be run when --enable-netcdf-4 is false
CLASSIC3="\
nc_enddef \
ref_tst_unicode \
ref_tst_utf8 \
simple_xy \
small \
nc_sync \
ref_tst_small \
small2 \
tst_ncml
n3time \
ref_tst_chardata \
ref_tst_nul3 \
ref_tst_long_charconst \
tst_chararray \
unlimtest1 \
ref_keyword"
NONCLASSIC3="\
test0 \
sfc_pres_temp \
fills \
c0 \
example_good \
pres_temp_4D \
ref_nctst \
ref_nctst_64bit_offset \
ref_ctest1_nc4 \
ref_ctest1_nc4c \
ref_nctst_netcdf4 \
ref_nctst_netcdf4_classic \
ref_tst_unlim2 \
ref_tst_names \
"
if test "${CLASSIC}" = "1" ; then
TESTS3="${CLASSIC3}"
else
TESTS3="${CLASSIC3} ${NONCLASSIC3}"
fi
# Define the set of tests that must be
# processed with the -k nc4 flag
TESTS4="\
ref_dimscope \
ref_typescope \
ref_tst_string_data \
ref_tst_comp \
ref_tst_comp2 \
ref_tst_comp3 \
ref_tst_group_data \
ref_tst_opaque_data \
ref_tst_solar_1 \
ref_tst_solar_2 \
ref_tst_enum_data \
ref_tst_special_atts \
ref_tst_nans \
ref_solar \
unlimtest2 \
ref_niltest \
ref_tst_h_scalar \
ref_tst_nul4 \
ref_tst_econst \
ref_tst_econst2 \
"
TESTS4="$TESTS4 ref_tst_vlen_data2"
# This causes an unfixed memory leak
MEMLEAK="ref_tst_vlen_data"
# These tests should not be cycle tested because ncdump loses information
NOCYCLE="ref_tst_econst"
SPECIALTESTS3="ref_tst_special_atts3"
SPECIALTESTS="${SPECIALTESTS3} ref_tst_special_atts"
XFAILTESTS=""
# Fails because ncdump does not output multiple unlim char types correctly
XFAILTESTS="ref_tst_unlim2 $XFAILTESTS"
# Fails because ?
XFAILTESTS="ref_const_test $XFAILTESTS"
# Fails because ?
XFAILTESTS="ref_tst_chardata $XFAILTESTS"
# Fails because ncdump is crashing
#XFAILTESTS="ref_tst_econst $XFAILTESTS"
# Following are generally not run
# Because of the size of their output
BIGTESTS3="\
bigf1 \
bigf2 \
bigr1 \
bigr2"
# Following deliberately produces a very large
# file: too large for netcdf to handle
# Currently not used because of space and time
# constraints
XFAILBIG="bigf3"
BIGTESTS4="ref_tst_solar_1"
# This test is both big and slow
# File was too large to reasonably include
# so I removed it
#BIGBIG3="gfs1"
BIGTESTS="${BIGTESTS3} ${BIGTESTS4} ${BIGBIG3}"
failcount=0
passcount=0
xfailcount=0
rm -fr $RESULTSDIR