File: test_odb_exit_codes.sh

package info (click to toggle)
odc 1.6.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,140 kB
  • sloc: cpp: 21,984; f90: 3,707; sh: 966; ansic: 477; python: 389; makefile: 33
file content (207 lines) | stat: -rwxr-xr-x 7,795 bytes parent folder | download | duplicates (3)
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
#!/bin/bash

set -uex

# A unique working directory

wd=$(pwd)
test_wd=$(pwd)/test_odb_exit_codes

mkdir -p ${test_wd}
cd ${test_wd}

# In case we are resuming from a previous failed run, which has left output in the directory
rm *.csv *.odb foobar || true

# Create some test data

cat > data-1-2.csv <<EOF
col1:INTEGER,col2:REAL,col3:DOUBLE,col4:INTEGER,col5:BITFIELD[a:1;b:2;c:5],col6:INTEGER
1,1.23,4.56,7,999,0
123,0.0,0.0,321,888,0
321,0.0,0.0,123,777,0
0,3.25,0.0,0,666,0
0,0.0,3.25,0,555,0
EOF

odc import data-1-2.csv data-1.odb
odc import data-1-2.csv data-2.odb

[[ $(odc count data-1.odb) -eq 5 ]] || (echo "Unexpected number of rows in ODB data-1.odb" ; false)
[[ $(odc count data-2.odb) -eq 5 ]] || (echo "Unexpected number of rows in ODB data-2.odb" ; false)

cat > data-3.csv <<EOF
date@hdr:INTEGER,lat@hdr:REAL,lon@hdr:REAL,obsvalue@body:REAL
20210401,38.560001,-121.300003,101340.000000
20210401,38.560001,-121.300003,290.200012
20210401,38.560001,-121.300003,279.200012
20210401,38.560001,-121.300003,0.482687
20210401,38.560001,-121.300003,0.005781
EOF

odc import data-3.csv data-3.odb

[[ $(odc count data-3.odb) -eq 5 ]] || (echo "Unexpected number of rows in ODB data-3.odb" ; false)

# Helper functions

expect_error () {
    exit_code="${exit_code-0}"
    [[ "$exit_code" -eq 1 ]] || (echo "Unexpected exit code: $exit_code != 1" ; false)
    unset exit_code
}

expect_success () {
    exit_code="${exit_code-1}"
    [[ "$exit_code" -eq 0 ]] || (echo "Unexpected exit code: $exit_code != 0" ; false)
    unset exit_code
}

# Compact tool

odc compact || exit_code=$? ; expect_error
odc compact data-1.odb || exit_code=$? ; expect_error
odc compact data-1.odb data-compacted.odb && exit_code=$? ; expect_success
odc compact data-1.odb data-compacted.odb foobar || exit_code=$? ; expect_error
odc compact foobar data-compacted.odb || exit_code=$? ; expect_error
odc help compact && exit_code=$? ; expect_success

# Compare tool

odc compare || exit_code=$? ; expect_error
odc compare data-1.odb || exit_code=$? ; expect_error
odc compare data-1.odb data-2.odb && exit_code=$? ; expect_success
odc compare -dontCheckMissing data-1.odb data-2.odb && exit_code=$? ; expect_success
odc compare data-1.odb data-2.odb foobar || exit_code=$? ; expect_error
odc compare foobar data-2.odb || exit_code=$? ; expect_error
odc compare data-1.odb foobar || exit_code=$? ; expect_error
odc help compare && exit_code=$? ; expect_success

# Count tool

odc count || exit_code=$? ; expect_error
odc count data-1.odb && exit_code=$? ; expect_success
odc count foobar || exit_code=$? ; expect_error
odc count data-1.odb foobar || exit_code=$? ; expect_error
odc help count && exit_code=$? ; expect_success

# Index tool

odc index || exit_code=$? ; expect_error
#
# TODO: Check why this command does not work
#
# odc index data-3.odb && exit_code=$? ; expect_success
# odc index data-3.odb data-3.odb.idx && exit_code=$? ; expect_success
#
odc index data-3.odb data-3.odb.idx foobar || exit_code=$? ; expect_error
odc index foobar || exit_code=$? ; expect_error
odc help index && exit_code=$? ; expect_success

# Fixrowsize tool

odc fixrowsize || exit_code=$? ; expect_error
odc fixrowsize data-1.odb || exit_code=$? ; expect_error
odc fixrowsize data-1.odb data-fixed.odb && exit_code=$? ; expect_success
odc fixrowsize data-1.odb data-fixed.odb foobar || exit_code=$? ; expect_error
odc fixrowsize foobar data-fixed.odb || exit_code=$? ; expect_error
odc help fixrowsize && exit_code=$? ; expect_success

# Import tool

odc import || exit_code=$? ; expect_error
odc import data-3.csv || exit_code=$? ; expect_error
odc import data-3.csv data-4.odb && exit_code=$? ; expect_success
odc import data-3.csv data-4.odb foobar || exit_code=$? ; expect_error
odc import -d , data-3.csv data-4.odb && exit_code=$? ; expect_success
odc import foobar data-4.odb || exit_code=$? ; expect_error
odc help import && exit_code=$? ; expect_success

# List tool

odc ls || exit_code=$? ; expect_error
odc ls data-1.odb && exit_code=$? ; expect_success
odc ls data-1.odb foobar || exit_code=$? ; expect_error
odc ls -o data-1.txt data-1.odb && exit_code=$? ; expect_success
odc ls foobar || exit_code=$? ; expect_error
odc help ls && exit_code=$? ; expect_success

# Mdset tool

odc mdset || exit_code=$? ; expect_error
odc mdset "col6:INTEGER=1" || exit_code=$? ; expect_error
odc mdset "col6:INTEGER=1" data-1.odb || exit_code=$? ; expect_error
odc mdset "col6:INTEGER=1" data-1.odb data-set.odb && exit_code=$? ; expect_success
odc mdset "col6:INTEGER=1" data-1.odb data-set.odb foobar || exit_code=$? ; expect_error
odc mdset "col6:INTEGER=1" foobar data-set.odb || exit_code=$? ; expect_error
odc help mdset && exit_code=$? ; expect_success

# Merge tool

odc merge || exit_code=$? ; expect_error
odc merge -o data-merged.odb || exit_code=$? ; expect_error
odc merge -o data-merged.odb data-1.odb || exit_code=$? ; expect_error
odc merge -o data-merged.odb data-1.odb data-3.odb && exit_code=$? ; expect_success
odc merge -o data-merged.odb data-1.odb foobar || exit_code=$? ; expect_error
odc merge -o data-merged.odb foobar data-3.odb || exit_code=$? ; expect_error
odc merge data-1.odb data-3.odb && exit_code=$? ; expect_success
odc help merge && exit_code=$? ; expect_success

# Header tool

odc header || exit_code=$? ; expect_error
odc header data-1.odb && exit_code=$? ; expect_success
odc header -ddl data-1.odb && exit_code=$? ; expect_success
odc header data-1.odb data-2.odb || exit_code=$? ; expect_error
odc header data-1.odb foobar || exit_code=$? ; expect_error
odc header foobar || exit_code=$? ; expect_error
odc help header && exit_code=$? ; expect_success

# SQL tool

odc sql || exit_code=$? ; expect_error
odc sql -i data-1.odb || exit_code=$? ; expect_error
odc sql -i data-1.odb "select col1" && exit_code=$? ; expect_success
odc sql -T -i data-1.odb "select col1" && exit_code=$? ; expect_success
odc sql -i data-1.odb "select col1" foobar || exit_code=$? ; expect_error
odc sql -i foobar "select col1" || exit_code=$? ; expect_error
odc sql -i data-1.odb -f odb "select col1" || exit_code=$? ; expect_error
odc sql -i data-1.odb -f odb -o data-1-col1.odb "select col1" && exit_code=$? ; expect_success
odc help sql && exit_code=$? ; expect_success

# Set tool

odc set || exit_code=$? ; expect_error
odc set "col1=1" || exit_code=$? ; expect_error
odc set "col1=1" data-1.odb || exit_code=$? ; expect_error
odc set "col1=1" data-1.odb data-set.odb && exit_code=$? ; expect_success
odc set "col1=1" data-1.odb data-set.odb foobar || exit_code=$? ; expect_error
odc set "col1=1" data-1.odb data-set.odb foobar || exit_code=$? ; expect_error
odc set "colX=1" data-1.odb data-set.odb || exit_code=$? ; expect_error
odc help set && exit_code=$? ; expect_success

# Split tool

odc split || exit_code=$? ; expect_error
odc split data-1.odb || exit_code=$? ; expect_error
odc split data-1.odb data-1.{col1}.{col2}.odb && exit_code=$? ; expect_success
odc split data-1.odb data-1.{col1}.{col2}.odb foobar || exit_code=$? ; expect_error
odc split data-1.odb foobar || exit_code=$? ; expect_error
odc split foobar data-1.{col1}.{col2}.odb || exit_code=$? ; expect_error
odc help split && exit_code=$? ; expect_success

# XYV tool

odc xyv || exit_code=$? ; expect_error
odc xyv data-3.odb || exit_code=$? ; expect_error
odc xyv data-3.odb "obsvalue@body" || exit_code=$? ; expect_error
odc xyv data-3.odb "obsvalue@body" data-xyv.odb && exit_code=$? ; expect_success
odc xyv data-3.odb "obsvalue@body" data-xyv.odb foobar || exit_code=$? ; expect_error
odc xyv foobar "obsvalue@body" data-xyv.odb || exit_code=$? ; expect_error
odc xyv data-3.odb foobar data-xyv.odb || exit_code=$? ; expect_error
odc help xyv && exit_code=$? ; expect_success

# Clean up

cd ${wd}
rm -rf ${test_wd}