From nobody Wed Jul 6 19:56:51 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 61DB91D05567; Wed, 6 Jul 2022 19:56:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LdVg72JvWz3sD9; Wed, 6 Jul 2022 19:56:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1657137411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWTieGBw+HdhK2YlEDsRoWDRE9PymXi2x3vRoyY27og=; b=rCYlas/LzMKK7FdmgOjei74xtwROOnrTNkEqaejckXBqK87Hg0c+G3+BBjRsctnsFYTPqU 7UzadnIV5WWRrOwiuVGNhDVNI84IapLHiah8alVfIgqXwYObTrlS+n7vb4qv9HDahQHlPP 4sBRbo/bID4nXyGJiULtVoBR5aM+nEK6skAKtLNyLDkIvTMtxJED0umdHtaKxWoqVrIsnW KcLtC2w8dmidxPJpLxyyO12+iuDml8gKu6zqrmBTDyBQslRU58gFxT6Li8ay/vqMw41gPr 3H8ZxHGZO872iGDYmvBkI34W5lvJoCfcssvKtLxqtLHh5mTOI5AFWsgUpck4RA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2F35F20E39; Wed, 6 Jul 2022 19:56:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 266Jup01013974; Wed, 6 Jul 2022 19:56:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 266JupNT013973; Wed, 6 Jul 2022 19:56:51 GMT (envelope-from git) Date: Wed, 6 Jul 2022 19:56:51 GMT Message-Id: <202207061956.266JupNT013973@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 2bfd8b5b9419 - main - testing: provide meaningful error when pytest is not available List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2bfd8b5b9419b0ceb3dd0295fdf413d32969e5b2 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1657137411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWTieGBw+HdhK2YlEDsRoWDRE9PymXi2x3vRoyY27og=; b=c6lCPjKSyney7sfrpivBdvhx1utqkTdtsq2Msug/a24wBn0C4mX6WzZfnk32NwdWuXXv+l cn6Jrdi9lvwzMTYHFvAa4pauR+2rjtDjvw5Z4mf38FYhsaAa6MK2D9zeChaXmeO/2K+Uup tJh85BW833QRgN8KY0dMSvWSkIyNKStDAKGwes83d/VZeWk8DMv+4Bf6vCtBG6+LLrJcY7 QnNJAxwj27euzrKD+xa2Ps81lRjk7sGJ8c5Hu/l4nx0WVkTXm3nJqCd/yV/2uAJSL1eV5F uAhuFnpbrqz8N9tQL2V109NlTj/J8vfc3D3IG8/F0AsRz5bX9/++i5qmd0ZaOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1657137411; a=rsa-sha256; cv=none; b=DegFblREPIzJOzKYXpNusmkYs3FF43JAZm6IEDoR4CnEnEiwV1Gd8Ohw30RyvlrmNhmYdy FI2pwAWFDnqmJbNhBaAM9TTcGvZ9VaxtCfd31hQUt76OCbzAfPdSQLUXLjnDyY9N+LYc5Q nfdAbwkuvBdw8RL4uPfq826iiiC2Dk8Kncmf+12YMVnor7NelOp/F/pjdV/buj7T7hWSkt 1YFMSdAD2j2IlYzqRCiTpILsfihMGOpop4Duc/2E8AV0qibCYfVpeL3M2cGKc95R3n6SAG GFBl4pfDr5YUbdXGIynFQote0LcbfXVW09YvLtn+/LMgmxdnQGWm3fRHrsWOtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=2bfd8b5b9419b0ceb3dd0295fdf413d32969e5b2 commit 2bfd8b5b9419b0ceb3dd0295fdf413d32969e5b2 Author: Alexander V. Chernikov AuthorDate: 2022-07-06 19:55:48 +0000 Commit: Alexander V. Chernikov CommitDate: 2022-07-06 19:55:58 +0000 testing: provide meaningful error when pytest is not available atf format does not provide any way of signalling any error message back to the atf runner when listing tests. Work this around by reporting "__test_cases_list_pytest_binary_not_found__" test instead. Reviewed By: kp Differential Revision: https://reviews.freebsd.org/D35721 --- .../atf/atf-pytest-wrapper/atf_pytest_wrapper.cpp | 23 +++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/libexec/atf/atf-pytest-wrapper/atf_pytest_wrapper.cpp b/libexec/atf/atf-pytest-wrapper/atf_pytest_wrapper.cpp index 6baa85999070..7f6e886a16d9 100644 --- a/libexec/atf/atf-pytest-wrapper/atf_pytest_wrapper.cpp +++ b/libexec/atf/atf-pytest-wrapper/atf_pytest_wrapper.cpp @@ -1,3 +1,5 @@ +// vim: ts=2 sw=2 et + #include #include #include @@ -181,7 +183,7 @@ class Handler { } } - int Run(std::string binary, std::vector args) { + bool Run(std::string binary, std::vector args) { if (flag_debug) { PrintVector("OUT", args); } @@ -191,12 +193,27 @@ class Handler { // work around 'char *const *' arr[i] = strdup(args[i].c_str()); } - return (execvp(binary.c_str(), arr) != 0); + return execvp(binary.c_str(), arr) == 0; + } + + void ReportError() { + if (flag_list) { + std::cout << "Content-Type: application/X-atf-tp; version=\"1\""; + std::cout << std::endl << std::endl; + std::cout << "ident: __test_cases_list_"<< kPytestName << "_binary_" << + "not_found__" << std::endl; + } else { + std::cout << "execvp(" << kPytestName << ") failed: " << + std::strerror(errno) << std::endl; + } } int Process() { SetEnv(); - return Run(kPytestName, BuildArgs()); + if (!Run(kPytestName, BuildArgs())) { + ReportError(); + } + return 0; } };