From: Kees Cook <keescook@chromium.org>
To: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Kees Cook <keescook@chromium.org>,
Janosch Frank <frankja@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
David Hildenbrand <david@redhat.com>,
Shuah Khan <shuah@kernel.org>,
Masahiro Yamada <masahiroy@kernel.org>,
kvm@vger.kernel.org, linux-kselftest@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org
Subject: [PATCH] selftests: drivers/s390x: Use SKIP() during FIXTURE_SETUP
Date: Fri, 17 May 2024 17:18:07 -0700 [thread overview]
Message-ID: <20240518001806.work.381-kees@kernel.org> (raw)
Instead of mixing selftest harness and ksft helpers, perform SKIP
testing from the FIXTURE_SETUPs. This also means TEST_HARNESS_MAIN does
not need to be open-coded.
Signed-off-by: Kees Cook <keescook@chromium.org>
---
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Janosch Frank <frankja@linux.ibm.com>
Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: kvm@vger.kernel.org
Cc: linux-kselftest@vger.kernel.org
---
I wasn't able to build or run test this, since it's very s390 specific, it seems?
---
.../drivers/s390x/uvdevice/test_uvdevice.c | 32 ++++++++-----------
1 file changed, 13 insertions(+), 19 deletions(-)
diff --git a/tools/testing/selftests/drivers/s390x/uvdevice/test_uvdevice.c b/tools/testing/selftests/drivers/s390x/uvdevice/test_uvdevice.c
index ea0cdc37b44f..9622fac42597 100644
--- a/tools/testing/selftests/drivers/s390x/uvdevice/test_uvdevice.c
+++ b/tools/testing/selftests/drivers/s390x/uvdevice/test_uvdevice.c
@@ -18,6 +18,16 @@
#define UV_PATH "/dev/uv"
#define BUFFER_SIZE 0x200
+
+#define open_uv() \
+do { \
+ self->uv_fd = open(UV_PATH, O_ACCMODE); \
+ if (self->uv_fd < 0) \
+ SKIP(return, "No uv-device or cannot access " UV_PATH "\n" \
+ "Enable CONFIG_S390_UV_UAPI and check the access rights on " \
+ UV_PATH ".\n"); \
+} while (0)
+
FIXTURE(uvio_fixture) {
int uv_fd;
struct uvio_ioctl_cb uvio_ioctl;
@@ -37,7 +47,7 @@ FIXTURE_VARIANT_ADD(uvio_fixture, att) {
FIXTURE_SETUP(uvio_fixture)
{
- self->uv_fd = open(UV_PATH, O_ACCMODE);
+ open_uv();
self->uvio_ioctl.argument_addr = (__u64)self->buffer;
self->uvio_ioctl.argument_len = variant->arg_size;
@@ -159,7 +169,7 @@ FIXTURE(attest_fixture) {
FIXTURE_SETUP(attest_fixture)
{
- self->uv_fd = open(UV_PATH, O_ACCMODE);
+ open_uv();
self->uvio_ioctl.argument_addr = (__u64)&self->uvio_attest;
self->uvio_ioctl.argument_len = sizeof(self->uvio_attest);
@@ -257,20 +267,4 @@ TEST_F(attest_fixture, att_inval_addr)
att_inval_addr_test(&self->uvio_attest.meas_addr, _metadata, self);
}
-static void __attribute__((constructor)) __constructor_order_last(void)
-{
- if (!__constructor_order)
- __constructor_order = _CONSTRUCTOR_ORDER_BACKWARD;
-}
-
-int main(int argc, char **argv)
-{
- int fd = open(UV_PATH, O_ACCMODE);
-
- if (fd < 0)
- ksft_exit_skip("No uv-device or cannot access " UV_PATH "\n"
- "Enable CONFIG_S390_UV_UAPI and check the access rights on "
- UV_PATH ".\n");
- close(fd);
- return test_harness_run(argc, argv);
-}
+TEST_HARNESS_MAIN
--
2.34.1
next reply other threads:[~2024-05-18 0:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-18 0:18 Kees Cook [this message]
2024-06-04 7:24 ` [PATCH] selftests: drivers/s390x: Use SKIP() during FIXTURE_SETUP Janosch Frank
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240518001806.work.381-kees@kernel.org \
--to=keescook@chromium.org \
--cc=borntraeger@linux.ibm.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=shuah@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.