[ACT][PATCH 2/3] UBUNTU: SAUCE: ubuntu_ltp_syscalls: skip semctl09 on older Glibc
Krzysztof Kozlowski
krzysztof.kozlowski at canonical.com
Mon Jun 7 15:23:12 UTC 2021
The semctl09 fails:
tst_test.c:1261: TINFO: Timeout per run is 0h 05m 00s
semctl09.c:70: TINFO: Test libc semctl()
semctl09.c:132: TINFO: Test SEM_STAT_ANY with nobody user
semctl09.c:148: TFAIL: SEM_STAT_ANY doesn't pass the buffer specified by the caller to kernel
semctl09.c:132: TINFO: Test SEM_STAT_ANY with root user
semctl09.c:148: TFAIL: SEM_STAT_ANY doesn't pass the buffer specified by the caller to kernel
The test depends on Glibc commit 574500a108be ("sysvipc: Fix
SEM_STAT_ANY kernel argument pass [BZ #26637]") which should be fixed
around Glibc v2.34. Blacklist it if current libc is older.
BugLink: https://bugs.launchpad.net/bugs/1910312
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at canonical.com>
---
ubuntu_ltp_syscalls/testcase_blacklist.py | 10 +++++++++-
ubuntu_ltp_syscalls/ubuntu_ltp_syscalls.py | 11 +++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/ubuntu_ltp_syscalls/testcase_blacklist.py b/ubuntu_ltp_syscalls/testcase_blacklist.py
index 3718a7d6485a..2705c583a501 100644
--- a/ubuntu_ltp_syscalls/testcase_blacklist.py
+++ b/ubuntu_ltp_syscalls/testcase_blacklist.py
@@ -35,5 +35,13 @@ blacklist_db = {
'copy_file_range02 copy_file_range02': {
'comment': 'copy_file_range02 will not get fixed < 5.2.0 (https://lwn.net/Articles/774114)'}
}
- }
+ },
+ 'libc': {
+ # Coming with 574500a108be1d2a6a0dc97a075c9e0a98371aba
+ '2.34': {
+ 'semctl09 semctl09': {
+ 'comment': 'semctl09 will not get fixed for glibc < 2.34 (lp: 1910312)',
+ },
+ },
+ },
}
diff --git a/ubuntu_ltp_syscalls/ubuntu_ltp_syscalls.py b/ubuntu_ltp_syscalls/ubuntu_ltp_syscalls.py
index 5d99195908aa..296a8aa33777 100644
--- a/ubuntu_ltp_syscalls/ubuntu_ltp_syscalls.py
+++ b/ubuntu_ltp_syscalls/ubuntu_ltp_syscalls.py
@@ -72,6 +72,7 @@ class ubuntu_ltp_syscalls(test.test):
self.series = distro.codename()
self.flavour = re.split('-\d*-', platform.uname()[2])[-1]
self.kernel = platform.uname()[2].split('-')[0]
+ self.libc = platform.libc_ver()[1]
# setup
#
@@ -132,6 +133,16 @@ class ubuntu_ltp_syscalls(test.test):
if StrictVersion(self.kernel) < StrictVersion(_kernel):
_blacklist += list(blacklist_db['kernel'][_kernel].keys())
+ try:
+ current_version = parse(self.libc)
+ for _libc in blacklist_db['libc']:
+ if current_version < parse(_libc):
+ _blacklist += list(blacklist_db['libc'][_libc].keys())
+ except NameError:
+ for _libc in blacklist_db['libc']:
+ if StrictVersion(self.libc) < StrictVersion(_libc):
+ _blacklist += list(blacklist_db['libc'][_libc].keys())
+
return _blacklist
def should_stop_timesyncd(self, test):
--
2.27.0
More information about the kernel-team
mailing list