#endif
}
-int delete_folder(path const& folder) {
+int delete_folder_contents(path const& folder) {
#if defined(WIN32)
if (INVALID_FILE_ATTRIBUTES == GetFileAttributes(folder.c_str()) && GetLastError() == ERROR_FILE_NOT_FOUND) {
// nothing to delete
}
} while (::FindNextFile(hFind, &fd));
::FindClose(hFind);
- _rmdir(folder.c_str());
}
return 0;
#else
ret = ret2;
}
closedir(dir);
-
- if (!ret) ret = rmdir(folder.c_str());
return ret;
#endif
}
+int delete_folder(path const& folder) {
+ int ret = delete_folder_contents(folder);
+ if (ret != 0) return ret;
+#if defined(WIN32)
+ _rmdir(folder.c_str());
+ return 0;
+#else
+ return rmdir(folder.c_str());
+#endif
+}
+
FolderManager::FolderManager(path root_path, std::string name, DebugMode debug) : debug(debug), folder(root_path / name) {
+ delete_folder_contents(folder);
create_folder(folder);
}
FolderManager::~FolderManager() {
FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
inst.CheckCreate();
ASSERT_TRUE(env->debug_log.find(std::string("Insert instance layer ") + regular_layer_name));
+ env->layers.clear();
}
TEST_F(OverrideMetaLayer, BasicOverridePathsIgnoreOtherLayers) {
FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
inst.CheckCreate(VK_ERROR_LAYER_NOT_PRESENT);
ASSERT_FALSE(env->debug_log.find(std::string("Insert instance layer ") + regular_layer_name));
+ env->layers.clear();
}
TEST_F(OverrideMetaLayer, OverridePathsInteractionWithVK_LAYER_PATH) {
inst.CheckCreate(VK_ERROR_LAYER_NOT_PRESENT);
ASSERT_FALSE(env->debug_log.find(std::string("Insert instance layer ") + env_var_layer_name));
+ env->layers.clear();
remove_env_var("VK_LAYER_PATH");
}
ASSERT_FALSE(env->debug_log.find(std::string("Insert instance layer ") + implicit_layer_name));
ASSERT_TRUE(
env->debug_log.find("Removing meta-layer VK_LAYER_LUNARG_override from instance layer list since it appears invalid."));
+ env->layers.clear();
}
TEST_F(OverrideMetaLayer, ManifestFileFormatVersionTooOld) {
inst.CheckCreate();
ASSERT_TRUE(env->debug_log.find(std::string("Insert instance layer ") + regular_layer_name));
ASSERT_TRUE(env->debug_log.find("Indicating meta-layer-specific override paths, but using older JSON file version."));
+ env->layers.clear();
}
// This test makes sure that any layer calling GetPhysicalDeviceProperties2 inside of CreateInstance