mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-13 06:16:55 -04:00
test: more tools tests
This commit is contained in:
parent
4ab808ced9
commit
2aa96dfa3f
@ -42,6 +42,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <folly/FileUtil.h>
|
#include <folly/FileUtil.h>
|
||||||
|
#include <folly/ScopeGuard.h>
|
||||||
#include <folly/portability/Unistd.h>
|
#include <folly/portability/Unistd.h>
|
||||||
|
|
||||||
#include <boost/asio/io_service.hpp>
|
#include <boost/asio/io_service.hpp>
|
||||||
@ -648,6 +649,7 @@ TEST_P(tools_test, end_to_end) {
|
|||||||
auto universal_symlink_mkdwarfs_bin = td / "mkdwarfs" EXE_EXT;
|
auto universal_symlink_mkdwarfs_bin = td / "mkdwarfs" EXE_EXT;
|
||||||
auto universal_symlink_dwarfsck_bin = td / "dwarfsck" EXE_EXT;
|
auto universal_symlink_dwarfsck_bin = td / "dwarfsck" EXE_EXT;
|
||||||
auto universal_symlink_dwarfsextract_bin = td / "dwarfsextract" EXE_EXT;
|
auto universal_symlink_dwarfsextract_bin = td / "dwarfsextract" EXE_EXT;
|
||||||
|
std::vector<std::string> dwarfs_tool_arg;
|
||||||
std::vector<std::string> mkdwarfs_tool_arg;
|
std::vector<std::string> mkdwarfs_tool_arg;
|
||||||
std::vector<std::string> dwarfsck_tool_arg;
|
std::vector<std::string> dwarfsck_tool_arg;
|
||||||
std::vector<std::string> dwarfsextract_tool_arg;
|
std::vector<std::string> dwarfsextract_tool_arg;
|
||||||
@ -666,6 +668,7 @@ TEST_P(tools_test, end_to_end) {
|
|||||||
mkdwarfs_test_bin = &universal_bin;
|
mkdwarfs_test_bin = &universal_bin;
|
||||||
dwarfsck_test_bin = &universal_bin;
|
dwarfsck_test_bin = &universal_bin;
|
||||||
dwarfsextract_test_bin = &universal_bin;
|
dwarfsextract_test_bin = &universal_bin;
|
||||||
|
dwarfs_tool_arg.push_back("--tool=dwarfs");
|
||||||
mkdwarfs_tool_arg.push_back("--tool=mkdwarfs");
|
mkdwarfs_tool_arg.push_back("--tool=mkdwarfs");
|
||||||
dwarfsck_tool_arg.push_back("--tool=dwarfsck");
|
dwarfsck_tool_arg.push_back("--tool=dwarfsck");
|
||||||
dwarfsextract_tool_arg.push_back("--tool=dwarfsextract");
|
dwarfsextract_tool_arg.push_back("--tool=dwarfsextract");
|
||||||
@ -773,6 +776,18 @@ TEST_P(tools_test, end_to_end) {
|
|||||||
|
|
||||||
for (auto const& driver : drivers) {
|
for (auto const& driver : drivers) {
|
||||||
{
|
{
|
||||||
|
#if defined(__has_feature)
|
||||||
|
#if __has_feature(address_sanitizer)
|
||||||
|
::setenv("ASAN_OPTIONS", "detect_leaks=0", 1);
|
||||||
|
SCOPE_EXIT { ::unsetenv("ASAN_OPTIONS"); };
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
auto const [out, err, ec] =
|
||||||
|
subprocess::run(driver, dwarfs_tool_arg, "--help");
|
||||||
|
EXPECT_THAT(out, ::testing::HasSubstr("Usage:"));
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
driver_runner runner(driver_runner::foreground, driver,
|
driver_runner runner(driver_runner::foreground, driver,
|
||||||
mode == binary_mode::universal_tool, image,
|
mode == binary_mode::universal_tool, image,
|
||||||
mountpoint);
|
mountpoint);
|
||||||
@ -1173,6 +1188,14 @@ TEST_P(tools_test, mutating_and_error_ops) {
|
|||||||
EXPECT_EC_UNIX_WIN(ec, ENOTDIR, ERROR_DIRECTORY);
|
EXPECT_EC_UNIX_WIN(ec, ENOTDIR, ERROR_DIRECTORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// try open non-existing symlink
|
||||||
|
|
||||||
|
{
|
||||||
|
std::error_code ec;
|
||||||
|
auto tmp = fs::read_symlink(mountpoint / "doesnotexist", ec);
|
||||||
|
EXPECT_EC_UNIX_WIN(ec, ENOENT, ERROR_FILE_NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
EXPECT_TRUE(runner.unmount()) << runner.cmdline();
|
EXPECT_TRUE(runner.unmount()) << runner.cmdline();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user