This page collects the results of running the test suite from my ghc::filesystem on
std::filesystem implementations of various compiler suites. Shown are only issues that
trigger a fail or a warning, compared to the behaviour of ghc::filesystem.
| Title | clang-7.1 | clang-8.0 | clang-9.0.1 | gcc-8.3 | gcc-9.2 | msvc-19.16 | msvc-19.23 |
|---|---|---|---|---|---|---|---|
| [fs.path.generic] | /home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:363:
warning:
This implementation doesn't support path("//host").has_root_name() == true
[C++17 30.12.8.1 par. 4] on this platform, tests based on this are skipped.
(Should be okay.)
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:363:
warning:
This implementation doesn't support path("//host").has_root_name() == true
[C++17 30.12.8.1 par. 4] on this platform, tests based on this are skipped.
(Should be okay.)
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:363:
warning:
This implementation doesn't support path("//host").has_root_name() == true
[C++17 30.12.8.1 par. 4] on this platform, tests based on this are skipped.
(Should be okay.)
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:363:
warning:
This implementation doesn't support path("//host").has_root_name() == true
[C++17 30.12.8.1 par. 4] on this platform, tests based on this are skipped.
(Should be okay.)
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:363:
warning:
This implementation doesn't support path("//host").has_root_name() == true
[C++17 30.12.8.1 par. 4] on this platform, tests based on this are skipped.
(Should be okay.)
|
||
| [fs.path.native.obs] | /home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:574: FAILED:
CHECK( fs::u8path("\xc3\xa4/\xe2\x82\xac\xf0\x9d\x84\x9e").u16string() == std::u16string(u"\u00E4/\u20AC\U0001D11E") )
due to unexpected exception with messages:
This check might fail on GCC8 (with "Illegal byte sequence") due to not
detecting the valid unicode codepoint U+1D11E.
filesystem error: Cannot convert character sequence: Invalid or incomplete
multibyte or wide character
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:570: FAILED:
CHECK( fs::u8path("\xc3\xa4/\xe2\x82\xac").wstring() == std::wstring(L"ä/€") )
due to unexpected exception with message:
filesystem error: Cannot convert character sequence: Invalid or incomplete
multibyte or wide character
|
|||||
| [fs.path.generic.obs] | /home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:599: FAILED:
CHECK( fs::u8path("\xc3\xa4/\xe2\x82\xac").generic_wstring() == std::wstring(L"ä/€") )
due to unexpected exception with message:
filesystem error: Cannot convert character sequence: Invalid or incomplete
multibyte or wide character
|
||||||
| [fs.path.itr] | C:\projects\filesystem\test\filesystem_test.cpp(965): FAILED:
CHECK( "/,foo,bar" == iterateResult(fs::path("///foo/bar")) )
with expansion:
"/,foo,bar" == "///,foo,bar"
C:\projects\filesystem\test\filesystem_test.cpp(982): FAILED:
CHECK( "bar,foo,/" == reverseIterateResult(fs::path("///foo/bar")) )
with expansion:
"bar,foo,/" == "bar,foo,///"
|
C:\projects\filesystem\test\filesystem_test.cpp(965): FAILED:
CHECK( "/,foo,bar" == iterateResult(fs::path("///foo/bar")) )
with expansion:
"/,foo,bar" == "///,foo,bar"
C:\projects\filesystem\test\filesystem_test.cpp(982): FAILED:
CHECK( "bar,foo,/" == reverseIterateResult(fs::path("///foo/bar")) )
with expansion:
"bar,foo,/" == "bar,foo,///"
|
|||||
| [fs.path.io] | C:\projects\filesystem\test\filesystem_test.cpp(1052): FAILED: CHECK( os.str() == "\"\\\\root\\\\foo bar\"" ) with expansion: ""/root/foo bar"" == ""\\root\\foo bar"" C:\projects\filesystem\test\filesystem_test.cpp(1061): FAILED: CHECK( os.str() == "\"\\\\root\\\\foo\\\"bar\"" ) with expansion: ""/root/foo\"bar"" == ""\\root\\foo\"bar"" |
C:\projects\filesystem\test\filesystem_test.cpp(1052): FAILED: CHECK( os.str() == "\"\\\\root\\\\foo bar\"" ) with expansion: ""/root/foo bar"" == ""\\root\\foo bar"" C:\projects\filesystem\test\filesystem_test.cpp(1061): FAILED: CHECK( os.str() == "\"\\\\root\\\\foo\\\"bar\"" ) with expansion: ""/root/foo\"bar"" == ""\\root\\foo\"bar"" |
|||||
| [fs.dir.entry] | /home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1191: FAILED:
CHECK_THROWS_AS( none.refresh(), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1195: FAILED:
CHECK_THROWS_AS( de.assign(""), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1242: FAILED:
CHECK_THROWS_AS( de.replace_filename("bar"), fs::filesystem_error )
because no exception was thrown where one was expected:
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1191: FAILED:
CHECK_THROWS_AS( none.refresh(), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1195: FAILED:
CHECK_THROWS_AS( de.assign(""), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1242: FAILED:
CHECK_THROWS_AS( de.replace_filename("bar"), fs::filesystem_error )
because no exception was thrown where one was expected:
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1191: FAILED:
CHECK_THROWS_AS( none.refresh(), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1195: FAILED:
CHECK_THROWS_AS( de.assign(""), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1242: FAILED:
CHECK_THROWS_AS( de.replace_filename("bar"), fs::filesystem_error )
because no exception was thrown where one was expected:
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1191: FAILED:
CHECK_THROWS_AS( none.refresh(), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1195: FAILED:
CHECK_THROWS_AS( de.assign(""), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1242: FAILED:
CHECK_THROWS_AS( de.replace_filename("bar"), fs::filesystem_error )
because no exception was thrown where one was expected:
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1191: FAILED:
CHECK_THROWS_AS( none.refresh(), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1195: FAILED:
CHECK_THROWS_AS( de.assign(""), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1242: FAILED:
CHECK_THROWS_AS( de.replace_filename("bar"), fs::filesystem_error )
because no exception was thrown where one was expected:
|
C:\projects\filesystem\test\filesystem_test.cpp(1195): FAILED:
CHECK_THROWS_AS( de.assign(""), fs::filesystem_error )
because no exception was thrown where one was expected:
C:\projects\filesystem\test\filesystem_test.cpp(1198): FAILED:
CHECK( ec )
with expansion:
system:0
C:\projects\filesystem\test\filesystem_test.cpp(1242): FAILED:
CHECK_THROWS_AS( de.replace_filename("bar"), fs::filesystem_error )
because no exception was thrown where one was expected:
C:\projects\filesystem\test\filesystem_test.cpp(1246): FAILED:
CHECK( ec )
with expansion:
system:0
C:\projects\filesystem\test\filesystem_test.cpp(1261): FAILED:
CHECK( de2none.status().type() == fs::file_type::not_found )
with expansion:
2 == 1
C:\projects\filesystem\test\filesystem_test.cpp(1262): FAILED:
CHECK( de2none.status(ec).type() == fs::file_type::not_found )
with expansion:
2 == 1
C:\projects\filesystem\test\filesystem_test.cpp(1263): FAILED:
CHECK( ec )
with expansion:
system:0
|
|
| [fs.op.absolute] | /home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1503: FAILED:
CHECK( fs::absolute("") == fs::current_path() / "" )
due to unexpected exception with message:
filesystem error: cannot make absolute path: Invalid argument
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1509: FAILED:
CHECK( fs::absolute("", ec) == fs::current_path() / "" )
with expansion:
""
==
"/home/travis/build/gulrak/filesystem/build/"
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1510: FAILED:
CHECK( !ec )
with expansion:
false
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1503: FAILED:
CHECK( fs::absolute("") == fs::current_path() / "" )
due to unexpected exception with message:
filesystem error: cannot make absolute path: Invalid argument []
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1509: FAILED:
CHECK( fs::absolute("", ec) == fs::current_path() / "" )
with expansion:
""
==
"/home/travis/build/gulrak/filesystem/build/"
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1510: FAILED:
CHECK( !ec )
with expansion:
false
|
C:\projects\filesystem\test\filesystem_test.cpp(1503): FAILED:
CHECK( fs::absolute("") == fs::current_path() / "" )
with expansion:
"" == "C:\projects\filesystem\build\"
C:\projects\filesystem\test\filesystem_test.cpp(1505): FAILED:
CHECK( fs::absolute(".") == fs::current_path() / "." )
with expansion:
"C:\projects\filesystem\build"
==
"C:\projects\filesystem\build\."
C:\projects\filesystem\test\filesystem_test.cpp(1509): FAILED:
CHECK( fs::absolute("", ec) == fs::current_path() / "" )
with expansion:
"" == "C:\projects\filesystem\build\"
|
C:\projects\filesystem\test\filesystem_test.cpp(1503): FAILED:
CHECK( fs::absolute("") == fs::current_path() / "" )
with expansion:
"" == "C:\projects\filesystem\build\"
C:\projects\filesystem\test\filesystem_test.cpp(1505): FAILED:
CHECK( fs::absolute(".") == fs::current_path() / "." )
with expansion:
"C:\projects\filesystem\build"
==
"C:\projects\filesystem\build\."
C:\projects\filesystem\test\filesystem_test.cpp(1509): FAILED:
CHECK( fs::absolute("", ec) == fs::current_path() / "" )
with expansion:
"" == "C:\projects\filesystem\build\"
|
|||
| [fs.op.canonical] | /home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1517: FAILED:
CHECK_THROWS_AS( fs::canonical(""), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1520: FAILED:
CHECK( fs::canonical("", ec) == "" )
with expansion:
"/home/travis/build/gulrak/filesystem/build"
==
""
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1521: FAILED:
CHECK( ec )
with expansion:
system:0
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1517: FAILED:
CHECK_THROWS_AS( fs::canonical(""), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1520: FAILED:
CHECK( fs::canonical("", ec) == "" )
with expansion:
"/home/travis/build/gulrak/filesystem/build"
==
""
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1521: FAILED:
CHECK( ec )
with expansion:
system:0
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1517: FAILED:
CHECK_THROWS_AS( fs::canonical(""), fs::filesystem_error )
because no exception was thrown where one was expected:
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1520: FAILED:
CHECK( fs::canonical("", ec) == "" )
with expansion:
"/home/travis/build/gulrak/filesystem/build"
==
""
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1521: FAILED:
CHECK( ec )
with expansion:
system:0
|
C:\projects\filesystem\test\filesystem_test.cpp(1517): FAILED:
CHECK_THROWS_AS( fs::canonical(""), fs::filesystem_error )
because no exception was thrown where one was expected:
C:\projects\filesystem\test\filesystem_test.cpp(1521): FAILED:
CHECK( ec )
with expansion:
system:0
|
C:\projects\filesystem\test\filesystem_test.cpp(1517): FAILED:
CHECK_THROWS_AS( fs::canonical(""), fs::filesystem_error )
because no exception was thrown where one was expected:
C:\projects\filesystem\test\filesystem_test.cpp(1521): FAILED:
CHECK( ec )
with expansion:
system:0
|
||
| [fs.op.create_directories] | C:\projects\filesystem\test\filesystem_test.cpp(1709): FAILED: CHECK_THROWS_AS( fs::create_directories(p), fs::filesystem_error ) because no exception was thrown where one was expected: This test expects conformance with P1164R1. (implemented by GCC with issue #86910.) C:\projects\filesystem\test\filesystem_test.cpp(1714): FAILED: CHECK( ec ) with expansion: system:0 with message: This test expects conformance with P1164R1. (implemented by GCC with issue #86910.) |
||||||
| [fs.op.create_directory] | /home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1756: FAILED: REQUIRE_THROWS_AS( fs::create_directory(p), fs::filesystem_error ) because no exception was thrown where one was expected: This test expects conformance with P1164R1. (implemented by GCC with issue #86910.) |
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1756: FAILED: REQUIRE_THROWS_AS( fs::create_directory(p), fs::filesystem_error ) because no exception was thrown where one was expected: This test expects conformance with P1164R1. (implemented by GCC with issue #86910.) |
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1756: FAILED: REQUIRE_THROWS_AS( fs::create_directory(p), fs::filesystem_error ) because no exception was thrown where one was expected: This test expects conformance with P1164R1. (implemented by GCC with issue #86910.) |
C:\projects\filesystem\test\filesystem_test.cpp(1756): FAILED: REQUIRE_THROWS_AS( fs::create_directory(p), fs::filesystem_error ) because no exception was thrown where one was expected: This test expects conformance with P1164R1. (implemented by GCC with issue #86910.) |
|||
| [fs.op.equivalent] | /home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1854: FAILED:
REQUIRE_THROWS_AS( fs::equivalent("foo", "foo3"), fs::filesystem_error )
because no exception was thrown where one was expected:
This test expects LWG #2937 result conformance.
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:1854: FAILED:
REQUIRE_THROWS_AS( fs::equivalent("foo", "foo3"), fs::filesystem_error )
because no exception was thrown where one was expected:
This test expects LWG #2937 result conformance.
|
|||||
| [fs.op.weakly_canonical] | /home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2600: FAILED:
CHECK( fs::weakly_canonical("") == "." )
with expansion:
"/home/travis/build/gulrak/filesystem/build"
==
"."
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2600: FAILED:
CHECK( fs::weakly_canonical("") == "." )
with expansion:
"/home/travis/build/gulrak/filesystem/build"
==
"."
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2600: FAILED:
CHECK( fs::weakly_canonical("") == "." )
with expansion:
"/home/travis/build/gulrak/filesystem/build"
==
"."
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2600: FAILED:
CHECK( fs::weakly_canonical("") == "." )
with expansion:
"" == "."
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2607: FAILED:
CHECK( fs::weakly_canonical("foo/bar") == fs::current_path() / "foo/bar" )
with expansion:
"foo/bar"
==
"/home/travis/build/gulrak/filesystem/build/foo/bar"
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2608: FAILED:
CHECK( fs::weakly_canonical("foo/./bar") == fs::current_path() / "foo/bar" )
with expansion:
"foo/bar"
==
"/home/travis/build/gulrak/filesystem/build/foo/bar"
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2609: FAILED:
CHECK( fs::weakly_canonical("foo/../bar") == fs::current_path() / "bar" )
with expansion:
"bar"
==
"/home/travis/build/gulrak/filesystem/build/bar"
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
|
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2600: FAILED:
CHECK( fs::weakly_canonical("") == "." )
with expansion:
"" == "."
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2607: FAILED:
CHECK( fs::weakly_canonical("foo/bar") == fs::current_path() / "foo/bar" )
with expansion:
"foo/bar"
==
"/home/travis/build/gulrak/filesystem/build/foo/bar"
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2608: FAILED:
CHECK( fs::weakly_canonical("foo/./bar") == fs::current_path() / "foo/bar" )
with expansion:
"foo/bar"
==
"/home/travis/build/gulrak/filesystem/build/foo/bar"
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
/home/travis/build/gulrak/filesystem/test/filesystem_test.cpp:2609: FAILED:
CHECK( fs::weakly_canonical("foo/../bar") == fs::current_path() / "bar" )
with expansion:
"bar"
==
"/home/travis/build/gulrak/filesystem/build/bar"
with message:
This might fail on std::implementations that return fs::current_path() for
fs::canonical("")
|