From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 41928 invoked by alias); 8 May 2017 08:38:19 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 41915 invoked by uid 89); 8 May 2017 08:38:17 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.8 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=899, 10111, HX-ClientProxiedBy:2603, HX-ClientProxiedBy:111 X-Spam-Status: No, score=-25.8 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: EUR03-VE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr50110.outbound.protection.outlook.com (HELO EUR03-VE1-obe.outbound.protection.outlook.com) (40.107.5.110) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 08 May 2017 08:38:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qtcompany.onmicrosoft.com; s=selector1-qt-io; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=p5gi3YN4cnHcbidv1PzXFO2JRf7tpYJvUx9cdAUDfO4=; b=rHWOMtZYJIccu8LTWHS8aZRexZw/sokeMsKAY41fG2h6/MoMYzuu35rOXYYUGXaFvYrfYGsvx1U7swW6Hra47Y5tnlD7RVWD5swIwUAaIYSlWH0ehslzwBYIUQ92P/HVBw9ncGM3KrCYFafxTCT+mMFiXRgOlsTHHY7HLumBUJU= Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=qt.io; Received: from [10.9.78.56] (62.220.2.194) by AM3PR02MB228.eurprd02.prod.outlook.com (2a01:111:e400:8810::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1075.11; Mon, 8 May 2017 08:38:14 +0000 From: Ulf Hermann Subject: [PATCH v2] Avoid using err() and errx() in tests To: Message-ID: Date: Mon, 08 May 2017 11:42:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [62.220.2.194] X-ClientProxiedBy: DB6PR0601CA0038.eurprd06.prod.outlook.com (2603:10a6:4:17::24) To AM3PR02MB228.eurprd02.prod.outlook.com (2a01:111:e400:8810::26) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c4f14dc5-4218-43cc-6d58-08d495ed9198 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:AM3PR02MB228; X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB228;3:bfAlMETxkoCm8Fimw60t8zW98yPDdrZsHbRA82MJR5bu2g4+L3tVVQyreGfNRneuj2mLLBQsWLShooEtjMt1fxS0A8/vjyDLjVgj8VTnIjicdK1oH2FFluin6sjgklx00sYykQiBhQxMW3AhRK1bfOQLjVPds709BCOCcnd+QAuza2LPzTIBr1zH6cklcJ9NNe6fz64OhAChw8+rVPxik9h3Y6L2ConPVipSmGionTJlaSvi4BG40LE5rV/GE51LGAaUbfpLpy0wDSqhrjbSjJ13B4FIVulozPgUA6Xd/4su2A2rIP4BkK/UGphdclU/s6Axzkc/XsJORN0xTwBR/g==;25:winUqwdUJRtcdcP3y7P8n3njUbgCr2AbL8xUlamgj+Z6LXymVkO9lIPG/BZlu00ZOqe8wUI+QoOfoWKIe4dzmCsxQHpFox+rwYLMz1qJEWBsfG1b5g553A/aD0usLqCOksXke8j2sl8F5kw5brEohCDRzNGpjbBmLm/8Ytz+4NZME3+HF3iYB4d3Zqo4qJRzEFDsk3rsnS8G+NX4oP+Fmq5GiPSQoZnF1wy5Xwb4le4t5A5A6Lv2Hsf2VpamcSB/Ng6yOV2NiX0cTt6G+esbHqaVNXkjeGFL4eOVVqNDP/G2v4WLUtmeyXj5ofcp6Qf1zU482AvJEweyekGB9vEBa9fDftZ4Efdue/dEiSyF+rnhygdDJ++eboFWDsZa+F7/xYipgRCaIXPtcDq24BJA4juc+AYK1EHaENFFYUFAiIVYOUFXGl7JI/AYSYkcCqVm2n2v4kDZEXj52iBUkoh6bWsF6Msg6dK5hnTwFZssnco= X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB228;31:MiyCa9JzXH1z/iT3y0En5ePRueLg+z6Oj+Pgu9jhOgvImEzow5qtHWbLRCF4TYlQ00pvVRmbywpepsjKTo18q5Rkn/jgoe6uWW9Ose7WtEbjM7avoXXpdaOCFsLWOYwfEsI01lQ1KroOCGzGUpgD/VV9dmoPhySi1+Vj4ylJ0FzwChuKrWC0B14pp6K9uiTHf6FJnI1pN0unDA3EhXNR/pRNqr+l5MNkpoeFyJeRzw7KBNkUXZovCHetlzY9ev4ay0HsaGseq7KJdKq6M4JWxGHD9F10gmFIYgGoyegdEOg=;20:JmX8hm4/O7LGpON9aIepoV4+W4Vz2gi1ERKAvmSevdmTjYam1GiHjYOd/+Hhce53JJONoA09TP+y4fp5Z6JkXfmVFvkZltBq3HvhcQ0CNBBlqEtT57iDVwfqyXNs+He1jykyWx8h043faiTs9sxWeOznDDw8LR8TwdsynISuh7NlTYKYgQ6Iga7DU2cFyxxYOBb7Dyqh3pjDD391K3xDi3GwtPIClgqOWXyuv538Q9jIZ4WJjL5DC3Y/vcbYLcLI X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:AM3PR02MB228;BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB228; X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB228;4:moQRK5/wsRjqJR9G3Swn72NKu/nJ28+5Xbiv4WQNWyD3APbJIqqf0kfolJpXdMOHmhB38ifHg27CzTiDTvb6LMW6FmwuCDoNsg5jyDttNYDKnE0kODtgm+PpZj7bRLn8r8rrK73oVMsZlCoIroqDVWMDPDXVRiPApd4Uward+/I3qJ6StaYcId19PZ8EwPqG+vVSlhxZqs4w+FX6AS1lN6IruJqS1AgBvYlSQiTRU3E4aSinVP7A40irMXPD+yWvcJf1zE1GjAU2GKy4+CwRSeAvGLW3LZnccDlzqZFLQHv4YbkZ8HN37xspwSgz0QaRnzyklc3oInOfU8G2laCq08+vUdjrp30826ux5IuQ0NCJK18zTWvpd+ek4vSzZs9UolCqWkdOzFx8w+Nl7zcTqTzFToQupom/EN9PK8NZs3iSygAz6LcqVJStLiaUcJht08/vQWafzvJh4oMfYxyDPTsU0I7LIhEkqGf9ehYlXp2FMURzsI7fjV/uJ8gCjONWBKi/D+wMBH0+NLgCUqOfxbf88p33HSPT9TaLjM8crvgAi30kfKqHnO2Hgmespfi1/PFoxxbizJDf6ctaQK9HKOD0CxAGNy5RJ43j5rR7eMl7301bsr1MdLlsHFLsjVpxy4VGn/3GWFI9C3kaxiEUh0nsWtuOcaGQK93IiPiJK8VcLI1nbP0T8Aub13LDDbbDZo3vWGwMuXEyJB5g4SYXZtn82vctzsz5xBph44fT5u7q9c3fr2jIrNAkoNyieuuKCotvZxyX6WHolthealmsHsYdgxK1mTRYLmyQzfj7DDI= X-Forefront-PRVS: 0301360BF5 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(39410400002)(39450400003)(39400400002)(39830400002)(377424004)(83506001)(42186005)(31686004)(86362001)(110136004)(54356999)(50986999)(31696002)(36756003)(50466002)(64126003)(6486002)(8676002)(77096006)(81166006)(6916009)(6666003)(189998001)(4001350100001)(305945005)(7736002)(38730400002)(478600001)(53936002)(25786009)(23676002)(2906002)(33646002)(47776003)(2351001)(5660300001)(3846002)(230700001)(6116002)(65956001)(66066001)(74482002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM3PR02MB228;H:[10.9.78.56];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTNQUjAyTUIyMjg7MjM6OElVbWpla1RYRklMYW9PK0o1a2JzUS94Njd4?= =?utf-8?B?eWVlR0tGajFBN2FDSTFENERyNnlNSWtzMTRtM0xkWjJCZm5vMm9YTmRuUXFy?= =?utf-8?B?RFRsQUErZm9mV0NGWU1hTWlhL05Kb1NLZ1J4VUNHajRRYmQrTWdFTVhNWVBC?= =?utf-8?B?ZHZ5ZG9EWVhJOElZV0wrd0UwRWtROGVkbnAxbmRsMUw1S0ZISk9SeWRTYVFS?= =?utf-8?B?bDl6NGRWMkdSTjlzV29naDZid3dYNk81aEp5Y2g5YXp5UzQ2OWw5cFBxZEE2?= =?utf-8?B?WFcvOHdQZitFNmJCMzFXaXB0dlV5ak9TeW9pVGs4bm1sUmxiNVFCdkFRNXRP?= =?utf-8?B?MWM4UWxlaTB0dUFUMEpmajlERGM5eW9SL3l6OC9XYmN2eWdrSFNWeDA5T2NW?= =?utf-8?B?cHJoOUxrbU5YQUVBL0ZpZFBzbEN2ckZFZzl4VlZMMDZGY094UmtjRCtyRlhU?= =?utf-8?B?UkhRSHd4cmkybVdJdElXTExlbG1Na2RTczhENy80OFAyRjNjSmhYUytYb3lU?= =?utf-8?B?MktVNTVQV3VmMFRHTzlRRVg2b1daREJ2OVRvQUdGd2pMVGI3RVllemRBTEVE?= =?utf-8?B?b3c0bklKVkRWYkl5R1o0MEcxTVUveUUyS0Z3SFgrWGtpdVg4SEJuT1J4YmEx?= =?utf-8?B?dXY2NzgxWmNtNHl3VFpNdEYrQjVENGgzWkxtSEZnZXMwS0ZmdDRlUzRmQzdi?= =?utf-8?B?MmhYc3VlYmNpQnpYUk9KbFd1MXhidmpQdnRXYk9hUzRrY0tPbzhvR3RQTkJ2?= =?utf-8?B?VXpLR3N5Q1lKWVAxamluQjd2dHFGQ0dZenNrT245NE94azlWb3hmNW42UHFH?= =?utf-8?B?RTBYd29ZTmsyckFsc1JGZEVhNkh6VTN6YTlNMzh5eE1MeHdpK0N6UHhocHcy?= =?utf-8?B?MTVIZXFJR3VwcTdNY0dDbkJjV1B5WjUwWHVlakFsOTBZR3ZUakRXOUY0c2Vh?= =?utf-8?B?bHNhRnJFRGo4cVJWK0tCNVZYdDVQa2Jzc25mQldTazZrRVFFOEM0bGMrTHNp?= =?utf-8?B?UklvM0lBbThYTGVkWlE4NDRpMVlsYTBFRjJsRkE2dmI1MzhCYVdDM3h3Qm5F?= =?utf-8?B?a3FlU1BjSHp0cmN2YndocXRNSW5MZFZQWkVGcjBLcHpBUk0waEI3OUowZVF5?= =?utf-8?B?MVFCTHg2aDMzTWlwblB1M25zNUN6Lzh5NncxeWNyVlhsVXZzVUFVdzIyVFFB?= =?utf-8?B?Y0gwcytZQ3R4QVFNcnMra2I1R21tZ3VhS0lCK0NKdm5VMVdocE91QUtjOElx?= =?utf-8?B?TjgzcVNXcEc2ZlR5dXBCdE5lb2VVakNrSGszNWVFaDVwOWdkUHZLdEJsTTUw?= =?utf-8?B?cUhaL0dIcG44Uno2Nml4TWxsRVQ5ZlZoY294VTVrUG9EVlp2R05ta0RTN1lw?= =?utf-8?B?VnhSWWQrazRyUjkreWFhSEZOWG5ldlRYeWJqNjkvcU0za0RLZDczYU5IQlZB?= =?utf-8?B?bFlxeFlRd0RVQVZuTlYvaWhFbHRXWUtBa1pkajdZWWMvRDVTcHk2ZmhyRlZr?= =?utf-8?Q?bUu8u38es/ruF2UfVSMZ9ql6JCJyvv7qPnbmnrZJv2/ox?= X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB228;6:f8dPUnrqj8ESwdxu7XKCOVHTrz0OwSqguifwu2uHKfJ3iOFxEGOOlYkrEjPN20BACQZdLCk1fXPMOOGcs6agkmKzi+V7pyqcN5Vrers1yqS4YWC1LSEpxyJeaxoQV4w6GErlt/tffLYf+cFiTqFofP7y9qkePBVO/ufZC0o2pc+nUs2ju8jPzu9ehQq0HqnFjbFxsijHGzY0Q/rte7SVGAOrqPgRH+Nu4GpytjCImAO2foztoZtV6VkeylnugX+AaBGHIJfIcusjmSU7S34BHaAwe2GvRQK4iMtVKBwi449sQoN6oMkoDrAF28b3d7vq4+C49BPpwpI+/442tg5uneFfKXQu6UYz1JSi0IagWTABJ9KXdiAjf1IYhmZcNblnBIT/UZXgxRxCA3Kga6ueuKHkaVlzgU1O7M9uwG/HCXX9j6r/RDmmStQo91pdnHGMNcyKWjUiNQtAaYrJQoCW/c1WyFhFkrO3CxLLl71Pb6Ub3W60IhWAUMJ2ecN9FY0NL0BGpfJAuXq+7oDj+cAy1Q==;5:s6e/0b0ArwqmVzNrdR9Sv38yhhb4u4Jhfsz42kkJR6y0f77+oDMrEm11paNcj8WJs6Y/7GWgjD1UFs5qJNfOAO66Ri70at9v/CjEW1KqHsL9ZYhbr7JZDKpv9eeOzppADx1SvcXEsw9C86fIZU5Klg==;24:VmF7ZuwBOz76Awef4yZCEnczEDu9gnBXGfvLgLZuoG3xcrePL2TVrbRdjTc5a8IQDDccdr/FPM6xVuZwRauan6ZzU0eeHsr7QDeGYyeT0qE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB228;7:jjsb1jKCMm+Hir4T00jqElSXDTSlRlHWinDK5yLBco1KnDgYqBf7rUUY735PzfUXNPiErIhXWdC1JfhuiMUjGQMKWMnVtAc32kciuTuahtBEbPPJKl5xXIsIEilR8L7zlaI17Q/+2YJk8D6TV0se+xqHDmbPadXCqraq3tGHKdzjEokN29h4asyiGrNaAejsImfKeLkCGO14CGEBMtzMrdUFRoTM0gYPId79OPW1oAqqeGcQwhhzrqYxVt+bVmmy+gyeMGXJPFx5O+LZwtwm8HEv3YL+7JZvqkom560hQ+ak/obKyotZr29xw3LiW1PCQ7nM3k5K476RRjgE21rF7A== X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 May 2017 08:38:14.6837 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR02MB228 X-IsSubscribed: yes X-SW-Source: 2017-q2/txt/msg00199.txt.bz2 fprintf() and exit() do the same job and are portable. (v1 was missing the errno.h include in allfcts.c) Signed-off-by: Ulf Hermann --- tests/ChangeLog | 6 ++++++ tests/allfcts.c | 47 ++++++++++++++++++++++++++++++++--------------- tests/buildid.c | 6 +++--- tests/debugaltlink.c | 6 +++--- 4 files changed, 44 insertions(+), 21 deletions(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index 6dab801..c2619d0 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,5 +1,11 @@ 2017-05-04 Ulf Hermann + * allfcts.c: Use fprintf and exit rather than err and errx. + * buildid.c: Likewise. + * debugaltlink.c: Likewise. + +2017-05-04 Ulf Hermann + * elfstrmerge.c: Don't fchmod or fchown the output file if fchmod or fchown don't exist. diff --git a/tests/allfcts.c b/tests/allfcts.c index d3c8d26..84ac53d 100644 --- a/tests/allfcts.c +++ b/tests/allfcts.c @@ -18,12 +18,14 @@ # include #endif -#include +#include #include #include ELFUTILS_HEADER(dw) #include ELFUTILS_HEADER(dwelf) #include #include +#include +#include static int @@ -47,16 +49,24 @@ setup_alt (Dwarf *main) ssize_t ret = dwelf_dwarf_gnu_debugaltlink (main, &alt_name, &build_id); if (ret == 0) return NULL; - if (ret == -1) - errx (1, "dwelf_dwarf_gnu_debugaltlink: %s", dwarf_errmsg (-1)); + if (ret == -1) { + fprintf (stderr, "allfcts: dwelf_dwarf_gnu_debugaltlink: %s\n", dwarf_errmsg (-1)); + exit(1); + } int fd = open (alt_name, O_RDONLY); - if (fd < 0) - err (1, "open (%s)", alt_name); + if (fd < 0) { + fprintf (stderr, "allfcts: open (%s): %s\n", alt_name, strerror(errno)); + exit(1); + } Dwarf *dbg_alt = dwarf_begin (fd, DWARF_C_READ); - if (dbg_alt == NULL) - errx (1, "dwarf_begin (%s): %s", alt_name, dwarf_errmsg (-1)); - if (elf_cntl (dwarf_getelf (dbg_alt), ELF_C_FDREAD) != 0) - errx (1, "elf_cntl (%s, ELF_C_FDREAD): %s", alt_name, elf_errmsg (-1)); + if (dbg_alt == NULL) { + fprintf (stderr, "dwarf_begin (%s): %s\n", alt_name, dwarf_errmsg (-1)); + exit(1); + } + if (elf_cntl (dwarf_getelf (dbg_alt), ELF_C_FDREAD) != 0) { + fprintf (stderr, "elf_cntl (%s, ELF_C_FDREAD): %s\n", alt_name, elf_errmsg (-1)); + exit(1); + } close (fd); dwarf_setalt (main, dbg_alt); return dbg_alt; @@ -68,8 +78,10 @@ main (int argc, char *argv[]) for (int i = 1; i < argc; ++i) { int fd = open (argv[i], O_RDONLY); - if (fd < 0) - err (1, "open (%s)", argv[i]); + if (fd < 0) { + fprintf (stderr, "open (%s): %s\n", argv[i], strerror(errno)); + exit(1); + } Dwarf *dbg = dwarf_begin (fd, DWARF_C_READ); if (dbg != NULL) @@ -89,9 +101,11 @@ main (int argc, char *argv[]) do { doff = dwarf_getfuncs (die, cb, NULL, doff); - if (dwarf_errno () != 0) - errx (1, "dwarf_getfuncs (%s): %s", - argv[i], dwarf_errmsg (-1)); + if (dwarf_errno () != 0) { + fprintf (stderr, "dwarf_getfuncs (%s): %s\n", + argv[i], dwarf_errmsg (-1)); + exit(1); + } } while (doff != 0); @@ -102,7 +116,10 @@ main (int argc, char *argv[]) dwarf_end (dbg); } else - errx (1, "dwarf_begin (%s): %s", argv[i], dwarf_errmsg (-1)); + { + fprintf (stderr, "dwarf_begin (%s): %s\n", argv[i], dwarf_errmsg (-1)); + exit(1); + } close (fd); } diff --git a/tests/buildid.c b/tests/buildid.c index 87c1877..2d33402 100644 --- a/tests/buildid.c +++ b/tests/buildid.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #include ELFUTILS_HEADER(elf) #include ELFUTILS_HEADER(dwelf) @@ -62,8 +61,9 @@ main (int argc, char *argv[]) printf ("%s: \n", file); break; case -1: - errx (1, "dwelf_elf_gnu_build_id (%s): %s", - file, elf_errmsg (-1)); + fprintf (stderr, "dwelf_elf_gnu_build_id (%s): %s\n", + file, elf_errmsg (-1)); + return 1; default: printf ("%s: build ID: ", file); const unsigned char *p = build_id; diff --git a/tests/debugaltlink.c b/tests/debugaltlink.c index 6d97d50..b470e31 100644 --- a/tests/debugaltlink.c +++ b/tests/debugaltlink.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #include ELFUTILS_HEADER(dw) #include ELFUTILS_HEADER(dwelf) @@ -64,8 +63,9 @@ main (int argc, char *argv[]) printf ("%s: \n", file); break; case -1: - errx (1, "dwelf_dwarf_gnu_debugaltlink (%s): %s", - file, dwarf_errmsg (-1)); + fprintf (stderr, "dwelf_dwarf_gnu_debugaltlink (%s): %s\n", + file, dwarf_errmsg (-1)); + return 1; default: printf ("%s: %s, build ID: ", file, name); const unsigned char *p = build_id; -- 2.1.4