mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-11 05:23:29 -04:00
More dwarfs_tools tests (that also work on Windows)
This commit is contained in:
parent
7e7e46f09a
commit
8f4ed162ff
@ -418,7 +418,6 @@ TEST(tools, everything) {
|
|||||||
"-o", fsdata_dir));
|
"-o", fsdata_dir));
|
||||||
|
|
||||||
EXPECT_EQ(num_hardlinks(fsdata_dir / "format.sh"), 3);
|
EXPECT_EQ(num_hardlinks(fsdata_dir / "format.sh"), 3);
|
||||||
EXPECT_TRUE(fs::exists(fsdata_dir / "foobar"));
|
|
||||||
EXPECT_TRUE(fs::is_symlink(fsdata_dir / "foobar"));
|
EXPECT_TRUE(fs::is_symlink(fsdata_dir / "foobar"));
|
||||||
EXPECT_EQ(fs::read_symlink(fsdata_dir / "foobar"), fs::path("foo") / "bar");
|
EXPECT_EQ(fs::read_symlink(fsdata_dir / "foobar"), fs::path("foo") / "bar");
|
||||||
|
|
||||||
@ -503,11 +502,13 @@ TEST(tools, everything) {
|
|||||||
{
|
{
|
||||||
driver_runner runner(driver, image, mountpoint, args);
|
driver_runner runner(driver, image, mountpoint, args);
|
||||||
|
|
||||||
|
EXPECT_TRUE(fs::is_symlink(mountpoint / "foobar"));
|
||||||
|
EXPECT_EQ(fs::read_symlink(mountpoint / "foobar"),
|
||||||
|
fs::path("foo") / "bar");
|
||||||
EXPECT_TRUE(
|
EXPECT_TRUE(
|
||||||
subprocess::check_run(diff_bin, "-qruN", fsdata_dir, mountpoint));
|
subprocess::check_run(diff_bin, "-qruN", fsdata_dir, mountpoint));
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
// TODO: `tar` on Windows doesn't preserve hardlinks -> use
|
// TODO: https://github.com/winfsp/winfsp/issues/511
|
||||||
// dwarfsextract
|
|
||||||
EXPECT_EQ(enable_nlink ? 3 : 1,
|
EXPECT_EQ(enable_nlink ? 3 : 1,
|
||||||
num_hardlinks(mountpoint / "format.sh"));
|
num_hardlinks(mountpoint / "format.sh"));
|
||||||
// This doesn't really work on Windows (yet)
|
// This doesn't really work on Windows (yet)
|
||||||
@ -520,11 +521,13 @@ TEST(tools, everything) {
|
|||||||
{
|
{
|
||||||
driver_runner runner(driver, image_hdr, mountpoint, args);
|
driver_runner runner(driver, image_hdr, mountpoint, args);
|
||||||
|
|
||||||
|
EXPECT_TRUE(fs::is_symlink(mountpoint / "foobar"));
|
||||||
|
EXPECT_EQ(fs::read_symlink(mountpoint / "foobar"),
|
||||||
|
fs::path("foo") / "bar");
|
||||||
EXPECT_TRUE(
|
EXPECT_TRUE(
|
||||||
subprocess::check_run(diff_bin, "-qruN", fsdata_dir, mountpoint));
|
subprocess::check_run(diff_bin, "-qruN", fsdata_dir, mountpoint));
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
// TODO: `tar` on Windows doesn't preserve hardlinks -> use
|
// TODO: https://github.com/winfsp/winfsp/issues/511
|
||||||
// dwarfsextract
|
|
||||||
EXPECT_EQ(enable_nlink ? 3 : 1,
|
EXPECT_EQ(enable_nlink ? 3 : 1,
|
||||||
num_hardlinks(mountpoint / "format.sh"));
|
num_hardlinks(mountpoint / "format.sh"));
|
||||||
// This doesn't really work on Windows (yet)
|
// This doesn't really work on Windows (yet)
|
||||||
@ -559,6 +562,9 @@ TEST(tools, everything) {
|
|||||||
|
|
||||||
ASSERT_TRUE(
|
ASSERT_TRUE(
|
||||||
subprocess::check_run(dwarfsextract_bin, "-i", image, "-o", extracted));
|
subprocess::check_run(dwarfsextract_bin, "-i", image, "-o", extracted));
|
||||||
|
EXPECT_EQ(3, num_hardlinks(extracted / "format.sh"));
|
||||||
|
EXPECT_TRUE(fs::is_symlink(extracted / "foobar"));
|
||||||
|
EXPECT_EQ(fs::read_symlink(extracted / "foobar"), fs::path("foo") / "bar");
|
||||||
ASSERT_TRUE(subprocess::check_run(diff_bin, "-qruN", fsdata_dir, extracted));
|
ASSERT_TRUE(subprocess::check_run(diff_bin, "-qruN", fsdata_dir, extracted));
|
||||||
|
|
||||||
auto tarfile = td / "test.tar";
|
auto tarfile = td / "test.tar";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user