From patchwork Wed Apr 12 21:01:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wainer dos Santos Moschetta X-Patchwork-Id: 750175 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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 3w3GYt1sV4z9sNS for ; Thu, 13 Apr 2017 07:01:38 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="EHbgvj0e"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id; q=dns; s= default; b=w5iHlX/We5lpKZ2ryseHzZGWZiYpiwHd+rlrpJjHQP5o/6YfSTbRU Wx1Bs8tRax/ghdbF6r0O2IpyYXJ6GtNt0STWQLTUfCbFy4m9IIdeeyZI7n7e92ua HdTyALLh7ULRbRugt7V19ntrJBr+LUJIPiSLRu0uBv/f1INnc0FRvY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id; s=default; bh=NvtuS2zrXB7wwP9PeAaCBZ1PwTs=; b=EHbgvj0e0KUpFvmc7LEIF+7+dCM7 UUDC+PVS2RMAExAHw0o1siraPKcUxxsW+jG36j4cVCYTMm/xUqWSHXjnwKRtWc+M eERwS9nZ0H04mk/1t4pu814q1XyqxOi9ZDOw5CfoACUKdJB89qrKTOsmdiIXvFpI Z8hy0Wc3e4djfEM= Received: (qmail 123497 invoked by alias); 12 Apr 2017 21:01:28 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 123482 invoked by uid 89); 12 Apr 2017 21:01:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=2017-04-13, 20170413, Hx-languages-length:1634, 393 X-HELO: mail-ua0-f182.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=B/RP6Pvp0fonLd5pk5vEAX6UaNudlwlDL3zz4DVyVDw=; b=gMOxKvn8CexCVoUanvxQvpp1TgTI9VLf2cvu63zW4UMCEkIA5Q0z8hFt34lGYaaCXf mWudPaFH29rmM+l8smdr25G6FL3tQ88LDt1caILzS51g/ofqjhCJEzsbVHlhc02rn8bD 8q15H1HLKVxcBnRUpqyBko0UFMFFk8SPJwnzmPXwa0uEZtVt/t3pMiB+dVPwsPvbeQ6w ZgiCvnyRHNssaDbDlEV6WEmpt6TjxITCXIYeqP2QDpT2csn04Q1SPEMzPlEYnUwacaUU Eyzw7c2O+G8+FiQGxh0ykidrpYJp+c2KgpXh9+0BgnsP28fBdzcJqq9ydA9yfnlWF/dk jbPA== X-Gm-Message-State: AN3rC/4i48pA4CH1DRX3rGqAdPrHI5H/Jy8SrcJTxE6lHEweAtTLMWEcvMkFVt5OGU2Ygw== X-Received: by 10.159.36.11 with SMTP id 11mr2429299uaq.84.1492030886221; Wed, 12 Apr 2017 14:01:26 -0700 (PDT) From: Wainer dos Santos Moschetta To: libc-alpha@sourceware.org Cc: Wainer dos Santos Moschetta Subject: [PATCH] grp: testgrp should exit unsupported properly. Date: Wed, 12 Apr 2017 21:01:17 +0000 Message-Id: <1492030877-22569-1-git-send-email-wainersm@gmail.com> grp/testgrp should properly exit unsupported if getpweuid() returns NULL and it does not set errno since it indicates that tests are executed by a passwordless user. Also refactor to use the support test driver. Checked on x86_64-linux-gnu. 2017-04-13 Wainer dos Santos Moschetta * grp/testgrp.c: Import support/test-driver. (do_test): New, replace main(). (do_test): exit unsupported if getpwuid() returns NULL and it does not set errno. --- grp/testgrp.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/grp/testgrp.c b/grp/testgrp.c index 892cfaa..38f6088 100644 --- a/grp/testgrp.c +++ b/grp/testgrp.c @@ -1,12 +1,14 @@ +#include #include #include #include #include #include #include +#include int -main (int argc, char *argv[]) +do_test (void) { uid_t me; struct passwd *my_passwd; @@ -14,9 +16,21 @@ main (int argc, char *argv[]) char **members; me = getuid (); + errno = 0; my_passwd = getpwuid (me); if (my_passwd == NULL) - printf ("Cannot find user entry for UID %d\n", me); + { + if (errno == 0) + { + printf ("Cannot find user entry for UID %d\n", me); + return EXIT_UNSUPPORTED; + } + else + { + printf ("FAIL: getpwuid() exited with error: %m\n"); + return EXIT_FAILURE; + } + } else { printf ("My login name is %s.\n", my_passwd->pw_name); @@ -39,3 +53,5 @@ main (int argc, char *argv[]) return my_passwd && my_group ? EXIT_SUCCESS : EXIT_FAILURE; } + +#include