Commit e921c7e5 by Jonathan Wakely Committed by Jonathan Wakely

PR libstdc++/82706 fix test for case where operations succeed

	PR libstdc++/82706
	* testsuite/27_io/filesystem/operations/permissions.cc: Fix test.

From-SVN: r254067
parent 03ca5c55
2017-10-25 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/82706
* testsuite/27_io/filesystem/operations/permissions.cc: Fix test.
2017-10-24 François Dumont <fdumont@gcc.gnu.org>
* testsuite/lib/libstdc++.exp (check_v3_target_normal_mode): Add
......
......@@ -86,9 +86,10 @@ test03()
create_symlink(f.path, p);
std::error_code ec = make_error_code(std::errc::no_such_file_or_directory);
std::error_code ec2 = make_error_code(std::errc::invalid_argument);
permissions(p, perms::owner_all,
perm_options::replace|perm_options::nofollow, ec);
bool caught = false;
std::error_code ec2;
try
{
permissions(p, perms::owner_all,
......@@ -96,11 +97,18 @@ test03()
}
catch (const std::filesystem::filesystem_error& ex)
{
caught = true;
ec2 = ex.code();
VERIFY( ex.path1() == p );
}
// Both calls should succeed, or both should fail with same error:
VERIFY( ec == ec2 );
if (ec)
{
VERIFY( caught );
VERIFY( ec == ec2 );
}
else
VERIFY( !caught );
remove(p);
}
......@@ -114,9 +122,9 @@ test04()
create_symlink(__gnu_test::nonexistent_path(), p);
std::error_code ec = make_error_code(std::errc::no_such_file_or_directory);
std::error_code ec2 = make_error_code(std::errc::invalid_argument);
permissions(p, perms::owner_all, ec);
VERIFY( ec );
std::error_code ec2;
try
{
permissions(p, perms::owner_all);
......
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