Accepting request 1223400 from hardware
- Add 0001-t_system_single-handle-missing-selinux-context.patch: * tests: umockdev-record: t_system_single: handle missing SELinux context on /dev/null (Cherry-picked from commit f5c3a2e4ecbb2ab733b19b0bf84c8334cedd8ba2) * Fixes testsuite failure in SLFO. - Move to the %autosetup macro OBS-URL: https://build.opensuse.org/request/show/1223400 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/umockdev?expand=0&rev=22
This commit is contained in:
commit
77898bf1c5
60
0001-t_system_single-handle-missing-selinux-context.patch
Normal file
60
0001-t_system_single-handle-missing-selinux-context.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
From f5c3a2e4ecbb2ab733b19b0bf84c8334cedd8ba2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eugenio Paolantonio <eugenio.paolantonio@suse.com>
|
||||||
|
Date: Wed, 30 Oct 2024 14:15:30 +0100
|
||||||
|
Subject: [PATCH] tests: umockdev-record: t_system_single: handle missing
|
||||||
|
SELinux context on /dev/null
|
||||||
|
|
||||||
|
/sys/fs/selinux might exist, yet the checked path might have no
|
||||||
|
context defined.
|
||||||
|
|
||||||
|
Drop the check for the selinux pseudo-fs, and check the eventual
|
||||||
|
errno if lgetfilecon() fails.
|
||||||
|
|
||||||
|
On ENODATA (context doesn't exist, or the process can't access it),
|
||||||
|
ENOTSUP (extended attributes not supported/disabled) and ENOSYS
|
||||||
|
(lgetxattr syscall used by lgetfilecon() not available), ensure
|
||||||
|
__DEVCONTEXT is not there and continue.
|
||||||
|
|
||||||
|
On every other error, fail the test case as before.
|
||||||
|
|
||||||
|
Signed-off-by: Eugenio Paolantonio <eugenio.paolantonio@suse.com>
|
||||||
|
---
|
||||||
|
tests/test-umockdev-record.vala | 24 ++++++++++++++++++------
|
||||||
|
1 file changed, 18 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/test-umockdev-record.vala b/tests/test-umockdev-record.vala
|
||||||
|
index 8672ee1..2c362fa 100644
|
||||||
|
--- a/tests/test-umockdev-record.vala
|
||||||
|
+++ b/tests/test-umockdev-record.vala
|
||||||
|
@@ -201,13 +201,25 @@ t_system_single ()
|
||||||
|
assert_in("P: /devices/virtual/mem/null", sout);
|
||||||
|
assert_in("E: DEVNAME=/dev/zero", sout);
|
||||||
|
#if HAVE_SELINUX
|
||||||
|
- // we may run on a system without SELinux
|
||||||
|
- if (FileUtils.test("/sys/fs/selinux", FileTest.EXISTS)) {
|
||||||
|
- string context;
|
||||||
|
- assert_cmpint (Selinux.lgetfilecon ("/dev/null", out context), CompareOperator.GT, 0);
|
||||||
|
- assert_in("E: __DEVCONTEXT=" + context + "\n", sout);
|
||||||
|
+ string context;
|
||||||
|
+ int res = Selinux.lgetfilecon ("/dev/null", out context);
|
||||||
|
+ if (res > 0) {
|
||||||
|
+ assert_in ("E: __DEVCONTEXT=" + context + "\n", sout);
|
||||||
|
+ } else if (res == -1 && (Posix.errno == Posix.ENODATA ||
|
||||||
|
+ Posix.errno == Posix.ENOTSUP ||
|
||||||
|
+ Posix.errno == Posix.ENOSYS)) {
|
||||||
|
+ // If SELinux is not available, or is available but
|
||||||
|
+ // there is no context defined for /dev/null,
|
||||||
|
+ // we should skip this check as there is
|
||||||
|
+ // no context recorded.
|
||||||
|
+ //
|
||||||
|
+ // ENODATA: context doesn't exist, or the process
|
||||||
|
+ // can't access it
|
||||||
|
+ // ENOTSUP: extended attributes not supported/disabled
|
||||||
|
+ // ENOSYS: lgetxattr syscall not available
|
||||||
|
+ assert (!sout.contains("E: __DEVCONTEXT"));
|
||||||
|
} else {
|
||||||
|
- assert(!sout.contains("E: __DEVCONTEXT"));
|
||||||
|
+ assert_cmpint (res, CompareOperator.GT, 0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
@ -1,3 +1,13 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 31 14:19:29 UTC 2024 - Eugenio Paolantonio <eugenio.paolantonio@suse.com>
|
||||||
|
|
||||||
|
- Add 0001-t_system_single-handle-missing-selinux-context.patch:
|
||||||
|
* tests: umockdev-record: t_system_single: handle missing
|
||||||
|
SELinux context on /dev/null (Cherry-picked from commit
|
||||||
|
f5c3a2e4ecbb2ab733b19b0bf84c8334cedd8ba2)
|
||||||
|
* Fixes testsuite failure in SLFO.
|
||||||
|
- Move to the %autosetup macro
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Oct 7 21:38:00 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
Mon Oct 7 21:38:00 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
@ -25,6 +25,8 @@ Summary: Mock hardware devices for creating unit tests and bug reporting
|
|||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
URL: https://github.com/martinpitt/umockdev/
|
URL: https://github.com/martinpitt/umockdev/
|
||||||
Source: https://github.com/martinpitt/umockdev/releases/download/%{version}/%{name}-%{version}.tar.xz
|
Source: https://github.com/martinpitt/umockdev/releases/download/%{version}/%{name}-%{version}.tar.xz
|
||||||
|
# PATCH-FIX-UPSTREAM 0001-t_system_single-handle-missing-selinux-context.patch gh#martinpitt/umockdev#256 eugenio.paolantonio@suse.com -- tests: umockdev-record: t_system_single: handle missing SELinux context on /dev/null
|
||||||
|
Patch1: 0001-t_system_single-handle-missing-selinux-context.patch
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: gtk-doc
|
BuildRequires: gtk-doc
|
||||||
BuildRequires: meson
|
BuildRequires: meson
|
||||||
@ -90,7 +92,7 @@ This package provides the GObject Introspection bindings for the library
|
|||||||
umockdev.
|
umockdev.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%meson
|
%meson
|
||||||
|
Loading…
x
Reference in New Issue
Block a user