From patchwork Sun Jul 1 15:08:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 937586 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-480805-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="w7VvG5Fi"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41JYft0DGgz9s29 for ; Mon, 2 Jul 2018 01:08:20 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; q=dns; s= default; b=DzLqAshv23Who6swGzuzwnrHUx6VUatnaVotV5owKvS6kpJLstG3E HwLOW+PoZHR6XWaKVDPSzrRPGcPbMREafi3Jo7ad1mtO/G/VqNvzo+SM4mj79FPl 3Jj0kKv6l363EGis6AJvg0O7kLAtY1TIGH3Wo1iBv6Mvi653z8ODjg= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; s= default; bh=eFTi2S7qrLSsf5D6eN2EpnCTfPg=; b=w7VvG5FiuaArZW7Qzwdz n92WT22pOLEBbmng1zcricPVml0KoN3ognIcM6vjQ0dP/K1MhHj5NN1onb5y/mLf ON8efPX1/zjC8aLYEV6bqSt/8I8Xq+ak1olM/MOaBDVRsEkhsxtRK+orS2f174za STkVa1O8RILMJx/L6rxsbBY= Received: (qmail 25167 invoked by alias); 1 Jul 2018 15:08:12 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 25156 invoked by uid 89); 1 Jul 2018 15:08:12 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy=UD:gcc-dg.exp, sk:getabs, sk:get-abs, condition X-HELO: mx1.suse.de Received: from mx2.suse.de (HELO mx1.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 01 Jul 2018 15:08:10 +0000 Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 8D3F4AD9E for ; Sun, 1 Jul 2018 15:08:08 +0000 (UTC) Date: Sun, 1 Jul 2018 17:08:10 +0200 From: Tom de Vries To: gcc-patches@gcc.gnu.org Subject: [testsuite, committed] Fix get-absolute-line error handling Message-ID: <20180701150810.mmfwikyhngcpjqlc@delia> MIME-Version: 1.0 Content-Disposition: inline User-Agent: NeoMutt/20170912 (1.9.0) X-IsSubscribed: yes Hi, in factoring out get-absolute-line, I made a typo in a variable name used in an error message, which causes a tcl ERROR when the error condition is triggered. Fixed by this patch. This tcl ERROR didn't show up unless the error message was triggered by an error condition, which normally doesn't happen, so I've added a test in gcc.dg-selftests for that. Committed as obvious. Thanks, - Tom [testsuite] Fix get-absolute-line error handling 2018-07-01 Tom de Vries * gcc.dg-selftests/dg-final.exp (verify_call_1): Factor out of ... (verify_call): ... here. Move to toplevel. (verify_call_np, dg_final_directive_check_utils): New proc. (toplevel): Call dg_final_directive_check_utils. * lib/gcc-dg.exp (get-absolute-line): Fix typo in variable reference. --- gcc/testsuite/gcc.dg-selftests/dg-final.exp | 66 ++++++++++++++++++++--------- gcc/testsuite/lib/gcc-dg.exp | 2 +- 2 files changed, 47 insertions(+), 21 deletions(-) diff --git a/gcc/testsuite/gcc.dg-selftests/dg-final.exp b/gcc/testsuite/gcc.dg-selftests/dg-final.exp index 79ffeb3b14f..1d98666e137 100644 --- a/gcc/testsuite/gcc.dg-selftests/dg-final.exp +++ b/gcc/testsuite/gcc.dg-selftests/dg-final.exp @@ -25,29 +25,47 @@ load_lib "scanasm.exp" load_lib "scanwpaipa.exp" load_lib "scanltranstree.exp" load_lib "scanoffloadtree.exp" +load_lib "gcc-dg.exp" -proc dg_final_directive_check_num_args {} { - proc verify_call { args } { - set call_name [lindex $args 0] - set call_args [lindex $args 1] - set expected_error [lindex $args 2] - - set errMsg "" - catch { - eval $call_name $call_args - } errMsg - - if { "$errMsg" != "$call_name: $expected_error" } { - send_log "For call $call_name $call_args\n" - send_log "expected: $call_name: $expected_error\n" - send_log "but got: $errMsg\n" - fail "$call_name: $expected_error" - return - } else { - pass "$call_name: $expected_error" - } +proc verify_call_1 { args } { + set call_name [lindex $args 0] + set call_args [lindex $args 1] + set expected_error [lindex $args 2] + set testid [lindex $args 3] + + set errMsg "" + catch { + eval $call_name $call_args + } errMsg + + if { "$errMsg" != "$expected_error" } { + send_log "For call $call_name $call_args\n" + send_log "expected: $expected_error\n" + send_log "but got: $errMsg\n" + fail "$testid" + return + } else { + pass "$testid" } +} + +proc verify_call { args } { + set call_name [lindex $args 0] + set call_args [lindex $args 1] + set expected_error [lindex $args 2] + verify_call_1 $call_name $call_args "$call_name: $expected_error" \ + "$call_name: $expected_error" +} + +proc verify_call_np { args } { + set call_name [lindex $args 0] + set call_args [lindex $args 1] + set expected_error [lindex $args 2] + verify_call_1 $call_name $call_args "$expected_error" \ + "$call_name: $expected_error" +} +proc dg_final_directive_check_num_args {} { proc verify_args { args } { set proc_name [lindex $args 0] set min [lindex $args 1] @@ -98,9 +116,17 @@ proc dg_final_directive_check_num_args {} { unset testname_with_flags } +proc dg_final_directive_check_utils {} { + verify_call_np get-absolute-line [list "" bla] \ + "dg-line var bla used, but not defined" + verify_call_np get-absolute-line [list 1 bla] \ + "dg-line var bla used at line 1, but not defined" +} + if ![gcc_parallel_test_run_p dg-final] { return } gcc_parallel_test_enable 0 dg_final_directive_check_num_args +dg_final_directive_check_utils gcc_parallel_test_enable 1 diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index 6f88ce2213e..4f1796348c3 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -1085,7 +1085,7 @@ proc get-absolute-line { useline line } { eval set var_defined [info exists $varname] if { ! $var_defined } { if { "$useline" != "" } { - error "dg-line var $org_varname used at line $uselinenr, but not defined" + error "dg-line var $org_varname used at line $useline, but not defined" } else { error "dg-line var $org_varname used, but not defined" }