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
|
# expect/tcl code to test the das parser and scanner
# jhrg
#
# $Log: test.17.exp,v $
# Revision 1.10 2002/06/03 22:21:16 jimg
# Merged with release-3-2-9
#
# Revision 1.9.4.1 2001/11/01 00:43:52 jimg
# Fixes to the scanners and parsers so that dataset variable names may
# start with digits. I've expanded the set of characters that may appear
# in a variable name and made it so that all except `#' may appear at
# the start. Some characters are not allowed in variables that appear in
# a DDS or CE while they are allowed in the DAS. This makes it possible
# to define containers with names like `COARDS:long_name.' Putting a colon
# in a variable name makes the CE parser much more complex. Since the set
# of characters that people want seems pretty limited (compared to the
# complete ASCII set) I think this is an OK approach. If we have to open
# up the expr.lex scanner completely, then we can but not without adding
# lots of action clauses to teh parser. Note that colon is just an example,
# there's a host of characters that are used in CEs that are not allowed
# in IDs.
#
# Revision 1.9 2000/09/22 02:52:59 jimg
# Fixes to the tests to recognize some of the new error messages. Also,
# the test drivers were modified to catch the exceptions now thrown by
# some of the parsers.
#
# Revision 1.8 2000/06/16 18:15:01 jimg
# Merged with 3.1.7
#
# Revision 1.7.10.1 2000/06/15 02:24:57 jimg
# Fixed the tests: problems with PATH, etc. broke the tests on my new machine
#
# Revision 1.7 1999/03/24 23:42:22 jimg
# Added or updated for the new simple types (Int16, UInt16 and Float32)
#
# Revision 1.6 1997/05/13 23:29:18 jimg
# *** empty log message ***
#
# Revision 1.5 1997/03/27 18:19:58 jimg
# Update for version 2.13
#
# Revision 1.4 1996/11/13 19:23:44 jimg
# *** empty log message ***
#
# Revision 1.3 1996/08/12 22:22:18 jimg
# Changed for the new error message text from the parser.
#
# Revision 1.2 1996/04/05 22:00:13 jimg
# Misc Changes for release 2.0.1 of the core software - for developers.
#
# Revision 1.1 1995/02/16 15:34:52 jimg
# Added these tests. See comments in files in parent directory.
#
global comp_output # contains output from das-test_start
global verbose # this and srcdir are set by runtest.exp
global srcdir
# The variable `test_name' is the name of the das input file for this test.
set test_name test.17
# The variable `test_out' is a string that contains the text that should be
# stored in comp_output by das-test_start. The two strings should match
# exactly.
set test_out "Attributes {
test {
test_dods_errors {
Byte b \"this is not a byte\";
String b_explanation \"`\"this is not a byte\"' is not a Byte value.\";
Byte c -256;
String c_explanation \"`-256' is not a Byte value.\";
Byte e 2550;
String e_explanation \"`2550' is not a Byte value.\";
Byte f 2.55;
String f_explanation \"`2.55' is not a Byte value.\";
}
Byte d 255;
}
}"
das-test_start p $srcdir/$test_name
if ![string compare $test_out $comp_output] { # check comp_output
pass "$test_name"
} else {
fail "$test_name"
}
|