|
Packit |
a4aae4 |
# Process with autom4te to create an -*- Autotest -*- test suite.
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
AT_INIT([expr-test])
|
|
Packit |
a4aae4 |
# AT_COPYRIGHT([])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
# AT_TESTED([expr-test])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
AT_ARG_OPTION_ARG([baselines],
|
|
Packit |
a4aae4 |
[--baselines=yes|no Build the baseline file for parser test 'arg'],
|
|
Packit |
a4aae4 |
[echo "baselines set to $at_arg_baselines";
|
|
Packit |
a4aae4 |
baselines=$at_arg_baselines],[baselines=])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
# Usage: _EXPR_TEST(<flags>, <dds>, <constraint>, <baseline file>, <xfail?>)
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
m4_define([_EXPR_TEST], [
|
|
Packit |
a4aae4 |
# AT_BANNER([Test $1 $2 $3])
|
|
Packit |
a4aae4 |
AT_SETUP([expr-test $1 $2 -k $3 ($5)])
|
|
Packit |
a4aae4 |
AT_KEYWORDS([expr])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
# Added || true because expr-test returns 0 (failure) for some of
|
|
Packit |
a4aae4 |
# these tests which is correct for the test - we expect some of
|
|
Packit |
a4aae4 |
# the input to trigger an error response from the parser, et
|
|
Packit |
a4aae4 |
# cetera. That's also why we capture both stdout and stderr -
|
|
Packit |
a4aae4 |
# successful runs are sent to stdout while the errors are sent to
|
|
Packit |
a4aae4 |
# stderr.
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
AS_IF([test -n "$baselines" -a x$baselines = xyes],
|
|
Packit |
a4aae4 |
[
|
|
Packit |
a4aae4 |
AT_CHECK([$abs_builddir/expr-test $1 $2 -k $3 -f "dummy" || true], [0], [stdout], [stderr])
|
|
Packit |
a4aae4 |
AT_CHECK([mv stdout $4.tmp])
|
|
Packit |
a4aae4 |
],
|
|
Packit |
a4aae4 |
[
|
|
Packit |
a4aae4 |
AT_CHECK([$abs_builddir/expr-test $1 $2 -k $3 -f "dummy" || true], [0], [stdout], [stderr])
|
|
Packit |
a4aae4 |
AT_CHECK([diff -b -B $4 stdout || diff -b -B $4 stderr], [0], [ignore])
|
|
Packit |
a4aae4 |
AT_XFAIL_IF([test "$5" = "xfail"])
|
|
Packit |
a4aae4 |
])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
AT_CLEANUP
|
|
Packit |
a4aae4 |
])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
m4_define([EXPR_RESPONSE_P], [
|
|
Packit |
a4aae4 |
# AT_BANNER([EXPR response for $1, $2, $4.])
|
|
Packit |
a4aae4 |
# Test the serialize/deserialize methods
|
|
Packit |
a4aae4 |
_EXPR_TEST([-w], [$abs_srcdir/expr-testsuite/$1], [$2], [$abs_srcdir/expr-testsuite/$3.base], $4)
|
|
Packit |
a4aae4 |
# Test the intern_data method (which combines serialize and deserialze)
|
|
Packit |
a4aae4 |
_EXPR_TEST([-W], [$abs_srcdir/expr-testsuite/$1], [$2], [$abs_srcdir/expr-testsuite/$3.base], $4)
|
|
Packit |
a4aae4 |
])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
# The -b option to expr-test uses the 'series values' feature of the Test
|
|
Packit |
a4aae4 |
# classes.
|
|
Packit |
a4aae4 |
m4_define([EXPR_RESPONSE_B], [
|
|
Packit |
a4aae4 |
# AT_BANNER([EXPR response for $1, $2, $4.])
|
|
Packit |
a4aae4 |
_EXPR_TEST([-b -w], [$abs_srcdir/expr-testsuite/$1], [$2], [$abs_srcdir/expr-testsuite/$3.base], $4)
|
|
Packit |
a4aae4 |
_EXPR_TEST([-b -W], [$abs_srcdir/expr-testsuite/$1], [$2], [$abs_srcdir/expr-testsuite/$3.base], $4)
|
|
Packit |
a4aae4 |
])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.1], [i], [test.1], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.1], [i,j], [test.1a], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.1], ['i,j&i=j'], [test.1b], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.1], ['i&i=j'], [test.1d], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.2], [s1], [test.2], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.2], [s2], [test.2a], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.2], [s2,s3], [test.2b], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.2], [s2[[2:2:4]],s3.o], [test.2c], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.2], [s2[[2:2:4]].m], [test.2d], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.2], [s2[[2:2:4]].m,s2[[2:2:4]].l], [test.2e], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.2a], [s2[[2:4]].m[[0:4]],s2[[2:4]].l[[0:5]]], [test.2f], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.3], [i[[1:10]]], [test.3], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.4], ['s&s=~"^Silly.*"'], [test.4], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
dnl In changing the TestStr class so that it writes a constant value (Silly ...: 1)
|
|
Packit |
a4aae4 |
dnl I had to hack this test to use the -b option to expr-test. EXPR_RESPONSE_P uses
|
|
Packit |
a4aae4 |
dnl only the -w/-W options, so I dropped using that macro kluge and went right for the
|
|
Packit |
a4aae4 |
dnl actual test macro. 12/2/13/ jhrg
|
|
Packit |
a4aae4 |
dnl
|
|
Packit |
a4aae4 |
dnl EXPR_RESPONSE_P([test.e], ['names.s&names.s=~".*: 3"'], [test.ea], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
_EXPR_TEST([-b -w], [$abs_srcdir/expr-testsuite/test.e], ['names.s&names.s=~".*: 3"'],
|
|
Packit |
a4aae4 |
[$abs_srcdir/expr-testsuite/test.ea.base], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
_EXPR_TEST([-b -W], [$abs_srcdir/expr-testsuite/test.e], ['names.s&names.s=~".*: 3"'],
|
|
Packit |
a4aae4 |
[$abs_srcdir/expr-testsuite/test.ea.base], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
dnl since 'Silly ...:5' will never be produced, this tests what happens when the sequence
|
|
Packit |
a4aae4 |
dnl does not contain the value. Note that this test does not have to be rewritten because
|
|
Packit |
a4aae4 |
dnl of the change to the TestStr code. 12/2/13 jhrg
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.e], ['names.s&names.s=~".*: 5"'], [test.eb], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.5], [g[[0:2:4]][[0]][[0]]], [test.5], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.5], [g[[0:2:4]][[0:2:4]][[0:2:4]]], [test.5a], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.6], [i], [test.6], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.6], [i[[1:2]][[2:4]]], [test.6a], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.5], [g.val[[0:1]][[0:1]][[0:1]]], [test.5b], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.5], [g.length], [test.5c], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.5], [g.length,g.width], [test.5d], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.2], [j,o], [test.2g], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.8], ["data%23i[[0:2:9]][[0:2]]"], [test.8], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.7], [x,y,f], [test.7], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.8], ["x%23y,y"], [test.8a], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.8], ["data%20name,y"], [test.8b], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.9], ["Data-Set-2.fakeDim0[[0:3]],Data-Set-2.fakeDim1[[0:3]]"], [test.9], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.5], [g[[1:4:9]]], [test.5e], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.6], [i[[1:4:9]]], [test.6b], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
# New tests for server functions that take arrays and include array projections
|
|
Packit |
a4aae4 |
# Added 10/23/13 jhrg
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.6], [scale\(i,2\)], [test.6.func1], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.6], [scale\(i[[2:4]][[3:6]],2\)], [test.6.func2], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.5], [scale\(i[[3]],2\)], [test.5.func3], [pass])
|
|
Packit |
a4aae4 |
# This doesn't work yet 10/23/13 jhrg
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.5], [scale\(j,2\)], [test.5.func4], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.a], ["" -b], [test.a], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.a], ["&i<2000" -b], [test.aa], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.a], ["j&i>2000" -b], [test.ab], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.a], ["i,j&i<0" -b], [test.ac], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.b], ["" -b], [test.b], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.b], ["i,f" -b], [test.ba], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.b], ["i,f&i<2000" -b], [test.bb], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.b], ["i,f&f<0" -b], [test.bc], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.b], ["i,j&i<2000" -b], [test.bd], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.b], ["&i<0" -b], [test.be], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.d], ["" -b], [test.d], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.d], ["i,f,a" -b], [test.da], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.d], ["i,f,a&i<2000" -b], [test.db], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.d], ["i,f,a&f<0" -b], [test.dc], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.d], ["i,f,a&a<10" -b], [test.dd], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.d], ["i,f&i<2000" -b], [test.de], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.d], ["i&i<2000" -b], [test.df], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_P([test.d], ["i,f,a&i<0" -b], [test.dg], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.61], [i], [data.61a], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.61], [ i[[0:2]][[0:2]] ], [data.61b], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.61], [ i[[1:2]][[0:2]] ], [data.61c], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.61], [ i[[1:2]][[1:2]] ], [data.61d], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.c0], [SST], [data.z1], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.f], [""], [test.fa], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.f], ["&i<3000"], [test.fb], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
# tests for zero-length arrays. jhrg 1/28/16
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.21.dds], [""], [data.21], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.22.dds], [""], [data.22], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.23.dds], [""], [data.23], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.24.dds], [""], [data.24], [pass])
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
# Empty Structures. jhrg 1/29/16
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.25.dds], [""], [data.25], [pass])
|
|
Packit |
a4aae4 |
EXPR_RESPONSE_B([test.26.dds], [""], [data.26], [pass])
|
|
Packit |
a4aae4 |
|