aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/lib/emc-support.exp
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/lib/emc-support.exp')
-rw-r--r--gdb/testsuite/lib/emc-support.exp223
1 files changed, 0 insertions, 223 deletions
diff --git a/gdb/testsuite/lib/emc-support.exp b/gdb/testsuite/lib/emc-support.exp
deleted file mode 100644
index 70bf2df..0000000
--- a/gdb/testsuite/lib/emc-support.exp
+++ /dev/null
@@ -1,223 +0,0 @@
-proc gdb_emc_readvar { varname } {
- global gdb_prompt;
-
- set result -1;
- send_gdb "print $varname\n"
- gdb_expect 5 {
- -re "\[$\].*= (\[0-9\]+).*$gdb_prompt $" {
- set result $expect_out(1,string);
- }
- -re "$gdb_prompt $" { }
- default { }
- }
- return $result;
-}
-
-proc gdb_emc_gettpnum { testname } {
- global gdb_prompt;
-
- if { $testname != "" } {
- gdb_test "trace $testname" "" ""
- }
- return [gdb_emc_readvar "\$tpnum"];
-}
-
-proc gdb_emc_setactions { testname actionname args } {
- global gdb_prompt;
-
- set state 0;
- set status "pass";
- send_gdb "actions $actionname\n";
- set expected_result "";
- gdb_expect 5 {
- -re "No tracepoint number .*$gdb_prompt $" {
- fail $testname
- return 1;
- }
- -re "Enter actions for tracepoint $actionname.*>" {
- if { [llength $args] > 0 } {
- set lastcommand "[lindex $args $state]";
- send_gdb "[lindex $args $state]\n";
- incr state;
- set expected_result [lindex $args $state];
- incr state;
- } else {
- send_gdb "end\n";
- }
- exp_continue;
- }
- -re "\(.*\[\r\n\]+)\[ \t]*> $" {
- if { $expected_result != "" } {
- # Remove echoed command and its associated newline.
- regsub "^\[^\r\n\]+\[\r\n\]+" "$expect_out(1,string)" "" out;
- # Strip off any newlines at the end of the string.
- regsub "\[\r\n\]+$" "$out" "" out;
- verbose "expected '$expected_result', got '$out', expect_out is '$expect_out(1,string)'";
- if ![regexp $expected_result $out] {
- set status "fail";
- }
- set expected_result "";
- }
- if { $state < [llength $args] } {
- send_gdb "[lindex $args $state]\n";
- incr state;
- set expected_result [lindex $args $state];
- incr state;
- } else {
- send_gdb "end\n";
- set expected_result "";
- }
- exp_continue;
- }
- -re "\(.*\)$gdb_prompt $" {
- if { $expected_result != "" } {
- if ![regexp $expected_result $expect_out(1,string)] {
- set status "fail";
- }
- set expected_result "";
- }
- if { [llength $args] < $state } {
- set status "fail";
- }
- }
- default {
- set status "fail";
- }
- }
- if { $testname != "" } {
- $status $testname;
- }
- if { $status == "pass" } then {
- return 0;
- } else {
- return 1;
- }
-}
-
-#
-# test collect command
-#
-
-proc gdb_emc_tracetest_collect { arg1 msgstring } {
- global decimal
- global gdb_prompt;
-
- set teststate 0
- gdb_expect 30 {
- -re "Enter actions for tracepoint $decimal.*> $" {
- send_gdb "collect $arg1\n"
- incr teststate;
- exp_continue
- }
- -re "> $" {
- if { $teststate == 1 } {
- send_gdb "end\n"
- incr teststate;
- exp_continue
- } else {
- fail "$msgstring"
- }
- }
- -re ".*$gdb_prompt $" {
- if { $teststate == 2 } {
- pass "$msgstring";
- } else {
- fail "$msgstring";
- }
- }
- default {
- fail "$msgstring (default)";
- }
- }
- regsub -all "(\[($@*+)\])" "collect $arg1" "\[\\1\]" arg1_regexp;
- gdb_test "info tracepoints" ".*$arg1_regexp.*" "$msgstring info tracepoint"
-}
-
-proc gdb_delete_tracepoints { } {
- global gdb_prompt;
-
- send_gdb "delete tracepoints\n"
- gdb_expect 30 {
- -re "Delete all tracepoints.*y or n.*$" {
- send_gdb "y\n"
- exp_continue;
- }
- -re "$gdb_prompt $" { }
- timeout { fail "delete all tracepoints (timeout)" }
- }
-}
-
-
-# Send each command in the list CMDLIST to gdb. If we see the string
-# "error" or "warning" from gdb, we assume an error has occured and
-# return a non-zero result. All of the commands in CMDLIST are always
-# sent, even if an error occurs.
-# If TESTNAME is non-null, we call pass or fail with the string in TESTNAME
-# depending on whether or not an error/warning has occurred.
-#
-proc gdb_do_cmdlist { cmdlist testname } {
- global gdb_prompt;
-
- set status 0;
-
- foreach x $cmdlist {
- send_gdb "$x\n";
- gdb_expect 60 {
- -re "\[Ee\]rror|\[Ww\]arning" {
- set status 1;
- exp_continue;
- }
- -re "$gdb_prompt $" { }
- -re "\[\r\n\]\[ \t\]*> *$" { }
- }
- }
- if { $testname != "" } {
- if { $status == 0 } {
- pass "$testname";
- } else {
- fail "$testname";
- }
- }
- return $status;
-}
-
-#
-# Given the file FILENAME, we read it as a list of commands and generate
-# a list suitable for use by gdb_do_cmdlist. Lines beginning with # are
-# ignored; blank lines are interpreted as empty lines to be sent to gdb.
-#
-proc gdb_process_cmdfile { filename } {
- set id [open $filename "r"];
- if { $id < 0 } {
- return "";
- }
- set result {};
- while { [gets $id line] >= 0 } {
- if [regexp "^#" $line] {
- continue;
- }
- set result [concat $result [list "$line"]];
- }
- close $id;
- return $result;
-}
-
-# gdb_find_c_test_baseline
-# returns -1 on failure (CALLER MUST CHECK RETURN!)
-proc gdb_find_c_test_baseline { } {
- global gdb_prompt;
-
- set gdb_c_test_baseline -1;
-
- send_gdb "list gdb_c_test\n"
- gdb_expect {
- -re "void.*p5,.*void.*p6.*\[\r\n\](\[0-9\]+)\[\t \]+\{.*$gdb_prompt $" {
- set gdb_c_test_baseline $expect_out(1,string)
- }
- -re "$gdb_prompt $" { }
- default { }
- }
- return $gdb_c_test_baseline;
-}
-
-