MySQL 9.1.0
Source Code Documentation
filesystem.h File Reference
#include "harness_export.h"
#include <memory>
#include <ostream>
#include <stdexcept>
#include <string>
#include <string_view>
#include <system_error>
#include <vector>
#include <fcntl.h>
#include "mysql/harness/access_rights.h"
#include "mysql/harness/stdx/expected.h"

Go to the source code of this file.

Classes

class  mysql_harness::Path
 Class representing a path in a file system. More...
 
class  mysql_harness::Directory
 Class representing a directory in a file system. More...
 
class  mysql_harness::Directory::DirectoryIterator
 Directory iterator for iterating over directory entries. More...
 

Namespaces

namespace  mysql_harness
 

Typedefs

using mysql_harness::perm_mode = mode_t
 

Functions

HARNESS_EXPORT stdx::expected< void, std::error_code > mysql_harness::delete_dir (const std::string &dir) noexcept
 Removes a directory. More...
 
HARNESS_EXPORT stdx::expected< void, std::error_code > mysql_harness::delete_file (const std::string &path) noexcept
 Removes a file. More...
 
HARNESS_EXPORT stdx::expected< void, std::error_code > mysql_harness::delete_dir_recursive (const std::string &dir) noexcept
 Removes directory and all its contents. More...
 
HARNESS_EXPORT std::string mysql_harness::get_tmp_dir (const std::string &name="router")
 Creates a temporary directory with partially-random name and returns its path. More...
 
HARNESS_EXPORT std::string mysql_harness::get_plugin_dir (const std::string &runtime_dir)
 
HARNESS_EXPORT std::string mysql_harness::get_tests_data_dir (const std::string &runtime_dir)
 
HARNESS_EXPORT int mysql_harness::mkdir (const std::string &dir, perm_mode mode, bool recursive=false)
 Creates a directory *. More...
 
void HARNESS_EXPORT mysql_harness::make_file_public (const std::string &file_name)
 Changes file access permissions to be fully accessible by all users. More...
 
void HARNESS_EXPORT mysql_harness::make_file_private (const std::string &file_name, const bool read_only_for_local_service=true)
 Changes file access permissions to be accessible only by a limited set of users. More...
 
void HARNESS_EXPORT mysql_harness::make_file_readonly (const std::string &file_name)
 Changes file access permissions to be read only. More...
 
void HARNESS_EXPORT mysql_harness::check_file_access_rights (const std::string &file_name)
 Verifies access permissions of a file. More...
 

Variables

HARNESS_EXPORT const perm_mode mysql_harness::kStrictDirectoryPerm = S_IRWXU