mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-03 11:23:58 +00:00
[libcxx] Fix the function name in exceptions from create_directories
If the nested create_directory call fails, we'd still want to re-report the errors with the create_directories function name, which is what the caller called. This fixes one aspect from MS STL's tests for std::filesystem. Differential Revision: https://reviews.llvm.org/D102365
This commit is contained in:
parent
a004da0d77
commit
68e4596253
@ -1022,7 +1022,10 @@ bool __create_directories(const path& p, error_code* ec) {
|
||||
} else if (not is_directory(parent_st))
|
||||
return err.report(errc::not_a_directory);
|
||||
}
|
||||
return __create_directory(p, ec);
|
||||
bool ret = __create_directory(p, &m_ec);
|
||||
if (m_ec)
|
||||
return err.report(m_ec);
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool __create_directory(const path& p, error_code* ec) {
|
||||
|
@ -138,6 +138,18 @@ TEST_CASE(dest_final_part_is_file)
|
||||
TEST_CHECK(!exists(dir));
|
||||
}
|
||||
|
||||
TEST_CASE(dest_is_empty_path)
|
||||
{
|
||||
std::error_code ec = GetTestEC();
|
||||
TEST_CHECK(fs::create_directories(fs::path{}, ec) == false);
|
||||
TEST_CHECK(ec);
|
||||
TEST_CHECK(ErrorIs(ec, std::errc::no_such_file_or_directory));
|
||||
ExceptionChecker Checker(path{}, std::errc::no_such_file_or_directory,
|
||||
"create_directories");
|
||||
TEST_CHECK_THROW_RESULT(filesystem_error, Checker,
|
||||
fs::create_directories(path{}));
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
TEST_CASE(nonexistent_root)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user