mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
03ca5c55f9
commit
e921c7e5a6
|
|
@ -1,3 +1,8 @@
|
||||||
|
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>
|
2017-10-24 François Dumont <fdumont@gcc.gnu.org>
|
||||||
|
|
||||||
* testsuite/lib/libstdc++.exp (check_v3_target_normal_mode): Add
|
* testsuite/lib/libstdc++.exp (check_v3_target_normal_mode): Add
|
||||||
|
|
|
||||||
|
|
@ -86,9 +86,10 @@ test03()
|
||||||
create_symlink(f.path, p);
|
create_symlink(f.path, p);
|
||||||
|
|
||||||
std::error_code ec = make_error_code(std::errc::no_such_file_or_directory);
|
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,
|
permissions(p, perms::owner_all,
|
||||||
perm_options::replace|perm_options::nofollow, ec);
|
perm_options::replace|perm_options::nofollow, ec);
|
||||||
|
bool caught = false;
|
||||||
|
std::error_code ec2;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
permissions(p, perms::owner_all,
|
permissions(p, perms::owner_all,
|
||||||
|
|
@ -96,11 +97,18 @@ test03()
|
||||||
}
|
}
|
||||||
catch (const std::filesystem::filesystem_error& ex)
|
catch (const std::filesystem::filesystem_error& ex)
|
||||||
{
|
{
|
||||||
|
caught = true;
|
||||||
ec2 = ex.code();
|
ec2 = ex.code();
|
||||||
VERIFY( ex.path1() == p );
|
VERIFY( ex.path1() == p );
|
||||||
}
|
}
|
||||||
// Both calls should succeed, or both should fail with same error:
|
// 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);
|
remove(p);
|
||||||
}
|
}
|
||||||
|
|
@ -114,9 +122,9 @@ test04()
|
||||||
create_symlink(__gnu_test::nonexistent_path(), p);
|
create_symlink(__gnu_test::nonexistent_path(), p);
|
||||||
|
|
||||||
std::error_code ec = make_error_code(std::errc::no_such_file_or_directory);
|
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);
|
permissions(p, perms::owner_all, ec);
|
||||||
VERIFY( ec );
|
VERIFY( ec );
|
||||||
|
std::error_code ec2;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
permissions(p, perms::owner_all);
|
permissions(p, perms::owner_all);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue