From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2205) id 44F333861C30; Sat, 14 Mar 2020 17:03:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 44F333861C30 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1584205422; bh=dSSNnDcMpp4A/zjZUlSLfy87u7MFPSe+XRz3IWa9j4w=; h=From:To:Subject:Date:From; b=n1+fugFvyQgLHJ75Ic6CFk24ktR1XfWl+6rNRxSwAyzzil+RNY2UiPMLk99bJiXVm 3s9TF1ZO4mGk8HoWhzxLNcTRzfwN408+hEDwB0e+nWAE3RfSn/52QOKNpuwvuhFEVp FaRhrPKajlgyxXah2yvjFyfQwAJm75AJwU357of4= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Tom de Vries To: gdb-cvs@sourceware.org Subject: [binutils-gdb] [gdb/testsuite] Fix check-read1 FAILs in mi-fortran-modules.exp X-Act-Checkin: binutils-gdb X-Git-Author: Tom de Vries X-Git-Refname: refs/heads/master X-Git-Oldrev: 154151a6e303fa4b17e3597e3434a1c5999df8e1 X-Git-Newrev: ab44624cea74dca3e6d19c3275d9d5a8d381c084 Message-Id: <20200314170342.44F333861C30@sourceware.org> Date: Sat, 14 Mar 2020 17:03:42 +0000 (GMT) X-BeenThere: gdb-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 17:03:42 -0000 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ab44624cea74dca3e6d19c3275d9d5a8d381c084 commit ab44624cea74dca3e6d19c3275d9d5a8d381c084 Author: Tom de Vries Date: Sat Mar 14 18:03:39 2020 +0100 [gdb/testsuite] Fix check-read1 FAILs in mi-fortran-modules.exp When running test-case gdb.mi/mi-fortran-modules.exp with check-read1, I run into: ... FAIL: gdb.mi/mi-fortran-modules.exp: -symbol-info-module-functions (timeout) FAIL: gdb.mi/mi-fortran-modules.exp: -symbol-info-module-functions \ --name _all (unexpected output) FAIL: gdb.mi/mi-fortran-modules.exp: -symbol-info-module-functions \ --module mod[123] (unexpected output) FAIL: gdb.mi/mi-fortran-modules.exp: -symbol-info-module-variables \ (unexpected output) ... Fix this by using exp_continue. Tested on x86_64, using make target check and check-read1. gdb/testsuite/ChangeLog: 2020-03-14 Tom de Vries * gdb.mi/mi-fortran-modules.exp: Use exp_continue. Diff: --- gdb/testsuite/ChangeLog | 4 + gdb/testsuite/gdb.mi/mi-fortran-modules.exp | 116 ++++++++++++++++++++++++---- 2 files changed, 103 insertions(+), 17 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 520e4533fa5..07ed021aa1b 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2020-03-14 Tom de Vries + + * gdb.mi/mi-fortran-modules.exp: Use exp_continue. + 2020-03-14 Tom de Vries * gdb.threads/attach-many-short-lived-threads.exp: Read "info threads" diff --git a/gdb/testsuite/gdb.mi/mi-fortran-modules.exp b/gdb/testsuite/gdb.mi/mi-fortran-modules.exp index 4cd67f83a34..e7ee1b96e46 100644 --- a/gdb/testsuite/gdb.mi/mi-fortran-modules.exp +++ b/gdb/testsuite/gdb.mi/mi-fortran-modules.exp @@ -52,12 +52,55 @@ mi_gdb_test "103-symbol-info-modules --name moduse" \ "103\\^done,symbols=\{debug=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"41\",name=\"moduse\"\}\\\]\}\\\]\}" \ "-symbol-info-modules --name moduse" -mi_gdb_test "104-symbol-info-module-functions" \ - [join \ - [list \ - "104\\^done,symbols=\\\[(${system_module_symbols_pattern})*\{module=\"mod1\",files=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"21\",name=\"mod1::check_all\",type=\"void \\(void\\)\",description=\"void mod1::check_all\\(void\\);\"\}\\\]\}\\\]\},\{module=\"mod2\",files=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"30\",name=\"mod2::check_var_i\",type=\"void \\(void\\)\",description=\"void mod2::check_var_i\\(void\\);\"\}\\\]\}\\\]\},\{module=\"mod3\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"21\",name=\"mod3::check_all\",type=\"void \\(void\\)\",description=\"void mod3::check_all\\(void\\);\"\},\{line=\"27\",name=\"mod3::check_mod2\",type=\"void \\(void\\)\",description=\"void mod3::check_mod2\\(void\\);\"\}\\\]\}\\\]\}," \ - "\{module=\"modmany\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"35\",name=\"modmany::check_some\",type=\"void \\(void\\)\",description=\"void modmany::check_some\\(void\\);\"\}\\\]\}\\\]\},\{module=\"moduse\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"44\",name=\"moduse::check_all\",type=\"void \\(void\\)\",description=\"void moduse::check_all\\(void\\);\"\},\{line=\"49\",name=\"moduse::check_var_x\",type=\"void \\(void\\)\",description=\"void moduse::check_var_x\\(void\\);\"\}\\\]\}\\\]\}\\\]" ] "" ] \ - "-symbol-info-module-functions" +set test "-symbol-info-module-functions" +set cmd "104-symbol-info-module-functions" +set mod1_re \ + "\{module=\"mod1\",files=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"21\",name=\"mod1::check_all\",type=\"void \\(void\\)\",description=\"void mod1::check_all\\(void\\);\"\}\\\]\}\\\]\}" +set mod2_re \ + "\{module=\"mod2\",files=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"30\",name=\"mod2::check_var_i\",type=\"void \\(void\\)\",description=\"void mod2::check_var_i\\(void\\);\"\}\\\]\}\\\]\}" +set mod3_re \ + "\{module=\"mod3\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"21\",name=\"mod3::check_all\",type=\"void \\(void\\)\",description=\"void mod3::check_all\\(void\\);\"\},\{line=\"27\",name=\"mod3::check_mod2\",type=\"void \\(void\\)\",description=\"void mod3::check_mod2\\(void\\);\"\}\\\]\}\\\]\}" +set modmany_re \ + "\{module=\"modmany\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"35\",name=\"modmany::check_some\",type=\"void \\(void\\)\",description=\"void modmany::check_some\\(void\\);\"\}\\\]\}\\\]\}" +set moduse_re \ + "\{module=\"moduse\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"44\",name=\"moduse::check_all\",type=\"void \\(void\\)\",description=\"void moduse::check_all\\(void\\);\"\},\{line=\"49\",name=\"moduse::check_var_x\",type=\"void \\(void\\)\",description=\"void moduse::check_var_x\\(void\\);\"\}\\\]\}\\\]\}" +set state 0 +gdb_test_multiple $cmd $test -prompt $mi_gdb_prompt$ { + -re "104\\^done,symbols=\\\[" { + if { $state == 0 } { set state 1 } + exp_continue + } + -re "$mod1_re" { + if { $state == 1 } { incr state } + exp_continue + } + -re "$mod2_re" { + if { $state == 2 } { incr state } + exp_continue + } + -re "$mod3_re" { + if { $state == 3 } { incr state } + exp_continue + } + -re "$modmany_re" { + if { $state == 4 } { incr state } + exp_continue + } + -re "$moduse_re" { + if { $state == 5 } { incr state } + exp_continue + } + -re ${system_module_symbols_pattern} { + exp_continue + } + -re "\\\]\r\n$mi_gdb_prompt$" { + if { $state == 6 } { + pass $gdb_test_name + } else { + fail $gdb_test_name + } + } +} mi_gdb_test "105-symbol-info-module-functions --name _all" \ "105\\^done,symbols=\\\[\{module=\"mod1\",files=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"21\",name=\"mod1::check_all\",type=\"void \\(void\\)\",description=\"void mod1::check_all\\(void\\);\"\}\\\]\}\\\]\},\{module=\"mod3\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"21\",name=\"mod3::check_all\",type=\"void \\(void\\)\",description=\"void mod3::check_all\\(void\\);\"\}\\\]\}\\\]\},\{module=\"moduse\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"44\",name=\"moduse::check_all\",type=\"void \\(void\\)\",description=\"void moduse::check_all\\(void\\);\"\}\\\]\}\\\]\}\\\]" \ @@ -69,14 +112,53 @@ mi_gdb_test "106-symbol-info-module-functions --module mod\[123\]" \ set int4 [fortran_int4] -mi_gdb_test "107-symbol-info-module-variables" \ - [join \ - [list \ - "107\\^done,symbols=\\\[(${system_module_symbols_pattern})*\{module=\"mod1\",files=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"18\",name=\"mod1::var_const\",type=\"$int4\",description=\"$int4 mod1::var_const;\"\},\{line=\"17\",name=\"mod1::var_i\",type=\"$int4\",description=\"$int4 mod1::var_i;\"\}\\\]\}\\\]\},\{module=\"mod2\",files=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"28\",name=\"mod2::var_i\",type=\"$int4\",description=\"$int4 mod2::var_i;\"\}\\\]\}\\\]\}," \ - "\{module=\"mod3\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"18\",name=\"mod3::mod1\",type=\"$int4\",description=\"$int4 mod3::mod1;\"\},\{line=\"17\",name=\"mod3::mod2\",type=\"$int4\",description=\"$int4 mod3::mod2;\"\},\{line=\"19\",name=\"mod3::var_i\",type=\"$int4\",description=\"$int4 mod3::var_i;\"\}\\\]\}\\\]\},\{module=\"modmany\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"33\",name=\"modmany::var_a\",type=\"$int4\",description=\"$int4 modmany::var_a;\"\}," \ - "\{line=\"33\",name=\"modmany::var_b\",type=\"$int4\",description=\"$int4 modmany::var_b;\"\},\{line=\"33\",name=\"modmany::var_c\",type=\"$int4\",description=\"$int4 modmany::var_c;\"\},\{line=\"33\",name=\"modmany::var_i\",type=\"$int4\",description=\"$int4 modmany::var_i;\"\}\\\]\}\\\]\},\{module=\"moduse\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"42\",name=\"moduse::var_x\",type=\"$int4\",description=\"$int4 moduse::var_x;\"\},\{line=\"42\",name=\"moduse::var_y\",type=\"$int4\",description=\"$int4 moduse::var_y;\"\}\\\]\}\\\]\}\\\]" ] "" ] \ - "-symbol-info-module-variables" - - - - +set mod1_re \ + "\{module=\"mod1\",files=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"18\",name=\"mod1::var_const\",type=\"$int4\",description=\"$int4 mod1::var_const;\"\},\{line=\"17\",name=\"mod1::var_i\",type=\"$int4\",description=\"$int4 mod1::var_i;\"\}\\\]\}\\\]\}" +set mod2_re \ + "\{module=\"mod2\",files=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"28\",name=\"mod2::var_i\",type=\"$int4\",description=\"$int4 mod2::var_i;\"\}\\\]\}\\\]\}" +set mod3_re \ + "\{module=\"mod3\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"18\",name=\"mod3::mod1\",type=\"$int4\",description=\"$int4 mod3::mod1;\"\},\{line=\"17\",name=\"mod3::mod2\",type=\"$int4\",description=\"$int4 mod3::mod2;\"\},\{line=\"19\",name=\"mod3::var_i\",type=\"$int4\",description=\"$int4 mod3::var_i;\"\}\\\]\}\\\]\}" +set modmany_re \ + "\{module=\"modmany\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"33\",name=\"modmany::var_a\",type=\"$int4\",description=\"$int4 modmany::var_a;\"\},\{line=\"33\",name=\"modmany::var_b\",type=\"$int4\",description=\"$int4 modmany::var_b;\"\},\{line=\"33\",name=\"modmany::var_c\",type=\"$int4\",description=\"$int4 modmany::var_c;\"\},\{line=\"33\",name=\"modmany::var_i\",type=\"$int4\",description=\"$int4 modmany::var_i;\"\}\\\]\}\\\]\}" +set moduse_re \ + ",\{module=\"moduse\",files=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"42\",name=\"moduse::var_x\",type=\"$int4\",description=\"$int4 moduse::var_x;\"\},\{line=\"42\",name=\"moduse::var_y\",type=\"$int4\",description=\"$int4 moduse::var_y;\"\}\\\]\}\\\]\}" + +set cmd "107-symbol-info-module-variables" +set test "-symbol-info-module-variables" +set state 0 +gdb_test_multiple $cmd $test -prompt $mi_gdb_prompt$ { + -re "107\\^done,symbols=\\\[" { + if { $state == 0 } { set state 1 } + exp_continue + } + -re "$mod1_re" { + if { $state == 1 } { incr state } + exp_continue + } + -re "$mod2_re" { + if { $state == 2 } { incr state } + exp_continue + } + -re "$mod3_re" { + if { $state == 3 } { incr state } + exp_continue + } + -re "$modmany_re" { + if { $state == 4 } { incr state } + exp_continue + } + -re "$moduse_re" { + if { $state == 5 } { incr state } + exp_continue + } + -re ${system_module_symbols_pattern} { + exp_continue + } + -re "\\\]\r\n$mi_gdb_prompt$" { + if { $state == 6 } { + pass $gdb_test_name + } else { + fail $gdb_test_name + } + } +}