updated build system

This commit is contained in:
2024-08-08 19:20:38 -05:00
parent e1ac9efaaa
commit 7977b4b304
16 changed files with 131 additions and 237 deletions

View File

@ -38,15 +38,6 @@ void change_to_process_directory();
[[nodiscard]] auto copy_file(std::string from_path,
std::string to_path) -> bool;
[[nodiscard]] auto create_full_directory_path(std::string path) -> bool;
[[nodiscard]] auto delete_directory(std::string path,
bool recursive = false) -> bool;
[[nodiscard]] auto delete_directory_recursively(std::string path) -> bool;
[[nodiscard]] auto delete_file(std::string path) -> bool;
[[nodiscard]] auto generate_sha256(const std::string &file_path) -> std::string;
[[nodiscard]] auto get_accessed_time(const std::string &path,

View File

@ -103,15 +103,15 @@ app_config::app_config(const provider_type &prov,
hc_.api_password = get_provider_api_password(prov_);
hc_.api_port = default_api_port(prov_);
if (not utils::file::create_full_directory_path(data_directory_)) {
if (not utils::file::create_directories(data_directory_)) {
throw startup_exception("unable to create: " + data_directory_);
}
if (not utils::file::create_full_directory_path(cache_directory_)) {
if (not utils::file::create_directories(cache_directory_)) {
throw startup_exception("unable to create: " + cache_directory_);
}
if (not utils::file::create_full_directory_path(log_directory_)) {
if (not utils::file::create_directories(log_directory_)) {
throw startup_exception("unable to create: " + log_directory_);
}
@ -715,7 +715,7 @@ void app_config::save() {
recur_mutex_lock lock(read_write_mutex_);
if (config_changed_ || not utils::file::is_file(file_path)) {
if (not utils::file::is_directory(data_directory_)) {
if (not utils::file::create_full_directory_path(data_directory_)) {
if (not utils::file::create_directories(data_directory_)) {
utils::error::raise_error(
function_name, "failed to create directory|sp|" + data_directory_ +
"|err|" +

View File

@ -464,7 +464,7 @@ auto file_manager::open_file::close() -> bool {
utils::get_last_error_code(), "failed to delete file");
}
auto parent = utils::path::remove_file_name(fsi_.source_path);
auto parent = utils::path::get_parent_directory(fsi_.source_path);
fsi_.source_path =
utils::path::combine(parent, {utils::create_uuid_string()});
const auto res = provider_.set_item_meta(fsi_.api_path, META_SOURCE,

View File

@ -64,7 +64,7 @@ file_manager::ring_buffer_open_file::ring_buffer_open_file(
ring_state_.set(0U, ring_state_.size(), true);
buffer_directory = utils::path::absolute(buffer_directory);
if (not utils::file::create_full_directory_path(buffer_directory)) {
if (not utils::file::create_directories(buffer_directory)) {
throw std::runtime_error("failed to create buffer directory|path|" +
buffer_directory + "|err|" +
std::to_string(utils::get_last_error_code()));

View File

@ -57,7 +57,7 @@ lock_data::~lock_data() {
auto lock_data::get_lock_data_file() -> std::string {
const auto dir = get_state_directory();
if (not utils::file::create_full_directory_path(dir)) {
if (not utils::file::create_directories(dir)) {
throw startup_exception("failed to create directory|sp|" + dir + "|err|" +
std::to_string(utils::get_last_error_code()));
}
@ -67,7 +67,7 @@ auto lock_data::get_lock_data_file() -> std::string {
auto lock_data::get_lock_file() -> std::string {
const auto dir = get_state_directory();
if (not utils::file::create_full_directory_path(dir)) {
if (not utils::file::create_directories(dir)) {
throw startup_exception("failed to create directory|sp|" + dir + "|err|" +
std::to_string(utils::get_last_error_code()));
}

View File

@ -485,7 +485,7 @@ void base_provider::remove_deleted_files() {
if (utils::file::is_file(item.source_path)) {
const auto orphaned_directory =
utils::path::combine(config_.get_data_directory(), {"orphaned"});
if (utils::file::create_full_directory_path(orphaned_directory)) {
if (utils::file::create_directories(orphaned_directory)) {
const auto parts = utils::string::split(item.api_path, '/', false);
const auto orphaned_file = utils::path::combine(
orphaned_directory,

View File

@ -117,7 +117,7 @@ auto copy_directory_recursively(std::string from_path,
std::string to_path) -> bool {
from_path = utils::path::absolute(from_path);
to_path = utils::path::absolute(to_path);
auto ret = create_full_directory_path(to_path);
auto ret = create_directories(to_path);
if (ret) {
#if defined(_WIN32)
WIN32_FIND_DATA fd{};
@ -167,108 +167,6 @@ auto copy_directory_recursively(std::string from_path,
return ret;
}
auto create_full_directory_path(std::string path) -> bool {
#if defined(_WIN32)
const auto unicode_path =
utils::string::from_utf8(utils::path::absolute(path));
return is_directory(path) ||
(::SHCreateDirectory(nullptr, unicode_path.c_str()) == ERROR_SUCCESS);
#else
auto ret = true;
const auto paths = utils::string::split(
utils::path::absolute(path), utils::path::directory_seperator[0U], false);
std::string current_path;
for (std::size_t i = 0U; ret && (i < paths.size()); i++) {
if (paths[i].empty()) { // Skip root
current_path = utils::path::directory_seperator;
} else {
current_path = utils::path::combine(current_path, {paths[i]});
const auto status = mkdir(current_path.c_str(), S_IRWXU);
ret = ((status == 0) || (errno == EEXIST));
}
}
return ret;
#endif
}
auto delete_directory(std::string path, bool recursive) -> bool {
if (recursive) {
return delete_directory_recursively(path);
}
path = utils::path::absolute(path);
#if defined(_WIN32)
return (not is_directory(path) || utils::retryable_action([&]() -> bool {
return !!::RemoveDirectoryA(path.c_str());
}));
#else
return not is_directory(path) || (rmdir(path.c_str()) == 0);
#endif
}
auto delete_directory_recursively(std::string path) -> bool {
path = utils::path::absolute(path);
#if defined(_WIN32)
WIN32_FIND_DATA fd{};
const auto search = utils::path::combine(path, {"*.*"});
auto find = ::FindFirstFile(search.c_str(), &fd);
if (find != INVALID_HANDLE_VALUE) {
auto res = true;
do {
if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
if ((std::string(fd.cFileName) != ".") &&
(std::string(fd.cFileName) != "..")) {
res = delete_directory_recursively(
utils::path::combine(path, {fd.cFileName}));
}
} else {
res = retry_delete_file(utils::path::combine(path, {fd.cFileName}));
}
} while (res && (::FindNextFile(find, &fd) != 0));
::FindClose(find);
}
#else
auto *root = opendir(path.c_str());
if (root) {
auto res = true;
struct dirent *de{};
while (res && (de = readdir(root))) {
if (de->d_type == DT_DIR) {
if ((strcmp(de->d_name, ".") != 0) && (strcmp(de->d_name, "..") != 0)) {
res = delete_directory_recursively(
utils::path::combine(path, {de->d_name}));
}
} else {
res = retry_delete_file(utils::path::combine(path, {de->d_name}));
}
}
closedir(root);
}
#endif
return delete_directory(path, false);
}
auto delete_file(std::string path) -> bool {
path = utils::path::absolute(path);
#if defined(_WIN32)
return (not is_file(path) || utils::retryable_action([&]() -> bool {
const auto ret = !!::DeleteFileA(path.c_str());
if (not ret) {
std::cout << "delete failed:" << path << std::endl;
}
return ret;
}));
#else
return (not is_file(path) || (unlink(path.c_str()) == 0));
#endif
}
auto generate_sha256(const std::string &file_path) -> std::string {
crypto_hash_sha256_state state{};
auto res = crypto_hash_sha256_init(&state);
@ -506,8 +404,8 @@ auto move_file(std::string from, std::string to) -> bool {
from = utils::path::absolute(from);
to = utils::path::absolute(to);
const auto directory = utils::path::remove_file_name(to);
if (not create_full_directory_path(directory)) {
const auto directory = utils::path::get_parent_directory(to);
if (not create_directories(directory)) {
return false;
}
@ -563,7 +461,7 @@ auto reset_modified_time(const std::string &path) -> bool {
auto retry_delete_directory(const std::string &dir) -> bool {
auto deleted = false;
for (std::uint8_t i = 0U; not(deleted = delete_directory(dir)) && (i < 200U);
for (std::uint8_t i = 0U; not(deleted = remove_directory(dir)) && (i < 200U);
i++) {
std::this_thread::sleep_for(10ms);
}
@ -573,8 +471,8 @@ auto retry_delete_directory(const std::string &dir) -> bool {
auto retry_delete_file(const std::string &file) -> bool {
auto deleted = false;
for (std::uint8_t i = 0U; not(deleted = delete_file(file)) && (i < 200U);
i++) {
for (std::uint8_t i = 0U;
not(deleted = utils::file::file{file}.remove()) && (i < 200U); i++) {
std::this_thread::sleep_for(10ms);
}

View File

@ -49,10 +49,11 @@ protected:
void SetUp() override {
if (PROVIDER_INDEX != 0) {
if (PROVIDER_INDEX == 1) {
EXPECT_TRUE(
utils::file::delete_directory_recursively(utils::path::combine(
EXPECT_TRUE(utils::file::remove_directory(
utils::path::combine(
test::get_test_output_dir(),
{"winfsp_test" + std::to_string(PROVIDER_INDEX)})));
{"winfsp_test" + std::to_string(PROVIDER_INDEX)}),
true));
app_config src_cfg(
provider_type::s3,
@ -96,10 +97,11 @@ protected:
}
if (PROVIDER_INDEX == 2) {
EXPECT_TRUE(
utils::file::delete_directory_recursively(utils::path::combine(
EXPECT_TRUE(utils::file::remove_directory(
utils::path::combine(
test::get_test_output_dir(),
{"winfsp_test" + std::to_string(PROVIDER_INDEX)})));
{"winfsp_test" + std::to_string(PROVIDER_INDEX)}),
true));
app_config src_cfg(
provider_type::sia,
@ -147,10 +149,11 @@ protected:
config.reset();
event_system::instance().stop();
EXPECT_TRUE(
utils::file::delete_directory_recursively(utils::path::combine(
EXPECT_TRUE(utils::file::remove_directory(
utils::path::combine(
test::get_test_output_dir(),
{"winfsp_test" + std::to_string(PROVIDER_INDEX)})));
{"winfsp_test" + std::to_string(PROVIDER_INDEX)}),
true));
}
}
};

View File

@ -40,13 +40,15 @@ public:
void SetUp() override {
event_system::instance().start();
ASSERT_TRUE(utils::file::delete_directory_recursively(
utils::path::combine(test::get_test_output_dir(), {"config_test"})));
ASSERT_TRUE(utils::file::remove_directory(
utils::path::combine(test::get_test_output_dir(), {"config_test"}),
true));
}
void TearDown() override {
ASSERT_TRUE(utils::file::delete_directory_recursively(
utils::path::combine(test::get_test_output_dir(), {"config_test"})));
ASSERT_TRUE(utils::file::remove_directory(
utils::path::combine(test::get_test_output_dir(), {"config_test"}),
true));
event_system::instance().stop();
}
};

View File

@ -172,7 +172,7 @@ TEST(open_file, will_change_source_path_if_file_size_is_greater_than_0) {
TEST(open_file,
will_not_change_source_path_if_file_size_matches_existing_source) {
auto &rf = test::create_random_file(test_chunk_size);
const auto source_path = rf.get_path().string();
const auto source_path = rf.get_path();
rf.close();
mock_provider mp;
@ -450,7 +450,7 @@ TEST(open_file, write_new_file_multiple_chunks) {
TEST(open_file, resize_file_to_0_bytes) {
auto &rf = test::create_random_file(test_chunk_size * 4u);
const auto source_path = rf.get_path().string();
const auto source_path = rf.get_path();
rf.close();
mock_provider mp;
@ -500,7 +500,7 @@ TEST(open_file, resize_file_to_0_bytes) {
TEST(open_file, resize_file_by_full_chunk) {
auto &rf = test::create_random_file(test_chunk_size * 4u);
const auto source_path = rf.get_path().string();
const auto source_path = rf.get_path();
rf.close();
mock_provider mp;

View File

@ -61,7 +61,7 @@ TEST(ring_buffer_open_file, can_forward_to_last_chunk) {
}
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file,
@ -93,7 +93,7 @@ TEST(ring_buffer_open_file,
}
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, can_forward_after_last_chunk) {
@ -125,7 +125,7 @@ TEST(ring_buffer_open_file, can_forward_after_last_chunk) {
}
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, can_forward_and_rollover_after_last_chunk) {
@ -153,7 +153,7 @@ TEST(ring_buffer_open_file, can_forward_and_rollover_after_last_chunk) {
EXPECT_EQ(std::size_t(28u), rb.get_last_chunk());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, can_reverse_to_first_chunk) {
@ -184,7 +184,7 @@ TEST(ring_buffer_open_file, can_reverse_to_first_chunk) {
}
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file,
@ -216,7 +216,7 @@ TEST(ring_buffer_open_file,
}
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, can_reverse_before_first_chunk) {
@ -248,7 +248,7 @@ TEST(ring_buffer_open_file, can_reverse_before_first_chunk) {
}
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, can_reverse_and_rollover_before_first_chunk) {
@ -284,7 +284,7 @@ TEST(ring_buffer_open_file, can_reverse_and_rollover_before_first_chunk) {
}
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, can_reverse_full_ring) {
@ -316,12 +316,12 @@ TEST(ring_buffer_open_file, can_reverse_full_ring) {
}
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, read_full_file) {
auto &nf = test::create_random_file(test_chunk_size * 32u);
const auto download_source_path = nf.get_path().string();
const auto download_source_path = nf.get_path();
const auto dest_path = test::generate_test_file_name("ring_buffer_open_file");
@ -375,12 +375,12 @@ TEST(ring_buffer_open_file, read_full_file) {
utils::file::generate_sha256(dest_path).c_str());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, read_full_file_in_reverse) {
auto &nf = test::create_random_file(test_chunk_size * 32u);
const auto download_source_path = nf.get_path().string();
const auto download_source_path = nf.get_path();
const auto dest_path = test::generate_test_file_name("ring_buffer_open_file");
@ -434,12 +434,12 @@ TEST(ring_buffer_open_file, read_full_file_in_reverse) {
utils::file::generate_sha256(dest_path).c_str());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, read_full_file_in_partial_chunks) {
auto &nf = test::create_random_file(test_chunk_size * 32u);
const auto download_source_path = nf.get_path().string();
const auto download_source_path = nf.get_path();
const auto dest_path = test::generate_test_file_name("test");
@ -494,12 +494,12 @@ TEST(ring_buffer_open_file, read_full_file_in_partial_chunks) {
utils::file::generate_sha256(dest_path).c_str());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
TEST(ring_buffer_open_file, read_full_file_in_partial_chunks_in_reverse) {
auto &nf = test::create_random_file(test_chunk_size * 32u);
const auto download_source_path = nf.get_path().string();
const auto download_source_path = nf.get_path();
const auto dest_path = test::generate_test_file_name("ring_buffer_open_file");
@ -559,6 +559,6 @@ TEST(ring_buffer_open_file, read_full_file_in_partial_chunks_in_reverse) {
utils::file::generate_sha256(dest_path).c_str());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(ring_buffer_dir));
EXPECT_TRUE(utils::file::remove_directory(ring_buffer_dir, true));
}
} // namespace repertory

View File

@ -84,7 +84,7 @@ TEST(file_manager, can_start_and_stop) {
}
event_system::instance().stop();
// EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
// EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, can_create_and_close_file) {
@ -201,7 +201,7 @@ TEST(file_manager, can_create_and_close_file) {
polling::instance().stop();
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, can_open_and_close_file) {
@ -317,7 +317,7 @@ TEST(file_manager, can_open_and_close_file) {
polling::instance().stop();
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, can_open_and_close_multiple_handles_for_same_file) {
@ -390,7 +390,7 @@ TEST(file_manager, can_open_and_close_multiple_handles_for_same_file) {
polling::instance().stop();
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, download_is_stored_after_write_if_partially_downloaded) {
@ -543,7 +543,7 @@ TEST(file_manager, download_is_stored_after_write_if_partially_downloaded) {
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, upload_occurs_after_write_if_fully_downloaded) {
@ -660,11 +660,11 @@ TEST(file_manager, upload_occurs_after_write_if_fully_downloaded) {
polling::instance().stop();
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, can_evict_file) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
console_consumer c;
event_system::instance().start();
@ -765,11 +765,11 @@ TEST(file_manager, can_evict_file) {
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, evict_file_fails_if_file_is_pinned) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -791,11 +791,11 @@ TEST(file_manager, evict_file_fails_if_file_is_pinned) {
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, evict_file_fails_if_provider_is_direct_only) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -807,11 +807,11 @@ TEST(file_manager, evict_file_fails_if_provider_is_direct_only) {
EXPECT_FALSE(fm.evict_file("/test.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, evict_file_fails_if_file_is_open) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -857,12 +857,12 @@ TEST(file_manager, evict_file_fails_if_file_is_open) {
fm.close(handle);
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager,
evict_file_fails_if_unable_to_get_source_path_from_item_meta) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -892,11 +892,11 @@ TEST(file_manager,
EXPECT_FALSE(fm.evict_file("/test_open.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, evict_file_fails_if_source_path_is_empty) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -926,11 +926,11 @@ TEST(file_manager, evict_file_fails_if_source_path_is_empty) {
EXPECT_FALSE(fm.evict_file("/test_open.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, evict_file_fails_if_file_is_uploading) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
console_consumer c;
event_system::instance().start();
@ -1021,11 +1021,11 @@ TEST(file_manager, evict_file_fails_if_file_is_uploading) {
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, evict_file_fails_if_file_is_in_upload_queue) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1046,11 +1046,11 @@ TEST(file_manager, evict_file_fails_if_file_is_in_upload_queue) {
EXPECT_FALSE(fm.evict_file("/test_evict.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, evict_file_fails_if_file_is_modified) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1092,11 +1092,11 @@ TEST(file_manager, evict_file_fails_if_file_is_modified) {
EXPECT_FALSE(fm.evict_file("/test_evict.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, evict_file_fails_if_file_is_not_complete) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1140,11 +1140,11 @@ TEST(file_manager, evict_file_fails_if_file_is_not_complete) {
EXPECT_FALSE(fm.evict_file("/test_evict.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, can_get_directory_items) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1174,11 +1174,11 @@ TEST(file_manager, can_get_directory_items) {
EXPECT_EQ(std::size_t(2U), list.size());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, file_is_not_opened_if_provider_create_file_fails) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1210,11 +1210,11 @@ TEST(file_manager, file_is_not_opened_if_provider_create_file_fails) {
EXPECT_EQ(std::size_t(0U), fm.get_open_file_count());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, create_fails_if_provider_create_is_unsuccessful) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1241,12 +1241,12 @@ TEST(file_manager, create_fails_if_provider_create_is_unsuccessful) {
EXPECT_EQ(std::size_t(0U), fm.get_open_file_count());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, get_open_file_fails_if_file_is_not_open) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1265,12 +1265,12 @@ TEST(file_manager, get_open_file_fails_if_file_is_not_open) {
EXPECT_FALSE(f);
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager,
get_open_file_promotes_non_writeable_file_if_writeable_is_specified) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1350,11 +1350,11 @@ TEST(file_manager,
EXPECT_EQ(std::size_t(1U), fm.get_open_file_count());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, open_file_fails_if_file_is_not_found) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1375,11 +1375,11 @@ TEST(file_manager, open_file_fails_if_file_is_not_found) {
EXPECT_EQ(std::size_t(0U), fm.get_open_file_count());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, open_file_fails_if_provider_get_filesystem_item_fails) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1419,11 +1419,11 @@ TEST(file_manager, open_file_fails_if_provider_get_filesystem_item_fails) {
EXPECT_EQ(std::size_t(0U), fm.get_open_file_count());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, open_file_fails_if_provider_set_item_meta_fails) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1470,11 +1470,11 @@ TEST(file_manager, open_file_fails_if_provider_set_item_meta_fails) {
EXPECT_EQ(std::size_t(0U), fm.get_open_file_count());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, open_file_creates_source_path_if_empty) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1533,11 +1533,11 @@ TEST(file_manager, open_file_creates_source_path_if_empty) {
EXPECT_EQ(std::size_t(1U), fm.get_open_file_count());
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, open_file_first_file_handle_is_not_zero) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1581,11 +1581,11 @@ TEST(file_manager, open_file_first_file_handle_is_not_zero) {
EXPECT_GT(handle, std::uint64_t(0U));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, can_remove_file) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1622,11 +1622,11 @@ TEST(file_manager, can_remove_file) {
EXPECT_FALSE(utils::file::is_file("./test_remove.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, can_queue_and_remove_upload) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
console_consumer c;
event_system::instance().start();
@ -1657,11 +1657,11 @@ TEST(file_manager, can_queue_and_remove_upload) {
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, remove_file_fails_if_open_file_is_modified) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1711,7 +1711,7 @@ TEST(file_manager, remove_file_fails_if_open_file_is_modified) {
EXPECT_EQ(api_error::file_in_use, fm.remove_file("/test_remove.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, file_is_closed_after_download_timeout) {
@ -1809,11 +1809,11 @@ TEST(file_manager, file_is_closed_after_download_timeout) {
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, remove_file_fails_if_file_does_not_exist) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1834,11 +1834,11 @@ TEST(file_manager, remove_file_fails_if_file_does_not_exist) {
EXPECT_EQ(api_error::item_not_found, fm.remove_file("/test_remove.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
TEST(file_manager, remove_file_fails_if_provider_remove_file_fails) {
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
{
app_config cfg(provider_type::sia, file_manager_dir);
@ -1866,6 +1866,6 @@ TEST(file_manager, remove_file_fails_if_provider_remove_file_fails) {
EXPECT_EQ(api_error::item_not_found, fm.remove_file("/test_remove.txt"));
}
EXPECT_TRUE(utils::file::delete_directory_recursively(file_manager_dir));
EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
}
} // namespace repertory

View File

@ -516,12 +516,12 @@ TEST(fuse_drive, all_tests) {
const auto test_directory = utils::path::combine(
test::get_test_output_dir(), {"fuse_drive" + std::to_string(idx)});
EXPECT_TRUE(utils::file::delete_directory_recursively(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory, true));
const auto mount_location =
utils::path::combine(test_directory, {"mount", std::to_string(idx)});
EXPECT_TRUE(utils::file::create_full_directory_path(mount_location));
EXPECT_TRUE(utils::file::create_directories(mount_location));
{
std::unique_ptr<app_config> config_ptr{};
std::unique_ptr<curl_comm> comm_ptr{};
@ -529,7 +529,7 @@ TEST(fuse_drive, all_tests) {
const auto cfg_directory =
utils::path::combine(test_directory, {"cfg", std::to_string(idx)});
EXPECT_TRUE(utils::file::create_full_directory_path(cfg_directory));
EXPECT_TRUE(utils::file::create_directories(cfg_directory));
std::vector<std::string> drive_args{};

View File

@ -120,7 +120,7 @@ const auto create_file = [](repertory::i_provider &provider,
EXPECT_EQ(repertory::api_error::success, provider.is_file(api_path, exists));
EXPECT_TRUE(exists);
EXPECT_TRUE(repertory::utils::file::delete_file(source_path));
EXPECT_TRUE(repertory::utils::file::file{source_path}.remove());
repertory::api_meta_map meta2{};
EXPECT_EQ(repertory::api_error::success,
@ -630,7 +630,7 @@ static void run_tests(const app_config &cfg, i_provider &provider) {
TEST(providers, encrypt_provider) {
const auto config_path =
utils::path::combine(test::get_test_output_dir(), {"encrypt_provider"});
ASSERT_TRUE(utils::file::delete_directory_recursively(config_path));
ASSERT_TRUE(utils::file::remove_directory(config_path, true));
console_consumer consumer{};
event_system::instance().start();
@ -673,7 +673,7 @@ TEST(providers, encrypt_provider) {
TEST(providers, s3_provider) {
const auto config_path =
utils::path::combine(test::get_test_output_dir(), {"s3_provider"});
ASSERT_TRUE(utils::file::delete_directory_recursively(config_path));
ASSERT_TRUE(utils::file::remove_directory(config_path, true));
console_consumer consumer{};
event_system::instance().start();
@ -712,7 +712,7 @@ TEST(providers, s3_provider) {
TEST(providers, sia_provider) {
const auto config_path =
utils::path::combine(test::get_test_output_dir(), {"sia_provider"});
ASSERT_TRUE(utils::file::delete_directory_recursively(config_path));
ASSERT_TRUE(utils::file::remove_directory(config_path, true));
console_consumer consumer{};
event_system::instance().start();

View File

@ -434,7 +434,7 @@ static void mkdir_test(repertory::remote_fuse::remote_client &client) {
const auto test_directory =
utils::path::combine(fuse_remote_dir, {"mkdir_test"});
const auto api_path = test_directory.substr(mount_location_.size());
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
#if defined(_WIN32)
EXPECT_EQ(0, client.fuse_mkdir(api_path.c_str(), 0));
@ -443,7 +443,7 @@ static void mkdir_test(repertory::remote_fuse::remote_client &client) {
#endif
EXPECT_TRUE(utils::file::is_directory(test_directory));
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
}
static void open_test(repertory::remote_fuse::remote_client &client) {
@ -479,7 +479,7 @@ opendir_and_releasedir_test(repertory::remote_fuse::remote_client &client) {
const auto test_directory =
utils::path::combine(fuse_remote_dir, {"opendir_and_release_dir"});
const auto api_path = test_directory.substr(mount_location_.size());
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
#if defined(_WIN32)
EXPECT_EQ(0, client.fuse_mkdir(api_path.c_str(), 0));
@ -492,7 +492,7 @@ opendir_and_releasedir_test(repertory::remote_fuse::remote_client &client) {
EXPECT_EQ(0, client.fuse_opendir(api_path.c_str(), handle));
EXPECT_EQ(0, client.fuse_releasedir(api_path.c_str(), handle));
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
}
static void read_and_write_test(repertory::remote_fuse::remote_client &client) {
@ -551,7 +551,7 @@ static void readdir_test(repertory::remote_fuse::remote_client &client) {
const auto test_directory =
utils::path::combine(fuse_remote_dir, {"readdir_test"});
const auto api_path = test_directory.substr(mount_location_.size());
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
#if defined(_WIN32)
EXPECT_EQ(0, client.fuse_mkdir(api_path.c_str(), 0));
@ -572,7 +572,7 @@ static void readdir_test(repertory::remote_fuse::remote_client &client) {
EXPECT_EQ(0, client.fuse_releasedir(api_path.c_str(), handle));
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
}
/*static void removexattr_test(repertory::remote_fuse::remote_client &client) {
@ -633,7 +633,7 @@ static void rmdir_test(repertory::remote_fuse::remote_client &client) {
const auto test_directory =
utils::path::combine(fuse_remote_dir, {"rmdir_test"});
const auto api_path = test_directory.substr(mount_location_.size());
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
#if defined(_WIN32)
EXPECT_EQ(0, client.fuse_mkdir(api_path.c_str(), 0));
@ -645,7 +645,7 @@ static void rmdir_test(repertory::remote_fuse::remote_client &client) {
EXPECT_EQ(0, client.fuse_rmdir(api_path.c_str()));
EXPECT_FALSE(utils::file::is_directory(test_directory));
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
}
static void setattr_x_test(repertory::remote_fuse::remote_client &client) {
@ -990,6 +990,6 @@ TEST(remote_fuse, all_tests) {
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(fuse_remote_dir));
EXPECT_TRUE(utils::file::remove_directory(fuse_remote_dir, true));
}
} // namespace fuse_test

View File

@ -265,7 +265,7 @@ static void overwrite_test(remote_client &client) {
static void create_and_read_directory_test(remote_client &client) {
const auto test_directory =
utils::path::combine(win_remote_dir, {"read_directory"});
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
auto api_path =
utils::string::from_utf8(test_directory).substr(mount_location_.size());
@ -287,13 +287,13 @@ static void create_and_read_directory_test(remote_client &client) {
EXPECT_EQ(STATUS_SUCCESS, client.winfsp_close(file_desc));
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
}
static void open_and_read_directory_test(remote_client &client) {
const auto test_directory =
utils::path::combine(win_remote_dir, {"open_and_read_directory"});
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
auto api_path =
utils::string::from_utf8(test_directory).substr(mount_location_.size());
@ -323,7 +323,7 @@ static void open_and_read_directory_test(remote_client &client) {
EXPECT_EQ(STATUS_SUCCESS, client.winfsp_close(file_desc));
EXPECT_TRUE(utils::file::delete_directory(test_directory));
EXPECT_TRUE(utils::file::remove_directory(test_directory));
}
static void read_and_write_test(remote_client &client) {
@ -535,6 +535,6 @@ TEST(remote_winfsp, all_tests) {
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::delete_directory_recursively(win_remote_dir));
EXPECT_TRUE(utils::file::remove_directory(win_remote_dir, true));
}
} // namespace winfsp_test