Commit 95767c65 by Jonathan Wakely Committed by Jonathan Wakely

Fix filesystem::path tests

The root_path.cc test had some debugging macros left in accidentally, so
didn't FAIL correctly if an assertion failed.

The string-char8_t.cc tests didn't compile on Windows.

	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
	macros accidentally left in.
	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: Remove
	unnecessary -lstdc++fs option. Fix test for mingw.
	* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
	Fix test for mingw.

From-SVN: r270685
parent 0d67a510
2019-04-30 Jonathan Wakely <jwakely@redhat.com>
* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
macros accidentally left in.
* testsuite/27_io/filesystem/path/native/string-char8_t.cc: Remove
unnecessary -lstdc++fs option. Fix test for mingw.
* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
Fix test for mingw.
2019-04-30 Jakub Jelinek <jakub@redhat.com> 2019-04-30 Jakub Jelinek <jakub@redhat.com>
* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
......
...@@ -35,10 +35,6 @@ test01() ...@@ -35,10 +35,6 @@ test01()
VERIFY( p2.root_path() == path("/") ); VERIFY( p2.root_path() == path("/") );
} }
#undef VERIFY
#define VERIFY(X) do { if (!(X)) { __builtin_puts("FAIL: " #X); } } while(false)
#define DUMP(X, Y, Z) do { if (!(Y == Z)) { __builtin_printf("%s %s %s\n", X.c_str(), Y.c_str(), Z.c_str()); } } while(false)
void void
test02() test02()
{ {
...@@ -48,7 +44,6 @@ test02() ...@@ -48,7 +44,6 @@ test02()
path rootn = p.root_name(); path rootn = p.root_name();
path rootd = p.root_directory(); path rootd = p.root_directory();
VERIFY( rootp == (rootn / rootd) ); VERIFY( rootp == (rootn / rootd) );
DUMP(p, rootp , (rootn / rootd) );
} }
} }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// with this library; see the file COPYING3. If not see // with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>. // <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++17 -lstdc++fs -fchar8_t" } // { dg-options "-std=gnu++17 -fchar8_t" }
// { dg-do run { target c++17 } } // { dg-do run { target c++17 } }
// { dg-require-filesystem-ts "" } // { dg-require-filesystem-ts "" }
...@@ -27,14 +27,15 @@ void ...@@ -27,14 +27,15 @@ void
test01() test01()
{ {
using namespace std::filesystem; using namespace std::filesystem;
const std::string s = "abc"; using string_type = std::basic_string<path::value_type>;
const string_type s{ 'a', 'b', 'c' };
path p(s); path p(s);
VERIFY( p.native() == s ); VERIFY( p.native() == s );
VERIFY( p.c_str() == s ); VERIFY( p.c_str() == s );
VERIFY( static_cast<std::string>(p) == s ); VERIFY( static_cast<string_type>(p) == s );
std::string s2 = p; // implicit conversion string_type s2 = p; // implicit conversion
VERIFY( s2 == p.native() ); VERIFY( s2 == p.native() );
} }
......
...@@ -27,14 +27,15 @@ void ...@@ -27,14 +27,15 @@ void
test01() test01()
{ {
using namespace std::experimental::filesystem; using namespace std::experimental::filesystem;
const std::string s = "abc"; using string_type = std::basic_string<path::value_type>;
const string_type s{ 'a', 'b', 'c' };
path p(s); path p(s);
VERIFY( p.native() == s ); VERIFY( p.native() == s );
VERIFY( p.c_str() == s ); VERIFY( p.c_str() == s );
VERIFY( static_cast<std::string>(p) == s ); VERIFY( static_cast<string_type>(p) == s );
std::string s2 = p; // implicit conversion string_type s2 = p; // implicit conversion
VERIFY( s2 == p.native() ); VERIFY( s2 == p.native() );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment