From patchwork Mon Mar 13 21:27:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 19553 Received: (qmail 112982 invoked by alias); 13 Mar 2017 21:28:41 -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 112972 invoked by uid 89); 13 Mar 2017 21:28:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 13 Mar 2017 21:28:40 +0000 Received: from ESESSHC022.ericsson.se (Unknown_Domain [153.88.253.124]) by (Symantec Mail Security) with SMTP id CD.68.21407.60F07C85; Mon, 13 Mar 2017 22:28:38 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.84) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 13 Mar 2017 22:28:05 +0100 Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=ericsson.com; Received: from elxcz23q12-y4.ca.am.ericsson.se (192.75.88.130) by AM4PR07MB1715.eurprd07.prod.outlook.com (10.166.133.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.977.5; Mon, 13 Mar 2017 21:28:03 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 1/2] testsuite: Introduce dejagnu_version Date: Mon, 13 Mar 2017 17:27:48 -0400 Message-ID: <20170313212749.9607-1-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: SN1PR19CA0013.namprd19.prod.outlook.com (10.163.220.23) To AM4PR07MB1715.eurprd07.prod.outlook.com (10.166.133.23) X-MS-Office365-Filtering-Correlation-Id: 057af6ac-51f7-4f1e-6e2d-08d46a57d585 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:AM4PR07MB1715; X-Microsoft-Exchange-Diagnostics: 1; AM4PR07MB1715; 3:CxCKiMZBtA7Ac76fI7TJzd+Wv/2CvbPhbvar51R9gyEiAn/b+bamnSzdHSkucLtHQloAWlrVOqhp9XeLUcinWjda7adPs5yR4xucCt0Wqi8B55rwaisEFEqmYjXwYkhF32znL9YEFUao2yTcxkJcXVOLoYi4iBpHTkKfBXJGD28UwaTZ0IV7wbFR/5KqtZbIvW0o4aHHDdqBmwZcq9Gf9+QzeXabOfhJah/D99U4f3zTv5egAFsoVrBzWObB67C32Peqcug4v8hXbNEkHzkxJg==; 25:ziHjAk+a3VFCGC1aH/CFerwYA32KMtUNh4pKztamXDfP7K6w+nQHzNLBpsKmZ4W5NQ3Mjt6HjqMhhhy2bv/SaST76cHf7ZX3TF74bbkY3+t4hubCTfRHcnaN0Ipb7SSg6r5+ElxtXPr3kUPSFq+ZjfGE6UHaFOv+IMIipZIR/hvd46Pp7z+8SuQOvzjCjClW08mvFkxEFo+MCK3eMG6AfSAJp2fCwp3NjTJHcV3AtF49wZKp+h9rtpYwgCRa30K9Ow33ff9mXemUSURAWSb5nrHOZXoHTPNoJzuOxVTw5RrK2htG+xCK/vfFcyBBZEKGqifz9sY4iB2mjTnuxNPA7hH3K70Qpu7MzK1v/KDiIU7atY4kLQ3TOcpMpszjbnJxiEnhdMkzRDKWwG4QMsi81TxNWz9Qob9kg6Z9TpCrhnXY9Ds/At8r3DvXefwGWsbZi7O9RWcWWHD6Vnvc/xC3/Q== X-Microsoft-Exchange-Diagnostics: 1; AM4PR07MB1715; 31:sBfY14m/Ycww4clTGMsRvDsEIThUCUysXaCmCHUJcbAZDCWPxMfB5ZpFweQbOOPqHLzkIgfsjkYtD6TESs9JLvGbLQKdiggEK90qQpHYu1KO8mvPJD4+c8l1kzA81LnLD00lcXapvtmoHGYzlIq2cLeRTtLPx/QR9WyRDHfYE/XsvrUc4nEcAteN8VnuRmo1PEwGuSwHZDiDLTBJxCY1wOKCAcQKFcmTXO5Q/cY+XWmpDkls6q3n8BTxGWR5rN90; 20:itnB3peMhdLm64SYnmT0Dq97w1wD1QvSjgsnn8ra25Xe9STEHnxA46BVR2N8uwR8RcB3IFdhsLCLO6JKcX6e9eyS5TDFlIKISQWk1pOqc2zME17rXMjiTrEsN5S8pQWU80cC7mXgNCQzY+WuAUuFRLBYodkZt5GP1OdkM7K1JN2Q8SH9Jgw0lXqqepALSuqPsP1RlmjZXiCLacax6CYreEBqHAH78QFrR46qIgAJ4Y60tacf0FxnD2biFBHRcdn8wPhrf/BEKijQXVvaPI42tKhtfBOg2KdsrSSEUOP33+z+SO+WqjFQKfwnGxviLBrS35hLteeZ21nBCxmXSW54OAAk0/GSMouHHoKFoa9q2oL7UrrW3muo9ivlxS288zJfYEMOvXu4E7lHByyyaZye3o+93OmczTz/BQXCnwUSvkfNIrC6YCKGC2Zg/yU+T7pUmx6aXtXcBcLIF3sjO+AeO0YFhLi3FTyk78R6o837OJxFxK4NT3xcUJOf4aMQGbJj X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123562025)(20161123560025)(20161123558025)(20161123564025)(20161123555025)(6072148); SRVR:AM4PR07MB1715; BCL:0; PCL:0; RULEID:; SRVR:AM4PR07MB1715; X-Microsoft-Exchange-Diagnostics: 1; AM4PR07MB1715; 4:T/wdy4jBXs5NdE33P61pmvf2AACQL0xvn7hdrZrAt232RBscv3gFLkt/YHEq1yt3g2ZDi7T0PIg2eBSYAgLJ0uJq0/tIgC3en38WLagE8tbb5T7pS3URPkM5Z0mtnEboqPl+AMWH2uHGSJf+SWXwoOHsmw3rlNARkxIwiDvUdu8OPWE79Gt3pVMYjEo1weWbPfS9qApllU2+Pzf06h00qjHN+XfF5H43bKF0HXBLHXWLByEfLtLkbqqlmf6QVNV0p2fZ0KByVAK+pdzaX3+rjIbFAbaPDLyfPCWzPJ8etaWRzUI/6D1MudEVdDS4S4pi4S2+XalCJepVfRjMwhJhoGvOtyYeiPHLEYIH8NPht2ZgZaptXx68yU/1LzyE/KcVU2oy4KmJn0ndMv2jepm5HvHpDq9J91LvvOiL0Tnjpgd2urbnUmYxjPKbZS6mp7avmQZPSDgaI7HPbEpZoRLG+acXyaa3acAWkTFeUz90w1aHS2epAF7FujphckGFj3U7HrI6zwPxTOFm5oLRi6IVHzviPM3vd7JXacbnxzS3lNOHD/78IHJz4MoJShIAgYKd8R7HX7dz66gqq+DUVhsJM+5PQwICS0kgCujEpTqH+/o= X-Forefront-PRVS: 0245702D7B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39450400003)(5890100001)(2351001)(6506006)(50986999)(50466002)(48376002)(81166006)(33646002)(86362001)(5003940100001)(25786008)(42186005)(110136004)(36756003)(6486002)(8676002)(107886003)(38730400002)(189998001)(53936002)(4326008)(66066001)(305945005)(50226002)(5660300001)(1076002)(47776003)(3846002)(7736002)(6512007)(6116002)(2906002)(6916009)(6666003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR07MB1715; H:elxcz23q12-y4.ca.am.ericsson.se; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; AM4PR07MB1715; 23:DhA1GQ6don0vl7F2pDNbUdj18BamQhW7K6aGoL1eQQPw3VMsIrBxuB8+L8gL0mkND5Ov7gJY/dMRB3ToidUH5XFEI6ylWU6JN5m/70IMXlE2rHxkJbkh2rpa7aKPp1hwaCMeDc56aETKH78mweqPx8Y4EZeL9Oj+M2AizvvGJwLamojOI8LDJQZYc2K9G61rK6sd3q/Rtnywf+syMyq8ayGopAggq/8Qg2mNTTIftC89PxPvD8ryHxchRhMk3p+LkXfP1Yy2yYJQGUQ/SF5ZhMBiWaZgYdT+sNZdQEqoxTts0/wpE9asUZVpBAaqTffRzxW5At7667J9fPry2AIl4qda0/Lzxu7p9iq2N5MCYlx5xaW6ZW0a5KIQ2NPm3/jHOblnh+nO59hFqiN1qZLGnapSRPh1mzWS5lWcpj6RMIGqjRnWsc/TvT9cqkZH2F2yQ4MD5ISsQQ9vt14sA+foH8+btSf+budjkIahxx55p4jujnDtZ+fY1WHPSqM33cOVr7B+SSjsDQ2cHgNi7fsAWXEj0LyHyIeNEdfDSevZDdjCWClzLNGar4YGcriA7pJ9znvOspGLYfg/RkQW3d9M70qEHEi9nTZzb7Z71vqlyrhz4IXHl4/Sd7fVKTRQDWFJO1k0ouYo4OYIMYi0HRDGjs2cEMBuDoarm33yavyPwray3bVh/V3M4+fYWOaA7vD3Z3Gt2MOcTluCKUzfzQGzjS6w8MdhqZ4UxwyqRp18hML3ZNQiSLZAzIKlMXBRewrdiXdbAh6qHn6JS1tzijmM1spL1N0d60nmTeLHqQBnbrplq3zuTIn6rV5iQaQ02w0TR9nbvVx8RZpuRlzuNQnsHbj1kq+IXM09XSTOiEfYTLGpbSBMEP2cnxGOBmNgnnpJNuGjmJWqhXVnaM2AnHE8mzXYNtYpX+o7OnaD/mpKUTs= X-Microsoft-Exchange-Diagnostics: 1; AM4PR07MB1715; 6:+Xg/qLqXTMWEpesqHOguGVtJXbSidrWdYDhQNM/cxQVxSHkpZ/FP3e9XRH11QaG8HkIbFvPCqIsz8jDL0g/hFJv0JhSao3Ffme9tl2zn1p42XbwHr+z6v0PW49cidxA7s3CLzcarrVSYLQK8aF9f9F6YQYwPiFCfXjE4mCIcB0B7wmdCpWZUOkSeLrza1X1e4m5E5YqL/73+L1ZZx4WFL+d0psgWWOCGKJuIhomI1OILOWFosEjSKh81odwXT0sdh5GzkCWTCIWackMUwddm9v1mZmMwZcFmkvA0Y50eOvIXQPnNY6XCNiXdiMgocm3qXPCkp51XpM+TEXNYBLAzYgECIOVvacM4cdcevd/CDRD0pE4UztOQ57ElB7WWTBjV+UEIu+HZZEIwmYitgDOF+A==; 5:3ZW+S6nDdP4rOhjDUFzFw8eDGL71pBq5UzU8Id4nnYCq32eEgoIY1mx6nN41VnU2TQj5fXYZNnResGPpOXlGN0lXcHc1tJxKmkkMcEYNvY/MRqKqvCB84ThUJInf1LaLLbohoD+Y9upAfmRL3oTuBQ==; 24:sPBAX7QcZViwBZhyioKz3yUWNKAc7c/fIh6BnWl0rodRToY4S+5J47M+yq0rnBHq1EEYG0do5QIXrYTMVYP6r5f9e48fhGz5xADZzO+Jkdk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM4PR07MB1715; 7:E9NKHZFtyVufXwfE5Z6Ezihup0O6nx9Lyrd4T1nvUZASob2Ljx5+8A3zAwLaG1HiRJzgfwmqUmvrDSL2QKD2RprugvJ97r+UIJYLaUsnD77NN/kUxPLlm8WCzE3j1dl6mhHz8WaxAiegQX5rc3REjw8HeObsSbsRiTMlFzGWEaARlHc/VZCgKn9w3JyvyRxQlApY3k9X39I4yxumMxUEVvvOq9+pEP6fyZPH0JiVTXLXhx4kNPTKghyu/SMsUwwXu3GxNm5kB+5besh48nuCNRU7fuGwpLiFHhpmWSOASxy6rKRhyv9RJxw8zhvD4Pj2zFB0GMjkT6SxcwZ24pmR0g== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2017 21:28:03.6354 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR07MB1715 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes The next patch will require checking the DejaGnu version. There is already a test that does this, gdb.threads/attach-many-short-lived-threads.exp. This patch introduces a new procedure, dejagnu_version, and makes that test use it. The version number is "right-padded" with zeroes, to make sure that we always return a triplet (major, minor, patch). The procedure does not consider the DejaGnu versions from git. For example, if you used DejaGnu from its current master branch, the version would be "1.6.1-git", meaning that 1.6.1 will be the next release. I figured we'll cross that bridge when (and if) we get there. gdb/testsuite/ChangeLog: * lib/gdb.exp (dejagnu_version): New proc. * gdb.threads/attach-many-short-lived-threads.exp (bad_dejagnu): Use dejagnu_version. --- .../attach-many-short-lived-threads.exp | 8 +------ gdb/testsuite/lib/gdb.exp | 26 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp b/gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp index cd752ca496..edc96132e3 100644 --- a/gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp +++ b/gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp @@ -24,13 +24,7 @@ # Return true if the running version of DejaGnu is known to not be # able to run this test. proc bad_dejagnu {} { - global frame_version - - verbose -log "DejaGnu version: $frame_version" - verbose -log "Expect version: [exp_version]" - verbose -log "Tcl version: [info tclversion]" - - set dj_ver [split $frame_version .] + set dj_ver [dejagnu_version] set dj_ver_major [lindex $dj_ver 0] set dj_ver_minor [lindex $dj_ver 1] diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 188484f792..c773d41bae 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -6023,6 +6023,32 @@ proc multi_line_input { args } { return [join $args "\n"] } +# Return the version of the DejaGnu framework. +# +# The return value is a list containing the major, minor and patch version +# numbers. If the version does not contain a minor or patch number, they will +# be set to 0. For example: +# +# 1.6 -> {1 6 0} +# 1.6.1 -> {1 6 1} +# 2 -> {2 0 0} + +proc dejagnu_version { } { + # The frame_version variable is defined by DejaGnu, in runtest.exp. + global frame_version + + verbose -log "DejaGnu version: $frame_version" + verbose -log "Expect version: [exp_version]" + verbose -log "Tcl version: [info tclversion]" + + set dg_ver [split $frame_version .] + + while { [llength $dg_ver] < 3 } { + lappend dg_ver 0 + } + + return $dg_ver +} # Always load compatibility stuff. load_lib future.exp