| set srcdir [lindex $argv 0] |
| set subdir [lindex $argv 1] |
| set objdir [lindex $argv 2] |
| |
| if [ file exists $objdir/setval.tmp ] { |
| source $objdir/setval.tmp |
| } else { |
| puts "ERROR: $objdir/setval.tmp doesn't exist" |
| } |
| if [ file exists $srcdir/$subdir/default_procs.tcl ] { |
| source "$srcdir/$subdir/default_procs.tcl" |
| } else { |
| puts "ERROR: $srcdir/$subdir/default_procs.tcl doesn't exist" |
| } |
| |
| set file $srcdir/../lib/target.exp |
| if [ file exists $file] { |
| source $file |
| } else { |
| puts "ERROR: $file doesn't exist" |
| } |
| # we load framework so we can use stuff like is3way |
| set file $srcdir/../lib/framework.exp |
| if [ file exists $file] { |
| source $file |
| } else { |
| puts "ERROR: $file doesn't exist" |
| } |
| # we load the remote stuff so we can test execute_anywhere |
| set file $srcdir/../lib/remote.exp |
| if [ file exists $file] { |
| source $file |
| } else { |
| puts "ERROR: $file doesn't exist" |
| } |
| |
| # |
| # Create a false target config array |
| # |
| set target_info(idp,name) "idp" |
| set target_info(idp,ldflags) "-Tidp.ld" |
| set target_info(idp,config) m68k-unknown-aout |
| set target_info(idp,cflags) "" |
| set target_info(idp,connect) "telnet" |
| set target_info(idp,target) "s12" |
| set target_info(idp,serial) "tstty12" |
| set target_info(idp,netport) "localhost:23" |
| set target_info(idp,baud) "9600" |
| # MVME target |
| set target_info(mvme,name) "mvme" |
| set target_info(mvme,ldflags) "-Tmvme.ld" |
| set target_info(mvme,config) m68k-unknown-aout |
| set target_info(mvme,cflags) "" |
| set target_info(mvme,connect) "telnet" |
| set target_info(mvme,target) "s12" |
| set target_info(mvme,serial) "tstty8" |
| set target_info(mvme,netport) "localhost:23" |
| set target_info(mvme,baud) "9600" |
| |
| # Test remote open. We try not to use any of the support procs in |
| # target.exp to for isolation testing. "target" is the name of the |
| # default array setup by the procs in target.exp. |
| |
| set timeout 100 |
| |
| # test list_target |
| |
| if { [list_targets] == "idp mvme" } { |
| puts "PASSED: list_targets" |
| } else { |
| puts "FAILED: list_targets" |
| } |
| push_config target idp |
| set matches 0 |
| if { $target_info(target,name) == "idp" } { |
| incr matches |
| } |
| if { $target_info(target,ldflags) == "-Tidp.ld" } { |
| incr matches |
| } |
| if { $target_info(target,config) == "m68k-unknown-aout" } { |
| incr matches |
| } |
| if { $target_info(target,cflags) == "" } { |
| incr matches |
| } |
| if { $target_info(target,connect) == "telnet" } { |
| incr matches |
| } |
| if { $target_info(target,target) == "s12" } { |
| incr matches |
| } |
| if { $target_info(target,serial) == "tstty12" } { |
| incr matches |
| } |
| if { $target_info(target,netport) == "localhost:23" } { |
| incr matches |
| } |
| if { $target_info(target,baud) == "9600" } { |
| incr matches |
| } |
| if { $matches == 9 } { |
| puts "PASSED: push_config target" |
| } else { |
| puts "FAILED: push_config target" |
| } |
| |
| # test pop_config target |
| pop_config target |
| set matches 0 |
| if { $target_info(target,name) == "" } { |
| incr matches |
| } |
| if { $target_info(target,ldflags) == "" } { |
| incr matches |
| } |
| if { $target_info(target,config) == "" } { |
| incr matches |
| } |
| if { $target_info(target,cflags) == "" } { |
| incr matches |
| } |
| if { $target_info(target,connect) == "" } { |
| incr matches |
| } |
| if { $target_info(target,target) == "" } { |
| incr matches |
| } |
| if { $target_info(target,serial) == "" } { |
| incr matches |
| } |
| if { $target_info(target,netport) == "" } { |
| incr matches |
| } |
| if { $target_info(target,baud) == "" } { |
| incr matches |
| } |
| if { $matches == 9 } { |
| puts "PASSED: pop_config target" |
| } else { |
| puts "FAILED: pop_config target" |
| } |
| |
| push_config host idp |
| set matches 0 |
| if { $target_info(host,name) == "idp" } { |
| incr matches |
| } |
| if { $target_info(host,ldflags) == "-Tidp.ld" } { |
| incr matches |
| } |
| if { $target_info(host,config) == "m68k-unknown-aout" } { |
| incr matches |
| } |
| if { $target_info(host,cflags) == "" } { |
| incr matches |
| } |
| if { $target_info(host,connect) == "telnet" } { |
| incr matches |
| } |
| if { $target_info(host,target) == "s12" } { |
| incr matches |
| } |
| if { $target_info(host,serial) == "tstty12" } { |
| incr matches |
| } |
| if { $target_info(host,netport) == "localhost:23" } { |
| incr matches |
| } |
| if { $target_info(host,baud) == "9600" } { |
| incr matches |
| } |
| if { $matches == 9 } { |
| puts "PASSED: push_config target" |
| } else { |
| puts "FAILED: push_config target" |
| } |
| |
| # test pop_config host |
| pop_config host |
| set matches 0 |
| if { $target_info(host,name) == "" } { |
| incr matches |
| } |
| if { $target_info(host,ldflags) == "" } { |
| incr matches |
| } |
| if { $target_info(host,config) == "" } { |
| incr matches |
| } |
| if { $target_info(host,cflags) == "" } { |
| incr matches |
| } |
| if { $target_info(host,connect) == "" } { |
| incr matches |
| } |
| if { $target_info(host,target) == "" } { |
| incr matches |
| } |
| if { $target_info(host,serial) == "" } { |
| incr matches |
| } |
| if { $target_info(host,netport) == "" } { |
| incr matches |
| } |
| if { $target_info(host,baud) == "" } { |
| incr matches |
| } |
| if { $matches == 9 } { |
| puts "PASSED: pop_config host" |
| } else { |
| puts "FAILED: pop_config host" |
| } |
| |
| # test execute_anywhere for a native environment |
| set host_triplet i586-unknown-linux |
| set target_triplet i586-unknown-linux |
| set build_triplet i586-unknown-linux |
| if { [string match "*setval.tmp*" [execute_anywhere "ls"]] } { |
| puts "PASSED: execute_anywhere, native" |
| } else { |
| puts "FAILED: execute_anywhere, native" |
| } |
| |
| # test execute_anywhere for a normal cross |
| set target_triplet m68k-unknown-coff |
| if { [string match "*testsuite" [execute_anywhere "pwd"]] } { |
| puts "PASSED: execute_anywhere, normal cross" |
| } else { |
| puts "FAILED: execute_anywhere, normal cross" |
| } |
| |
| # test execute_anywhere for a canadian cross |
| set build_triplet m68k-test-test |
| set target_info(host,connect) rlogin |
| set target_info(host,netport) $target_info(idp,netport) |
| set target_info(host,target) localhost |
| if { [string match "*FooBar*" [execute_anywhere "echo FooBar"]] } { |
| puts "PASSED: execute_anywhere, canadian cross" |
| } else { |
| puts "FAILED: execute_anywhere, canadian cross" |
| } |
| |
| # compile arg |
| # archive arg |
| # ranlib arg |
| # link_objects arg |