Blame unit-tests/das-testsuite/das-test.0/scanner.b.exp

Packit a4aae4
Packit a4aae4
# expect/tcl code to test the das scanner
Packit a4aae4
# jhrg
Packit a4aae4
#
Packit a4aae4
# $Log: scanner.b.exp,v $
Packit a4aae4
# Revision 1.2  2002/06/03 22:21:16  jimg
Packit a4aae4
# Merged with release-3-2-9
Packit a4aae4
#
Packit a4aae4
# Revision 1.1.54.1  2001/11/01 00:43:52  jimg
Packit a4aae4
# Fixes to the scanners and parsers so that dataset variable names may
Packit a4aae4
# start with digits. I've expanded the set of characters that may appear
Packit a4aae4
# in a variable name and made it so that all except `#' may appear at
Packit a4aae4
# the start. Some characters are not allowed in variables that appear in
Packit a4aae4
# a DDS or CE while they are allowed in the DAS. This makes it possible
Packit a4aae4
# to define containers with names like `COARDS:long_name.' Putting a colon
Packit a4aae4
# in a variable name makes the CE parser much more complex. Since the set
Packit a4aae4
# of characters that people want seems pretty limited (compared to the
Packit a4aae4
# complete ASCII set) I think this is an OK approach. If we have to open
Packit a4aae4
# up the expr.lex scanner completely, then we can but not without adding
Packit a4aae4
# lots of action clauses to teh parser. Note that colon is just an example,
Packit a4aae4
# there's a host of characters that are used in CEs that are not allowed
Packit a4aae4
# in IDs.
Packit a4aae4
#
Packit a4aae4
# Revision 1.1  1996/07/16 16:54:42  jimg
Packit a4aae4
# Added.
Packit a4aae4
#
Packit a4aae4
#
Packit a4aae4
Packit a4aae4
global comp_output		# contains output from das-test_start
Packit a4aae4
global verbose			# this and srcdir are set by runtest.exp
Packit a4aae4
global srcdir
Packit a4aae4
Packit a4aae4
set test_name scanner.b
Packit a4aae4
Packit a4aae4
set prompt "das-test:"
Packit a4aae4
set timeout 2
Packit a4aae4
set pass 1
Packit a4aae4
Packit a4aae4
das-test_start s
Packit a4aae4
Packit a4aae4
expect {
Packit a4aae4
    "${prompt} " { 
Packit a4aae4
    }
Packit a4aae4
    timeout { 
Packit a4aae4
	send_user "Timeout\n"
Packit a4aae4
	set pass 0
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "0\r\n"
Packit a4aae4
    send $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "01\r\n"
Packit a4aae4
    send $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "0123456789\r\n"
Packit a4aae4
    send $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "0123456789123456789123456789\r\n"
Packit a4aae4
    send $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "+999\r\n"
Packit a4aae4
    set thing2 "\\+999\r\n" 
Packit a4aae4
    send $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing2}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "-999\r\n"
Packit a4aae4
    send -- $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "+256\r\n"
Packit a4aae4
    set thing2 "\\+256\r\n"
Packit a4aae4
    send $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing2}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "-256\r\n"
Packit a4aae4
    send -- $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "+255\r\n"
Packit a4aae4
    set thing2 "\\+255\r\n"
Packit a4aae4
    send $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing2}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    set thing "-255\r\n"
Packit a4aae4
    send -- $thing
Packit a4aae4
Packit a4aae4
    expect {
Packit a4aae4
	-re ".*WORD=${thing}${prompt} $" { 
Packit a4aae4
	}
Packit a4aae4
	timeout { 
Packit a4aae4
	    send_user "Timeout\n"
Packit a4aae4
	    set pass 0
Packit a4aae4
	}
Packit a4aae4
    }
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
if {$pass} {
Packit a4aae4
    pass $test_name
Packit a4aae4
} else {
Packit a4aae4
    fail $test_name
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
das-test_exit