From patchwork Wed Aug 17 17:12:39 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 14712 Received: (qmail 80951 invoked by alias); 17 Aug 2016 17:18:40 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 80940 invoked by uid 89); 17 Aug 2016 17:18:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00, KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=1, 23, sk:string_ X-HELO: usplmg20.ericsson.net Received: from usplmg20.ericsson.net (HELO usplmg20.ericsson.net) (198.24.6.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 17 Aug 2016 17:18:29 +0000 Received: from EUSAAHC007.ericsson.se (Unknown_Domain [147.117.188.93]) by (Symantec Mail Security) with SMTP id DE.DE.02568.D4D94B75; Wed, 17 Aug 2016 19:22:21 +0200 (CEST) Received: from elxcz23q12-y4.dyn.mo.ca.am.ericsson.se (147.117.188.8) by smtps-am.internal.ericsson.com (147.117.188.93) with Microsoft SMTP Server (TLS) id 14.3.301.0; Wed, 17 Aug 2016 13:12:42 -0400 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH] Add remove-inferiors test Date: Wed, 17 Aug 2016 13:12:39 -0400 Message-ID: <20160817171239.24022-1-simon.marchi@ericsson.com> MIME-Version: 1.0 X-IsSubscribed: yes I noticed that the remove-inferiors command was not tested, and as I am doing some changes related to the user selection, I want to make sure I don't break it. For example, I want to make sure it's not possible to remove the current inferior. gdb/testsuite/ChangeLog: * gdb.multi/remove-inferiors.exp: New file. * gdb.multi/remove-inferiors.c: New file. --- gdb/testsuite/gdb.multi/remove-inferiors.c | 23 +++++++++ gdb/testsuite/gdb.multi/remove-inferiors.exp | 70 ++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 gdb/testsuite/gdb.multi/remove-inferiors.c create mode 100644 gdb/testsuite/gdb.multi/remove-inferiors.exp diff --git a/gdb/testsuite/gdb.multi/remove-inferiors.c b/gdb/testsuite/gdb.multi/remove-inferiors.c new file mode 100644 index 0000000..f78199f --- /dev/null +++ b/gdb/testsuite/gdb.multi/remove-inferiors.c @@ -0,0 +1,23 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2016 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +int +main (void) +{ + return 0; +} + diff --git a/gdb/testsuite/gdb.multi/remove-inferiors.exp b/gdb/testsuite/gdb.multi/remove-inferiors.exp new file mode 100644 index 0000000..c49b31d --- /dev/null +++ b/gdb/testsuite/gdb.multi/remove-inferiors.exp @@ -0,0 +1,70 @@ +# Copyright 2016 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +standard_testfile + +if { [build_executable ${testfile}.exp ${binfile} "${srcfile}" {debug}] != 0 } { + return -1 +} + +proc switch_to_inferior { num message } { + gdb_test "inferior ${num}" \ + "\\\[Switching to inferior ${num} \\\[\\\] \\\(\\\)\\\]" \ + "${message}" +} + +proc add_inferior { expected_num message } { + gdb_test "add-inferior" "Added inferior ${expected_num}" "${message}" +} + +proc test_remove_inferiors { } { + global binfile + + clean_restart ${binfile} + + # Add another inferior and switch to it. + add_inferior 2 "add second inferior" + switch_to_inferior 2 "switch to second inferior" + + # Test that it is not possible to remove the current inferior. + gdb_test "remove-inferiors 2" \ + "warning: Can not remove current symbol inferior 2." \ + "can't remove current inferior" + + # Test that it is possible to remove a non-active non-current inferior. + gdb_test_no_output "remove-inferiors 1" "remove non-current inferior" + + # Load binfile and start the inferior. + set binfile_re [string_to_regexp ${binfile}] + gdb_test "file ${binfile}" \ + "Reading symbols from ${binfile_re}...done." \ + "load binary" + + if {![runto_main]} { + fail "Couldn't run to main." + return + } + + # Add another inferior and switch to it. + add_inferior 3 "add third inferior" + switch_to_inferior 3 "switch to third inferior" + + # Test that it is not possible to remove an active non-current inferior. + gdb_test "remove-inferiors 2" \ + "warning: Can not remove active inferior 2." \ + "can't remove active inferior" +} + +test_remove_inferiors