https://bugs.gentoo.org/916884 https://github.com/wxWidgets/wxWidgets/pull/24197 From 891bfff867b7dc92ed6330ea46ee2dcfa5424ee0 Mon Sep 17 00:00:00 2001 From: Cliff Zhao Date: Thu, 4 Jan 2024 08:01:00 +0100 Subject: [PATCH] Fix testsuite failures on s390x ``/sys/power/state`` does not exist on s390x platforms and certain types of containers, so check that the file exist before running the test case. Output from ``make check`` was: ./textfile/textfiletest.cpp:351 ............................................................................... ./textfile/textfiletest.cpp:354: FAILED: CHECK( f.Open("/sys/power/state") ) with expansion: false ./textfile/textfiletest.cpp:355: FAILED: REQUIRE( f.GetLineCount() == 1 ) with expansion: 0 == 1 --- tests/file/filetest.cpp | 2 ++ tests/filename/filenametest.cpp | 2 ++ tests/textfile/textfiletest.cpp | 2 ++ 3 files changed, 6 insertions(+) diff --git a/tests/file/filetest.cpp b/tests/file/filetest.cpp index 8902eb4d6684..fc3c90569480 100644 --- a/tests/file/filetest.cpp +++ b/tests/file/filetest.cpp @@ -153,6 +153,7 @@ TEST_CASE("wxFile::Special", "[file][linux][special-file]") CHECK( fileProc.ReadAll(&s) ); CHECK( !s.empty() ); + if ( wxFile::Exists("/sys/power/state") ) { // All files in /sys have the size of one kernel page, even if they don't // have that much data in them. const long pageSize = sysconf(_SC_PAGESIZE); @@ -163,6 +164,7 @@ TEST_CASE("wxFile::Special", "[file][linux][special-file]") CHECK( fileSys.ReadAll(&s) ); CHECK( !s.empty() ); CHECK( s.length() < pageSize ); + } } #endif // __LINUX__ diff --git a/tests/filename/filenametest.cpp b/tests/filename/filenametest.cpp index 84356b39f719..ce2ec2af2760 100644 --- a/tests/filename/filenametest.cpp +++ b/tests/filename/filenametest.cpp @@ -1040,9 +1040,11 @@ TEST_CASE("wxFileName::GetSizeSpecial", "[filename][linux][special-file]") INFO( "size of /proc/kcore=" << size ); CHECK( size > 0 ); + if ( wxFile::Exists("/sys/power/state") ) { // All files in /sys are one page in size, irrespectively of the size of // their actual contents. CHECK( wxFileName::GetSize("/sys/power/state") == sysconf(_SC_PAGESIZE) ); + } } #endif // __LINUX__ diff --git a/tests/textfile/textfiletest.cpp b/tests/textfile/textfiletest.cpp index f744ffc3271b..73467be8f85f 100644 --- a/tests/textfile/textfiletest.cpp +++ b/tests/textfile/textfiletest.cpp @@ -348,6 +348,7 @@ TEST_CASE("wxTextFile::Special", "[textfile][linux][special-file]") CHECK( f.GetLineCount() > 1 ); } + if ( wxFile::Exists("/sys/power/state") ) { SECTION("/sys") { wxTextFile f; @@ -356,6 +357,7 @@ TEST_CASE("wxTextFile::Special", "[textfile][linux][special-file]") INFO( "/sys/power/state contains \"" << f[0] << "\"" ); CHECK( (f[0].find("mem") != wxString::npos || f[0].find("disk") != wxString::npos) ); } + } } #endif // __LINUX__