From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10541 invoked by alias); 24 Jun 2002 19:46:09 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 10531 invoked from network); 24 Jun 2002 19:46:07 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 24 Jun 2002 19:46:07 -0000 Received: from makita.cygnus.com (makita.sfbay.redhat.com [192.168.30.83]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id MAA29201 for ; Mon, 24 Jun 2002 12:46:06 -0700 (PDT) Received: from localhost (keiths@localhost) by makita.cygnus.com (8.8.8+Sun/8.6.4) with ESMTP id MAA25948 for ; Mon, 24 Jun 2002 12:46:06 -0700 (PDT) X-Authentication-Warning: makita.cygnus.com: keiths owned process doing -bs Date: Mon, 24 Jun 2002 12:46:00 -0000 From: Keith Seitz X-X-Sender: To: Subject: [MI/testsuite] mi_gdb_test: expected result priority? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-06/txt/msg00220.txt.bz2 Hi, I've been writing some MI tests for all the stuff that I've been adding, and I ran across an anomaly... When mi_gdb_test actually calls expect, it does: gdb_expect $tmt { -re "\\*\\*\\* DOSEXIT code.*" { if { $message != "" } { fail "$message"; } gdb_suppress_entire_file "GDB died"; return -1; } -re "Ending remote debugging.*$mi_gdb_prompt\[ \]*$" { if ![isnative] then { warning "Can`t communicate to remote target." } gdb_exit gdb_start set result -1 } -re "(${question_string})$" { send_gdb "$response_string\n"; exp_continue; } -re "Undefined.* command:.*$mi_gdb_prompt\[ \]*$" { perror "Undefined command \"$command\"." fail "$message" set result 1 } -re "Ambiguous command.*$mi_gdb_prompt\[ \]*$" { perror "\"$command\" is not a unique command name." fail "$message" set result 1 } -re "\[\r\n\]*($pattern)\[\r\n\]+$mi_gdb_prompt\[ \]*$" { if ![string match "" $message] then { pass "$message" } set result 0 } The astute reader will notice that the _real_ expected pattern by the caller is pre-empted by several other patterns. Therefore if one wanted to write a test to check for the string "Ambiguous command", well, you'd automatically get a fail. Likewise, if you wanted to write a test that checked for the string "Undefined command: \"bogus\". Try \"help\"." (which I am trying to do), one is screwed. Is there any particular reason to not move the real expected result pattern higher in the list (like to/near the top or something)?? Keith