From nobody Fri Jan 13 21:25:30 2023 X-Original-To: dev-commits-src-branches@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 4NtvbG5lnyz2ql7p; Fri, 13 Jan 2023 21:25:30 +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 4NtvbG5FRvz42qH; Fri, 13 Jan 2023 21:25:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1673645130; 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=fTkGDYAgkY2QiwxgqlUgJhFULCyST9MghKWrLlPj/ws=; b=Tf/Q8/mOkqoK+bTNa2C9SypNJffGsIay56EGHz4tFdNjXn+RXY2s7FbWMJrf8rKy7UqI7M D2wmzvDXSi4fT1ZcbRcABcnrvpUG4cCeShyENLkhYx/O4HayNr5ohndT9LyIcCl7GvzAqS w9gf/1zONwx7FWBQihiSt+4WmFYMjO2mlBY8csms/+rIfOJtB1kI90IOaCi39gCwvVni91 JgGOm+0Qj+BEO0n+zyZPeMh+qVCwpL9ev474MsLX6WKe6KGkvdCc49p7rqlHalEmO6xrK6 gSa3ImtajnCHwNQWvQxQ/gGcDIaKwBCguoVZh4xiQ+J7X8raVMv18l0+L1x1uQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1673645130; 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=fTkGDYAgkY2QiwxgqlUgJhFULCyST9MghKWrLlPj/ws=; b=vf+9a/QB8rM6RUjOqsfS4W/qa8BzkZkuTWGVxyx2wV+hz0vEDXO4/nIBXLNv7B4Ce0DuhX wCe8YDnwTwDzNSIxFhbtJhn9x2Mstysgi7u0CwN2k4Mms4CMh+sIVkpkJcoj5uiLkR6tEm 2rMBh7BtpPq1/l+WqyrNQ4e028y0P8OmCC0RqVPjTR1QJUxLvn744uJ29E7tN5u7cImzE7 U5FDkUOv95AmaL3enAWYebOW4Muip1IAvHHDLDrBfTnu1YQQI8EgMH7O4P58qe0h6SSjVN MnfTNuF5nOnZawjHU4X+c4mNXt+j2GbRVYxu6i5BnAvYvNYsEVmLSiyyKTY54g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1673645130; a=rsa-sha256; cv=none; b=lmG4EMceBIDyuvBYb+YupM7PwMqup4gcSu8STu0MzdkMzlVl6JrL79/qZwJF113wQYIXpc g5avyaKoLl7wfTILjyfUmLJe97qNvMzosqJqpS/AjhLkmveQbOo/8DghrLA/rvU2CbQc+4 VPIbvGCxGFPi3q/SsoMwXhi9i9r8mtrF+0CusxXTxnhs5z+e1nm3iPkRjebIFNWN0ihBlb 6P42Rwc/55fKYKXVeTy1wuH1pCuDAsvCy01/y/KefO8HrtLKj3CUVxhA58rY/f/Aba9nRz J5I3pxeitE9b2vJT4oQ31v68Sq5EL/bGSL9ykOuQYZSezl7fEqL9Dw8TLPwQRA== 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 4NtvbG4KbwzMrb; Fri, 13 Jan 2023 21:25:30 +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 30DLPUWl041941; Fri, 13 Jan 2023 21:25:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30DLPUvH041940; Fri, 13 Jan 2023 21:25:30 GMT (envelope-from git) Date: Fri, 13 Jan 2023 21:25:30 GMT Message-Id: <202301132125.30DLPUvH041940@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 1c7843495664 - stable/13 - testing: provide meaningful error when pytest is not available List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 1c78434956641ee7b722f4f2a6cbcf5394753887 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=1c78434956641ee7b722f4f2a6cbcf5394753887 commit 1c78434956641ee7b722f4f2a6cbcf5394753887 Author: Alexander V. Chernikov AuthorDate: 2022-07-06 19:55:48 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-13 21:24:10 +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 (cherry picked from commit 2bfd8b5b9419b0ceb3dd0295fdf413d32969e5b2) --- .../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; } };