1
0
forked from pool/wxWidgets-3_2
wxWidgets-3_2/wxWidgets-3_2-fix-building-fault-S390.patch

89 lines
2.9 KiB
Diff

From 891bfff867b7dc92ed6330ea46ee2dcfa5424ee0 Mon Sep 17 00:00:00 2001
From: Cliff Zhao <qzhao@suse.com>
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 8902eb4d66..fc3c905694 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 84356b39f7..ce2ec2af27 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 f744ffc327..73467be8f8 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__
--
2.43.0