- add 0001-test-helpers-fix-socket-length-type.patch

fixes tests on big endian

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/liburing?expand=0&rev=25
This commit is contained in:
Dirk Mueller 2023-01-21 09:20:15 +00:00 committed by Git OBS Bridge
parent 380a715503
commit 17d092784d
3 changed files with 50 additions and 1 deletions

View File

@ -0,0 +1,41 @@
From b5caa618565c0c6d0053f7b1bae2423cd317660c Mon Sep 17 00:00:00 2001
From: Gabriel Krisman Bertazi <krisman@suse.de>
Date: Wed, 18 Jan 2023 11:48:06 -0300
Subject: [PATCH] test/helpers: fix socket length type
t_create_socket_pair uses size_t for paddrlen, which is uint64 on 64-bit
architecture, while the network syscalls expect uint32. The implicit
cast is always safe for little-endian here due to the structure format,
its small size and the fact it was previously zeroed - so the test
succeeds.
Still, on BE machines, our CI caught a few tests crashing on
connect(). For instance:
localhost:~/liburing/test # ./send_recv.t
connect failed
test_invalid failed
Signed-off-by: Gabriel Krisman Bertazi <krisman@suse.de>
Link: https://lore.kernel.org/r/20230118144806.18352-1-krisman@suse.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
test/helpers.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/helpers.c b/test/helpers.c
index 869e903..37ba67c 100644
--- a/test/helpers.c
+++ b/test/helpers.c
@@ -173,7 +173,7 @@ int t_create_socket_pair(int fd[2], bool stream)
int val;
struct sockaddr_in serv_addr;
struct sockaddr *paddr;
- size_t paddrlen;
+ socklen_t paddrlen;
type |= SOCK_CLOEXEC;
fd[0] = socket(AF_INET, type, 0);
--
2.39.0

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Sat Jan 21 09:19:57 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add 0001-test-helpers-fix-socket-length-type.patch
fixes tests on big endian
-------------------------------------------------------------------
Fri Nov 18 21:26:17 UTC 2022 - Dirk Müller <dmueller@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package liburing
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -25,6 +25,8 @@ License: (GPL-2.0-only AND LGPL-2.1-or-later) OR MIT
Group: Development/Libraries/C and C++
URL: https://git.kernel.dk/cgit/liburing
Source: https://git.kernel.dk/cgit/liburing/snapshot/%{name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM: fix tests on big endian
Patch1: 0001-test-helpers-fix-socket-length-type.patch
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: procps