Fix test suite on Linux/s390x and maybe other architectures
We can't rely on file /sys/power/state always existing, so just skip the test (with a warning) instead of failing it if it does not exist, as is the case at least under s390x and seemingly other non-desktop platforms. Closes #24197. Co-authored-by: Cliff Zhao <qzhao@suse.com>
This commit is contained in:
parent
e38a61a09b
commit
e2cc16ef9c
3 changed files with 19 additions and 2 deletions
|
|
@ -150,8 +150,13 @@ TEST_CASE("wxFile::Special", "[file][linux][special-file]")
|
||||||
const long pageSize = sysconf(_SC_PAGESIZE);
|
const long pageSize = sysconf(_SC_PAGESIZE);
|
||||||
|
|
||||||
wxFile fileSys("/sys/power/state");
|
wxFile fileSys("/sys/power/state");
|
||||||
|
if ( !fileSys.IsOpened() )
|
||||||
|
{
|
||||||
|
WARN("/sys/power/state can't be opened, skipping test");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
CHECK( fileSys.Length() == pageSize );
|
CHECK( fileSys.Length() == pageSize );
|
||||||
CHECK( fileSys.IsOpened() );
|
|
||||||
CHECK( fileSys.ReadAll(&s) );
|
CHECK( fileSys.ReadAll(&s) );
|
||||||
CHECK( !s.empty() );
|
CHECK( !s.empty() );
|
||||||
CHECK( s.length() < static_cast<unsigned long>(pageSize) );
|
CHECK( s.length() < static_cast<unsigned long>(pageSize) );
|
||||||
|
|
|
||||||
|
|
@ -1040,6 +1040,12 @@ TEST_CASE("wxFileName::GetSizeSpecial", "[filename][linux][special-file]")
|
||||||
INFO( "size of /proc/kcore=" << size );
|
INFO( "size of /proc/kcore=" << size );
|
||||||
CHECK( size > 0 );
|
CHECK( size > 0 );
|
||||||
|
|
||||||
|
if ( !wxFile::Exists("/sys/power/state") )
|
||||||
|
{
|
||||||
|
WARN("/sys/power/state doesn't exist, skipping test");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// All files in /sys are one page in size, irrespectively of the size of
|
// All files in /sys are one page in size, irrespectively of the size of
|
||||||
// their actual contents.
|
// their actual contents.
|
||||||
CHECK( wxFileName::GetSize("/sys/power/state") == sysconf(_SC_PAGESIZE) );
|
CHECK( wxFileName::GetSize("/sys/power/state") == sysconf(_SC_PAGESIZE) );
|
||||||
|
|
|
||||||
|
|
@ -336,12 +336,18 @@ TEST_CASE("wxTextFile::Special", "[textfile][linux][special-file]")
|
||||||
SECTION("/proc")
|
SECTION("/proc")
|
||||||
{
|
{
|
||||||
wxTextFile f;
|
wxTextFile f;
|
||||||
CHECK( f.Open("/proc/cpuinfo") );
|
REQUIRE( f.Open("/proc/cpuinfo") );
|
||||||
CHECK( f.GetLineCount() > 1 );
|
CHECK( f.GetLineCount() > 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("/sys")
|
SECTION("/sys")
|
||||||
{
|
{
|
||||||
|
if ( wxFile::Exists("/sys/power/state") )
|
||||||
|
{
|
||||||
|
WARN("/sys/power/state doesn't exist, skipping test");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
wxTextFile f;
|
wxTextFile f;
|
||||||
CHECK( f.Open("/sys/power/state") );
|
CHECK( f.Open("/sys/power/state") );
|
||||||
REQUIRE( f.GetLineCount() == 1 );
|
REQUIRE( f.GetLineCount() == 1 );
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue