From patchwork Sat Jan 29 15:45:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 50567 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 397393858405 for ; Sat, 29 Jan 2022 15:45:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 397393858405 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1643471147; bh=TQky5EKIHnffvKEz1DdLDXTnJ5U793NEQA6gKo3UA0Y=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=YV+AV9jpbjTCzcfQAYkEc0bWlYNtlKgHNfbHTbIhKdXtAFN/7HEWkVfH9j7+NMQxy nVKa37BzwFak8WH84drrwg/a1eqjLxqIt4cea7jeo8pWDHbo5aNfK7JqX2oQpEcACr RMNbpV0d2tc7YuBIZwNoHu31n2BWKFqLb0f8RKvk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pg1-x531.google.com (mail-pg1-x531.google.com [IPv6:2607:f8b0:4864:20::531]) by sourceware.org (Postfix) with ESMTPS id 69CF23858D28 for ; Sat, 29 Jan 2022 15:45:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 69CF23858D28 Received: by mail-pg1-x531.google.com with SMTP id z131so7957042pgz.12 for ; Sat, 29 Jan 2022 07:45:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=TQky5EKIHnffvKEz1DdLDXTnJ5U793NEQA6gKo3UA0Y=; b=podPHXytEPlww5sWX0XzRwmEgVcCI8PFTt/BOYYn3WSssX5My2YXaEKbWbWwqk6GXJ bAFSS0v1KBF0ULu7CiwY6PV8xMWvoE4Xs6n9wpMht6ZaomXqXPwGKz93w4RO6JC1AWq8 BT96qLqw716fmHceqE/3opppZ0KkY5BxxWuvyUkh0GweHsrxVhTYekmTcS9SzcP4OjB1 5ZX4/35ZZ/lJYGFb5WWkBwdqYb5gvPbuFwmy6pW+2nFRq82vESqca8CURJKmcm60p8r6 +qb297JITQk6ru0aJC96trmAw6T5DRUg51si67wUhNxp3BxODQCAohly6536hiFz9yCX FQ6Q== X-Gm-Message-State: AOAM533nBX2IaZSdROTqBXAUFXYW2AfZVUbUO2oz+Gnhe2tp3D+Dddvb 2CZP4zO9seOuwVP4Jt1mo24= X-Google-Smtp-Source: ABdhPJxHHO4+S532KLVTgo+jyCb4xdpGyx8dY4N6MlsEZZVyyBr12oDO6Bi+VFoTaDVZFsBcTq0hSg== X-Received: by 2002:a63:74d:: with SMTP id 74mr10155482pgh.324.1643471122441; Sat, 29 Jan 2022 07:45:22 -0800 (PST) Received: from gnu-tgl-3.localdomain ([172.58.35.133]) by smtp.gmail.com with ESMTPSA id c26sm23561731pgb.53.2022.01.29.07.45.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Jan 2022 07:45:21 -0800 (PST) Received: from gnu-tgl-2.localdomain (gnu-tgl-2 [192.168.1.36]) by gnu-tgl-3.localdomain (Postfix) with ESMTPS id 32734C0902; Sat, 29 Jan 2022 07:45:20 -0800 (PST) Received: from gnu-tgl-2.. (localhost [IPv6:::1]) by gnu-tgl-2.localdomain (Postfix) with ESMTP id EB664300350; Sat, 29 Jan 2022 07:45:18 -0800 (PST) To: libc-alpha@sourceware.org Subject: [PATCH] tst-spawn6.c: Skip if _PATH_TTY doesn't exist [BZ #28836] Date: Sat, 29 Jan 2022 07:45:18 -0800 Message-Id: <20220129154518.4192-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-3028.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" posix/tst-spawn6 fails with error: xopen.c:28: open64 ("/dev/tty", 0x0, 0600): No such device or address when there is no one logged in. Skip tst-spawn6 if _PATH_TTY doesn't exist. This fixes BZ #28836. --- posix/tst-spawn6.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/posix/tst-spawn6.c b/posix/tst-spawn6.c index 5f95bd1938..72fbab4db3 100644 --- a/posix/tst-spawn6.c +++ b/posix/tst-spawn6.c @@ -30,10 +30,25 @@ #include #include +static int +open_tty (int flags, mode_t mode) +{ + int ret = open64 (_PATH_TTY, flags, mode); + if (ret < 0) + { + /* NB: Skip the test if _PATH_TTY doesn't exist. */ + if (errno == ENXIO) + FAIL_UNSUPPORTED ("\"%s\" doesn't exist", _PATH_TTY); + FAIL_EXIT1 ("open64 (\"%s\", 0x%x, 0%o): %m", + _PATH_TTY, flags, mode); + } + return ret; +} + static int handle_restart (const char *argv1) { - int fd = xopen (_PATH_TTY, O_RDONLY, 0600); + int fd = open_tty (O_RDONLY, 0600); /* If process group is not changed (POSIX_SPAWN_SETPGROUP), then check the creating process one, otherwise check against the process group @@ -116,7 +131,7 @@ do_test (int argc, char *argv[]) if (restart) return handle_restart (argv[1]); - int tcfd = xopen (_PATH_TTY, O_RDONLY, 0600); + int tcfd = open_tty (O_RDONLY, 0600); /* Check getters and setters. */ {