diff options
author | Eric Fiselier <eric@efcs.ca> | 2016-10-15 23:05:04 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2016-10-15 23:05:04 +0000 |
commit | 9ada18b3392b89876b2315b0a5e35088f9d6e0fb (patch) | |
tree | 3f0f0fdeef28e1f89a456d41952123a258603958 /libcxx/test/std/experimental/filesystem | |
parent | 87ee8a0adb05dd695c7b5e84302ae43a57c0f417 (diff) | |
download | bcm5719-llvm-9ada18b3392b89876b2315b0a5e35088f9d6e0fb.tar.gz bcm5719-llvm-9ada18b3392b89876b2315b0a5e35088f9d6e0fb.zip |
Implement LWG 2672.
llvm-svn: 284314
Diffstat (limited to 'libcxx/test/std/experimental/filesystem')
-rw-r--r-- | libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp b/libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp index ba07d09d10d..bc62086c2cf 100644 --- a/libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp +++ b/libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp @@ -77,4 +77,33 @@ TEST_CASE(test_is_empty_fails) TEST_CHECK_THROW(filesystem_error, is_empty(dir2)); } +TEST_CASE(test_directory_access_denied) +{ + scoped_test_env env; + const path dir = env.create_dir("dir"); + const path file1 = env.create_file("dir/file", 42); + permissions(dir, perms::none); + + std::error_code ec = GetTestEC(); + TEST_CHECK(is_empty(dir, ec) == false); + TEST_CHECK(ec); + TEST_CHECK(ec != GetTestEC()); + + TEST_CHECK_THROW(filesystem_error, is_empty(dir)); +} + + +TEST_CASE(test_fifo_fails) +{ + scoped_test_env env; + const path fifo = env.create_fifo("fifo"); + + std::error_code ec = GetTestEC(); + TEST_CHECK(is_empty(fifo, ec) == false); + TEST_CHECK(ec); + TEST_CHECK(ec != GetTestEC()); + + TEST_CHECK_THROW(filesystem_error, is_empty(fifo)); +} + TEST_SUITE_END() |