Skip to content

Commit

Permalink
Make decompress tests working again
Browse files Browse the repository at this point in the history
  • Loading branch information
Neloop authored and Martin Kruliš committed Jan 9, 2021
1 parent 02aebfe commit 56bc52a
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 25 deletions.
6 changes: 1 addition & 5 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,7 @@ function(add_test_suite name)
target_compile_definitions(run_test_${name} PRIVATE LIBARCHIVE_STATIC)
endif()

if(TEST_WORKING_DIRECTORY)
add_test(NAME ${name} COMMAND run_test_${name} WORKING_DIRECTORY "${TEST_WORKING_DIRECTORY}")
else()
add_test(NAME ${name} COMMAND run_test_${name})
endif()
add_test(NAME ${name} COMMAND run_test_${name} WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}")
endfunction()

# Unit and integration tests
Expand Down
52 changes: 32 additions & 20 deletions tests/archivator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,38 +18,50 @@ TEST(Archivator, DecompressNonexistingArchive)

TEST(Archivator, DecompressZip)
{
ASSERT_NO_THROW(archivator::decompress("testing_archives/valid_zip.zip", fs::temp_directory_path().string()));
EXPECT_TRUE(fs::is_directory(fs::temp_directory_path() / "valid_zip"));
EXPECT_TRUE(fs::is_regular_file(fs::temp_directory_path() / "valid_zip" / "a.txt"));
EXPECT_TRUE(fs::file_size(fs::temp_directory_path() / "valid_zip" / "a.txt") > 0);
fs::remove_all(fs::temp_directory_path() / "valid_zip");
fs::path unziped_path = fs::temp_directory_path() / "valid_zip";
fs::create_directory(unziped_path);

ASSERT_NO_THROW(archivator::decompress("testing_archives/valid_zip.zip", unziped_path.string()));
EXPECT_TRUE(fs::is_directory(unziped_path));
EXPECT_TRUE(fs::is_regular_file(unziped_path / "a.txt"));
EXPECT_TRUE(fs::file_size(unziped_path / "a.txt") > 0);
fs::remove_all(unziped_path);
}

TEST(Archivator, DecompressTar)
{
ASSERT_NO_THROW(archivator::decompress("testing_archives/valid_tar.tar", fs::temp_directory_path().string()));
EXPECT_TRUE(fs::is_directory(fs::temp_directory_path() / "valid_tar"));
EXPECT_TRUE(fs::is_regular_file(fs::temp_directory_path() / "valid_tar" / "a.txt"));
EXPECT_TRUE(fs::file_size(fs::temp_directory_path() / "valid_tar" / "a.txt") > 0);
fs::remove_all(fs::temp_directory_path() / "valid_tar");
fs::path untared_path = fs::temp_directory_path() / "valid_tar";
fs::create_directory(untared_path);

ASSERT_NO_THROW(archivator::decompress("testing_archives/valid_tar.tar", untared_path.string()));
EXPECT_TRUE(fs::is_directory(untared_path));
EXPECT_TRUE(fs::is_regular_file(untared_path / "a.txt"));
EXPECT_TRUE(fs::file_size(untared_path / "a.txt") > 0);
fs::remove_all(untared_path);
}

TEST(Archivator, DecompressTarGz)
{
ASSERT_NO_THROW(archivator::decompress("testing_archives/valid_tar.tar.gz", fs::temp_directory_path().string()));
EXPECT_TRUE(fs::is_directory(fs::temp_directory_path() / "valid_tar"));
EXPECT_TRUE(fs::is_regular_file(fs::temp_directory_path() / "valid_tar" / "a.txt"));
EXPECT_TRUE(fs::file_size(fs::temp_directory_path() / "valid_tar" / "a.txt") > 0);
fs::remove_all(fs::temp_directory_path() / "valid_tar");
fs::path untared_path = fs::temp_directory_path() / "valid_tar";
fs::create_directory(untared_path);

ASSERT_NO_THROW(archivator::decompress("testing_archives/valid_tar.tar.gz", untared_path.string()));
EXPECT_TRUE(fs::is_directory(untared_path));
EXPECT_TRUE(fs::is_regular_file(untared_path / "a.txt"));
EXPECT_TRUE(fs::file_size(untared_path / "a.txt") > 0);
fs::remove_all(untared_path);
}

TEST(Archivator, DecompressTarBz2)
{
ASSERT_NO_THROW(archivator::decompress("testing_archives/valid_tar.tar.bz2", fs::temp_directory_path().string()));
EXPECT_TRUE(fs::is_directory(fs::temp_directory_path() / "valid_tar"));
EXPECT_TRUE(fs::is_regular_file(fs::temp_directory_path() / "valid_tar" / "a.txt"));
EXPECT_TRUE(fs::file_size(fs::temp_directory_path() / "valid_tar" / "a.txt") > 0);
fs::remove_all(fs::temp_directory_path() / "valid_tar");
fs::path untared_path = fs::temp_directory_path() / "valid_tar";
fs::create_directory(untared_path);

ASSERT_NO_THROW(archivator::decompress("testing_archives/valid_tar.tar.bz2", untared_path.string()));
EXPECT_TRUE(fs::is_directory(untared_path));
EXPECT_TRUE(fs::is_regular_file(untared_path / "a.txt"));
EXPECT_TRUE(fs::file_size(untared_path / "a.txt") > 0);
fs::remove_all(untared_path);
}

TEST(Archivator, DecompressCorruptedZip)
Expand Down

0 comments on commit 56bc52a

Please sign in to comment.