- #!/usr/bin/expect
-
- set SUGAR_EXECUTABLE $::env(SUGAR_EXECUTABLE)
- set BUILD_NAME 006.
-
- proc abort {reason} {
- puts "test failed $reason"
- exit 1
- }
-
- spawn -noecho $SUGAR_EXECUTABLE lex
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- expects
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
-
- # -------------------------------------------------------------------
-
- spawn -noecho $SUGAR_EXECUTABLE "fake_01.006.not_a_file" lex
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- "does not exist"
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
-
- # -------------------------------------------------------------------
-
- spawn -noecho $SUGAR_EXECUTABLE "fake_01.006.not_a_file" lex-all
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- "does not exist"
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
-
- # -------------------------------------------------------------------
-
- spawn -noecho $SUGAR_EXECUTABLE "tests/005/library.mol" lex merge
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- expects
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
-
- # -------------------------------------------------------------------
-
- spawn -noecho $SUGAR_EXECUTABLE merge
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- expects
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
-
- # -------------------------------------------------------------------
-
- spawn -noecho $SUGAR_EXECUTABLE parse
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- expects
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
-
- spawn -noecho $SUGAR_EXECUTABLE generate
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- expects
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
-
- file delete "/tmp/006.fake_target"
- spawn -noecho $SUGAR_EXECUTABLE "/tmp/006.fake_target" generate
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- "parsed output"
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
- if {[file exists "/tmp/006.fake_target"]} {
- abort "created a file even if it failed to compile anything"
- file delete "/tmp/006.fake_target"
- }
-
- # -------------------------------------------------------------------
-
- spawn -noecho $SUGAR_EXECUTABLE merge-all
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- expects
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
-
- spawn -noecho $SUGAR_EXECUTABLE assemble
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- expects
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value == 0} {
- abort "compiler didn't crash"
- }
-
- # -------------------------------------------------------------------
-
- spawn -noecho $SUGAR_EXECUTABLE help
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- Commands
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value != 0} {
- abort "compiler crashed displaying help"
- }
-
- # -------------------------------------------------------------------
-
- spawn -noecho $SUGAR_EXECUTABLE --help
- expect {
- error { abort "failed to parse" }
- eof { abort "failed silently" }
- Commands
- }
- expect eof
- lassign [wait] pid spawnid os_error_flag value
- if {$value != 0} {
- abort "compiler crashed displaying help"
- }
|