From patchwork Wed Sep 27 14:40:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 23173 Received: (qmail 58070 invoked by alias); 27 Sep 2017 14:41:06 -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 57691 invoked by uid 89); 27 Sep 2017 14:41:06 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-22.9 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, UNSUBSCRIBE_BODY autolearn=ham version=3.3.2 spammy= X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Message-ID: <59CBB879.5060707@arm.com> Date: Wed, 27 Sep 2017 15:40:57 +0100 From: Szabolcs Nagy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: Florian Weimer , GNU C Library CC: nd@arm.com Subject: Re: [PATCH] fix posix/tst-spawn test References: <59CB9FFA.20307@arm.com> <491b35ff-a58c-fc94-2759-e944dceb8f3d@redhat.com> In-Reply-To: <491b35ff-a58c-fc94-2759-e944dceb8f3d@redhat.com> X-ClientProxiedBy: VI1PR09CA0054.eurprd09.prod.outlook.com (2603:10a6:802:28::22) To VI1PR0802MB2494.eurprd08.prod.outlook.com (2603:10a6:800:b6::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 768d5c88-6b2e-4a9b-d0b5-08d505b5c5dc X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(49563074)(201703131423075)(201703031133081)(201702281549075); SRVR:VI1PR0802MB2494; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2494; 3:b7PQlWtIhXKizbRYdNrgzdNoHMw/z7pYbV958rgI8JVlZATqUFuWZ1QyBO3izYExZFl8XsezRBM5haMfC+ROHeOksVqR+7dVXYTS54FZGZGutNgn7wykYGYmu8f2AqmfFC3nGv3IcescQmCVuUs3jGlUQl2HaVatfAil9bEd5SUR06wgj+ySwgtQWDmKUvGSttiKOgoj4iLcC4mJYEZiRlD+gKJCoNRJ25t1Vro4hqncdVSPlRFGunfvzOze0tsB; 25:ScoTzjGLpGe1GaGK6ikZIB945D0wrsomIgKvm02XnQcGMBQ2UXqHTi3yPkYKSK5TriiTlI8HUpL5Vf9asg6h62lPq4HgqOAJuESqeFAt3RefhXzdIlNyYNki1cDs9pvz86/HPr0X6rSfu963LN+xRvYUeKh3J94WnVH6hXrIj0o+12B52EQPRH5sm6hoPyjvKAk1/8oj00PS4GeWN1Dtd0bLL6+KT5eKCNs+AP6uynBh3D9HzuCuuWgRIBqLckhNv9QnwpDc7QBAxk06CXPVxx1pUEEK2Ap4Hvpv3vSxqXdo+B+UH7EDH/wlBIFLSOcPkOmHizIuT1ttUoNej6QP4Q==; 31:kU/MY69c9haSHhRVVGHbYpT3DoBA20od4WZlmXhrdQP0aD5OlneJIeH201yevnooUP4HSchscGZEtbgtJb0MxuiUBUIstiE5S/opDYYTaV/9ymdR+4sQ0sOWDV8AN0ynJqNOrrq/LFrnn3zOHykeskH5vovIeQcyWxsW/nz57Kr7svicZ29xSb48uM4XqS+XA7JNEvaH55EL3gKn38ToY7krI69n8kVWn1vyG8B79sc= X-MS-TrafficTypeDiagnostic: VI1PR0802MB2494: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2494; 20:dqr9q598h9W/AB/jtleHVJwDtuIr0JrXAPptBSjlgas+eTrfySs2uwIRnxb9Q0cv98F5/YrqubeEKKAFlgXC9mCB75vmDzrn2J3JxnVMuGE6zR9k0YXBpjWj/jQQMw+3xpHHoez+lK7U4kno5bZ9FVAYu4dxO+2OkPWOBeRQOAs=; 4:e9PZgSUgh1wAuVzKk/S84NinyNUZsFUlN54f403+D4cls5lnqbsCZa/G8zODe2rNrLMHYLa99VXBesGODm9lmr8xiPnF4mWg8NL/RFSuZFUGPyAWOp2273Q3wlw2qC6svcx280ZKjJkrbwBI7RcfKaIWzGQoFXjAulMQvVuFLlXtp96BZONxOpX9VSEmD73vFgur2bmvdplXLOYumL7NJRF7gMUdtGXDisPgwxp53s9IiNbpd9Sp/cIGgmeu/2S/jF8HpXmuIg0cA+KsOe11KA6vJqGRZjE6RsYPIIXPT40= X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(2401047)(8121501046)(5005006)(3002001)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123558100)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:VI1PR0802MB2494; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VI1PR0802MB2494; X-Forefront-PRVS: 04433051BF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6049001)(376002)(346002)(52314003)(377454003)(199003)(24454002)(189002)(377424004)(25786009)(8676002)(81166006)(81156014)(189998001)(305945005)(7736002)(65816999)(50986999)(86362001)(76176999)(54356999)(6246003)(2906002)(568964002)(87266999)(68736007)(270700001)(6486002)(77096006)(2950100002)(106356001)(105586002)(36756003)(101416001)(4326008)(2476003)(8936002)(53936002)(6666003)(229853002)(83506001)(59896002)(6116002)(3846002)(4610100001)(16576012)(16526017)(33656002)(5000100001)(53546010)(16586007)(97736004)(21490400003)(316002)(66066001)(64126003)(5890100001)(65806001)(80316001)(5660300001)(84326002)(478600001)(110136005)(72206003)(65956001)(58126008); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0802MB2494; H:[10.2.206.69]; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0802MB2494; 23:4Q20ngLaX5cbkbSYhx5dZ26MGnqznXbLAvQU6dE?= =?us-ascii?Q?C1BNGGwBwPJcciTHJ50oZ2toXJEv6vYlnppTwg4KVjMhe7VF3dxBoWtpP6Lj?= =?us-ascii?Q?s4EwabslnhEaDmRsXgbn1jELNh4njuIDpTS9hrNS5lKv6fZuojCfdrFYndZc?= =?us-ascii?Q?XRU53RW5Lx0/DqylEyiov2njMBVVL4vrzfkbx/uZH3MmfTq3yD04YEjqFq43?= =?us-ascii?Q?MLHP6F9/9d7CbdIRDUCe87z1MGX0uYSlF1jMQfyqvJsKiPDkp+bnOi6Y072C?= =?us-ascii?Q?x9NA5sGRL0Y2zyKIQcWd2tsn7NuTHpJ97JjDYMZBP5BM19gN+cpikVn26k7c?= =?us-ascii?Q?AVDPLHtor3I5spjq4X/iv3S4dLtC8CLPFXiiwqOulpR9+ufR5YOydK2YjsYw?= =?us-ascii?Q?luoIkrSXp7tUEEJWe9OdS+lfwCf+YTz6FFnj8V4SXhMYDWD1Yjfk/0bCRbUH?= =?us-ascii?Q?2Aw0mrhpd7sQuo0oYS4Ygo12Pj9BX6LDD/yj78le1DCOANYOV7Z9DnTRvZbd?= =?us-ascii?Q?Q4Pl01VsjbZ0tG1OJ99s7sIsx21F9bOS93Pi36yFxiUPlksF1dERhA7NrbVL?= =?us-ascii?Q?iaTj70DsxEzhK6KUHZfskAfaVUyjtLEixgzeUlAYcGKxFJdCTMeFrMT702jz?= =?us-ascii?Q?lQtQqx5puKDjHV8CxilqqdJUM21dt+yBzj5cGneV/ZDuXy7cy/1ub5rirgai?= =?us-ascii?Q?oJ8d4JRtuON65NxJ19tPuSqdE+oOwneRvuddPYr2LZeJan1u/0hW3noNUk/a?= =?us-ascii?Q?iMmv7QXr8SLdXPwx80TOah9bTiUtIi/p9v4zQanU838f8MLw5aFrU3KnFwEH?= =?us-ascii?Q?MWlp9bPYOKjb8SWT9j12legnsw5zJijeVVOXBjGeUZqdq8H80yZDgl13UvLO?= =?us-ascii?Q?ndN9/tFH5NP3hsxOH/dpd4hNdh4CJzTx25sqqYrBNfLHStfQjCiIYW/zEOdo?= =?us-ascii?Q?1Oiv3MN8//d/UaYJmWQCE4uzd2dcHk2gOyyHcuqs1Zl2scomcEnymIAG1HyW?= =?us-ascii?Q?6rHp8s+jkqh9KQHWnwgUDParXI7ru8NnKWoz2zNTOijoP7nBA0J0v5/LZXJG?= =?us-ascii?Q?92Juf2sCfhqoBpjc6lh+IqkmDiTMdFu2q6pvM4wbH8TL+2ZTaI9fwXgvRisL?= =?us-ascii?Q?QJzH5PtIFZ3f+sBkSyDoTTpBeOn/bP9HYXNtGLRspPHY+m6A4aj/fKxrZMLp?= =?us-ascii?Q?1HFOIqZ89yJSAK7ohe5cqGB9Z94EoYtx1/g4j6792RiSrOoBcAMOb8Co3cVA?= =?us-ascii?Q?1Bn8O7HxDqosstChJqSg89o4pRB3gYs9Q1Tkxm0y12ki1xGQ+QDHUHJOAuwb?= =?us-ascii?Q?i7l6ra0t2Ri0qc00S775jUckUqAvdJJAg+jraUXwFhwmE6XTS7n3Me5ih3tp?= =?us-ascii?Q?XPpnEgvZEcP0VfHWGyPY2XK1wVKWSQONoT0yTLO4nkWx2pOHMjA9HcIhVkFk?= =?us-ascii?Q?2zEXk3bkHPkpHMX1P0GzOw2njb4588YuME0FmxG2Zd4ij9bVcE8sk1FhmfJP?= =?us-ascii?Q?WIIjZpA28qAp/E0UnBjH9jg2efYDDBIa4UHVjQ0eDS8nLQ7hTBCjpcJYS1Eb?= =?us-ascii?Q?5ESg7/sVubLtAlTeT2g=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2494; 6:kmg4b9GnSTfnk5YbrjACDcDtyRkCnyuNL963TG962xTg1P2lnt9zVpkstAHw9Z7M9UKVm1ZNFtD5Zo+twCsnma6hG2IwXBOSE+nihZbNToQ+ZWgf6NwQjFOqLRXbteDvd710DQfEpYtIBIAQNSWRXdhAnSweY0p+wnO7jp3SHjgstLQnmiVKrETHqYgnMIb7viVVXx5vRnkuE5A4P6T0lnrsN5/O4zpy5RCkRxYZClSPGIGd8GsCXNGPdrSiKyz77WO3sfmJgVq6EzRA2VOS1P4UCDdY+HMAbEjKI7+8aqonNOlctMB0bSeTSTBQP5jRgg6P4pNOkSvSCZFDJ+W42g==; 5:GJnehJqjKYkqZMVkmFxKebyUC5f4soAjF4dFYh9esyP0dc/hgiWHpdiB+OaOY2NHtapIWrEI/5KyBl0+BtyUcHQPvCiI6l2uMuy5CvpAy1kiaXffPQOdreE44TIKRtmlI4lxOcRsXdgcg+gvLUVyuw==; 24:d2ZGXJkHd8PtOEPV7sx9GosnMJzf2P/KOdenAzhU6onN7cDIWQJkb2rsQuPgELj0lnbeUtHgzHZ4C4R7lX/CVHgZi67Wcppk5wzzWN12hz8=; 7:Qt2XEoX6kqFwVGC7cpGVPWhYJ1F0bcl9IRGSTKZDkvYI6hhkCMNPyZDV3SJh8KVTmfO9ls6OW6Blvd6ljti96m6jnAy6FYCbNdKOQSSJUN7Vjr7jHwkoJ2CWfaSKn7DIgyj955rWBJj4qpr/nIzcNuikCisnYJOa3HlfBcPSLdKKfwarSz8Dl5Ly3cd7bvw8f63h1gCEfSgaHxpHGiOf4KJSKFf18Dl2MMieBg5gZ4c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2017 14:41:00.6939 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2494 On 27/09/17 14:00, Florian Weimer wrote: > On 09/27/2017 02:56 PM, Szabolcs Nagy wrote: >> + /* Wait for the child. */ >> + if (waitpid (pid, &status, 0) != pid) >> + error (EXIT_FAILURE, errno, "wrong child"); > > You could use > > TEST_VERIFY (xwaitpid (pid, &status, 0) != pid)); > > instead. > > In fact, all the error calls are invalid in tests because they write to standard error. > > So perhaps use > > TEST_VERIFY (WIFEXITED (status)); > TEST_VERIFY (!WIFSIGNALED (status)); > TEST_VERIFY (WEXITSTATUS (status) == 0); > > The error messages did not contain the status bits anyway, so this is not a regression as far as diagnostics > are concerned. i didn't want to fix the entire test to use the new conventions, so i only changed these lines. The test spawns two children but only waited for one. The fix avoids printing to stderr. 2017-09-27 Szabolcs Nagy * posix/tst-spawn.c (do_test): Wait for both children. diff --git a/posix/tst-spawn.c b/posix/tst-spawn.c index 08d92bd7a7..851978f224 100644 --- a/posix/tst-spawn.c +++ b/posix/tst-spawn.c @@ -23,9 +23,10 @@ #include #include #include -#include #include #include +#include +#include /* Nonzero if the program gets called via `exec'. */ @@ -240,22 +241,26 @@ do_test (int argc, char *argv[]) if (posix_spawn (&pid, argv[1], &actions, NULL, spargv, environ) != 0) error (EXIT_FAILURE, errno, "posix_spawn"); + /* Wait for the child. */ + TEST_VERIFY (xwaitpid (pid, &status, 0) == pid); + TEST_VERIFY (WIFEXITED (status)); + TEST_VERIFY (!WIFSIGNALED (status)); + TEST_VERIFY (WEXITSTATUS (status) == 0); + /* Same test but with a NULL pid argument. */ if (posix_spawn (NULL, argv[1], &actions, NULL, spargv, environ) != 0) error (EXIT_FAILURE, errno, "posix_spawn"); + /* Wait for the child. */ + xwaitpid (-1, &status, 0); + TEST_VERIFY (WIFEXITED (status)); + TEST_VERIFY (!WIFSIGNALED (status)); + TEST_VERIFY (WEXITSTATUS (status) == 0); + /* Cleanup. */ if (posix_spawn_file_actions_destroy (&actions) != 0) error (EXIT_FAILURE, errno, "posix_spawn_file_actions_destroy"); free (name3_copy); - /* Wait for the child. */ - if (waitpid (pid, &status, 0) != pid) - error (EXIT_FAILURE, errno, "wrong child"); - - if (WTERMSIG (status) != 0) - error (EXIT_FAILURE, 0, "Child terminated incorrectly"); - status = WEXITSTATUS (status); - - return status; + return 0; }