From: Joel Rosdahl Date: Tue, 20 Jul 2021 14:56:15 +0000 (+0200) Subject: Move compression classes to compression directory/namespace X-Git-Tag: v4.4~105 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1e8c4a54d41ad077c05167e4d1fa58ba2c3655e5;p=thirdparty%2Fccache.git Move compression classes to compression directory/namespace --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 168234b00..f699f96e7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,20 +5,15 @@ set( CacheEntryReader.cpp CacheEntryWriter.cpp CacheFile.cpp - Compression.cpp - Compressor.cpp Config.cpp Context.cpp Counters.cpp - Decompressor.cpp Depfile.cpp Fd.cpp Hash.cpp Lockfile.cpp Logging.cpp Manifest.cpp - NullCompressor.cpp - NullDecompressor.cpp ProgressBar.cpp Result.cpp ResultDumper.cpp @@ -30,8 +25,6 @@ set( TemporaryFile.cpp ThreadPool.cpp Util.cpp - ZstdCompressor.cpp - ZstdDecompressor.cpp argprocessing.cpp assertions.cpp ccache.cpp @@ -92,6 +85,7 @@ if(REDIS_STORAGE_BACKEND) third_party_lib) endif() +add_subdirectory(compression) add_subdirectory(core) add_subdirectory(storage) add_subdirectory(third_party) diff --git a/src/CacheEntryReader.cpp b/src/CacheEntryReader.cpp index 31bbd3099..79271c7c5 100644 --- a/src/CacheEntryReader.cpp +++ b/src/CacheEntryReader.cpp @@ -18,9 +18,9 @@ #include "CacheEntryReader.hpp" -#include "Compressor.hpp" #include "fmtmacros.hpp" +#include #include #include "third_party/fmt/core.h" @@ -36,7 +36,7 @@ CacheEntryReader::CacheEntryReader(FILE* stream, memcpy(m_magic, header_bytes, sizeof(m_magic)); m_version = header_bytes[4]; - m_compression_type = Compression::type_from_int(header_bytes[5]); + m_compression_type = compression::type_from_int(header_bytes[5]); m_compression_level = header_bytes[6]; Util::big_endian_to_int(header_bytes + 7, m_content_size); @@ -53,7 +53,8 @@ CacheEntryReader::CacheEntryReader(FILE* stream, } m_checksum.update(header_bytes, sizeof(header_bytes)); - m_decompressor = Decompressor::create_from_type(m_compression_type, stream); + m_decompressor = + compression::Decompressor::create_from_type(m_compression_type, stream); } void @@ -63,7 +64,7 @@ CacheEntryReader::dump_header(FILE* dump_stream) PRINT(dump_stream, "Version: {}\n", m_version); PRINT(dump_stream, "Compression type: {}\n", - Compression::type_to_string(m_compression_type)); + compression::type_to_string(m_compression_type)); PRINT(dump_stream, "Compression level: {}\n", m_compression_level); PRINT(dump_stream, "Content size: {}\n", m_content_size); } diff --git a/src/CacheEntryReader.hpp b/src/CacheEntryReader.hpp index ba98a66e5..f79bca2d1 100644 --- a/src/CacheEntryReader.hpp +++ b/src/CacheEntryReader.hpp @@ -19,9 +19,10 @@ #pragma once #include "Checksum.hpp" -#include "Decompressor.hpp" #include "Util.hpp" +#include + #include #include #include @@ -82,7 +83,7 @@ public: uint8_t version() const; // Get compression type. - Compression::Type compression_type() const; + compression::Type compression_type() const; // Get compression level. int8_t compression_level() const; @@ -91,11 +92,11 @@ public: uint64_t content_size() const; private: - std::unique_ptr m_decompressor; + std::unique_ptr m_decompressor; Checksum m_checksum; uint8_t m_magic[4]; uint8_t m_version; - Compression::Type m_compression_type; + compression::Type m_compression_type; int8_t m_compression_level; uint64_t m_content_size; }; @@ -121,7 +122,7 @@ CacheEntryReader::version() const return m_version; } -inline Compression::Type +inline compression::Type CacheEntryReader::compression_type() const { return m_compression_type; diff --git a/src/CacheEntryWriter.cpp b/src/CacheEntryWriter.cpp index d29f7d446..e04312029 100644 --- a/src/CacheEntryWriter.cpp +++ b/src/CacheEntryWriter.cpp @@ -23,12 +23,12 @@ CacheEntryWriter::CacheEntryWriter(FILE* stream, const uint8_t* magic, uint8_t version, - Compression::Type compression_type, + compression::Type compression_type, int8_t compression_level, uint64_t payload_size) // clang-format off - : m_compressor( - Compressor::create_from_type(compression_type, stream, compression_level)) + : m_compressor(compression::Compressor::create_from_type( + compression_type, stream, compression_level)) // clang-format on { uint8_t header_bytes[15]; diff --git a/src/CacheEntryWriter.hpp b/src/CacheEntryWriter.hpp index ccbbdff7d..b0e3a8cad 100644 --- a/src/CacheEntryWriter.hpp +++ b/src/CacheEntryWriter.hpp @@ -19,9 +19,10 @@ #pragma once #include "Checksum.hpp" -#include "Compressor.hpp" #include "Util.hpp" +#include + #include #include #include @@ -44,7 +45,7 @@ public: CacheEntryWriter(FILE* stream, const uint8_t* magic, uint8_t version, - Compression::Type compression_type, + compression::Type compression_type, int8_t compression_level, uint64_t payload_size); @@ -72,7 +73,7 @@ public: void finalize(); private: - std::unique_ptr m_compressor; + std::unique_ptr m_compressor; Checksum m_checksum; }; diff --git a/src/Config.cpp b/src/Config.cpp index 409a4a6e3..48c05808b 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -19,13 +19,13 @@ #include "Config.hpp" #include "AtomicFile.hpp" -#include "Compression.hpp" #include "MiniTrace.hpp" #include "Sloppiness.hpp" #include "Util.hpp" #include "assertions.hpp" #include "fmtmacros.hpp" +#include #include #include #include diff --git a/src/Manifest.cpp b/src/Manifest.cpp index 9fd4fd8f6..c27416d35 100644 --- a/src/Manifest.cpp +++ b/src/Manifest.cpp @@ -382,8 +382,8 @@ write_manifest(const Config& config, CacheEntryWriter writer(atomic_manifest_file.stream(), Manifest::k_magic, Manifest::k_version, - Compression::type_from_config(config), - Compression::level_from_config(config), + compression::type_from_config(config), + compression::level_from_config(config), payload_size); writer.write(mf.files.size()); for (const auto& file : mf.files) { diff --git a/src/Result.cpp b/src/Result.cpp index e4867c675..000eb5460 100644 --- a/src/Result.cpp +++ b/src/Result.cpp @@ -368,8 +368,8 @@ Writer::do_finalize() CacheEntryWriter writer(atomic_result_file.stream(), k_magic, k_version, - Compression::type_from_config(m_ctx.config), - Compression::level_from_config(m_ctx.config), + compression::type_from_config(m_ctx.config), + compression::level_from_config(m_ctx.config), payload_size); writer.write(m_entries_to_write.size()); diff --git a/src/ccache.cpp b/src/ccache.cpp index 9be2837a7..74197d227 100644 --- a/src/ccache.cpp +++ b/src/ccache.cpp @@ -22,7 +22,6 @@ #include "Args.hpp" #include "ArgsInfo.hpp" #include "Checksum.hpp" -#include "Compression.hpp" #include "Context.hpp" #include "Depfile.hpp" #include "Fd.hpp" @@ -54,6 +53,7 @@ #include "hashutil.hpp" #include "language.hpp" +#include #include #include #include diff --git a/src/compress.cpp b/src/compress.cpp index 30d92afe7..9693ee71b 100644 --- a/src/compress.cpp +++ b/src/compress.cpp @@ -28,10 +28,10 @@ #include "Result.hpp" #include "Statistics.hpp" #include "ThreadPool.hpp" -#include "ZstdCompressor.hpp" #include "assertions.hpp" #include "fmtmacros.hpp" +#include #include #include #include @@ -148,7 +148,7 @@ create_reader(const CacheFile& cache_file, FILE* stream) std::unique_ptr create_writer(FILE* stream, const CacheEntryReader& reader, - Compression::Type compression_type, + compression::Type compression_type, int8_t compression_level) { return std::make_unique(stream, @@ -171,8 +171,10 @@ recompress_file(RecompressionStatistics& statistics, auto old_stat = Stat::stat(cache_file.path(), Stat::OnError::log); uint64_t content_size = reader->content_size(); int8_t wanted_level = - level ? (*level == 0 ? ZstdCompressor::default_compression_level : *level) - : 0; + level + ? (*level == 0 ? compression::ZstdCompressor::default_compression_level + : *level) + : 0; if (reader->compression_level() == wanted_level) { statistics.update(content_size, old_stat.size(), old_stat.size(), 0); @@ -186,7 +188,7 @@ recompress_file(RecompressionStatistics& statistics, auto writer = create_writer(atomic_new_file.stream(), *reader, - level ? Compression::Type::zstd : Compression::Type::none, + level ? compression::Type::zstd : compression::Type::none, wanted_level); char buffer[CCACHE_READ_BUFFER_SIZE]; diff --git a/src/compression/CMakeLists.txt b/src/compression/CMakeLists.txt new file mode 100644 index 000000000..50ceb2c00 --- /dev/null +++ b/src/compression/CMakeLists.txt @@ -0,0 +1,12 @@ +set( + sources + ${CMAKE_CURRENT_SOURCE_DIR}/Compressor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Decompressor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/NullCompressor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/NullDecompressor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ZstdCompressor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ZstdDecompressor.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/types.cpp +) + +target_sources(ccache_lib PRIVATE ${sources}) diff --git a/src/Compressor.cpp b/src/compression/Compressor.cpp similarity index 81% rename from src/Compressor.cpp rename to src/compression/Compressor.cpp index 2ae5ea690..cd695beea 100644 --- a/src/Compressor.cpp +++ b/src/compression/Compressor.cpp @@ -24,18 +24,22 @@ #include +namespace compression { + std::unique_ptr -Compressor::create_from_type(Compression::Type type, - FILE* stream, - int8_t compression_level) +Compressor::create_from_type(const Type type, + FILE* const stream, + const int8_t compression_level) { switch (type) { - case Compression::Type::none: + case compression::Type::none: return std::make_unique(stream); - case Compression::Type::zstd: + case compression::Type::zstd: return std::make_unique(stream, compression_level); } ASSERT(false); } + +} // namespace compression diff --git a/src/Compressor.hpp b/src/compression/Compressor.hpp similarity index 88% rename from src/Compressor.hpp rename to src/compression/Compressor.hpp index 5588dada1..9c8e56393 100644 --- a/src/Compressor.hpp +++ b/src/compression/Compressor.hpp @@ -18,12 +18,14 @@ #pragma once -#include "Compression.hpp" +#include #include #include #include +namespace compression { + class Compressor { public: @@ -35,9 +37,8 @@ public: // - type: The type. // - stream: The stream to write to. // - compression_level: Desired compression level. - static std::unique_ptr create_from_type(Compression::Type type, - FILE* stream, - int8_t compression_level); + static std::unique_ptr + create_from_type(Type type, FILE* stream, int8_t compression_level); // Get the actual compression level used for the compressed stream. virtual int8_t actual_compression_level() const = 0; @@ -65,3 +66,5 @@ public: // and throws Error if not. virtual void finalize() = 0; }; + +} // namespace compression diff --git a/src/Decompressor.cpp b/src/compression/Decompressor.cpp similarity index 86% rename from src/Decompressor.cpp rename to src/compression/Decompressor.cpp index 8badf3b46..3a76b1643 100644 --- a/src/Decompressor.cpp +++ b/src/compression/Decompressor.cpp @@ -22,16 +22,20 @@ #include "ZstdDecompressor.hpp" #include "assertions.hpp" +namespace compression { + std::unique_ptr -Decompressor::create_from_type(Compression::Type type, FILE* stream) +Decompressor::create_from_type(Type type, FILE* stream) { switch (type) { - case Compression::Type::none: + case compression::Type::none: return std::make_unique(stream); - case Compression::Type::zstd: + case compression::Type::zstd: return std::make_unique(stream); } ASSERT(false); } + +} // namespace compression diff --git a/src/Decompressor.hpp b/src/compression/Decompressor.hpp similarity index 91% rename from src/Decompressor.hpp rename to src/compression/Decompressor.hpp index 44a2ae8e6..8d6b173b0 100644 --- a/src/Decompressor.hpp +++ b/src/compression/Decompressor.hpp @@ -18,11 +18,13 @@ #pragma once -#include "Compression.hpp" +#include #include #include +namespace compression { + class Decompressor { public: @@ -33,7 +35,7 @@ public: // Parameters: // - type: The type. // - stream: The stream to read from. - static std::unique_ptr create_from_type(Compression::Type type, + static std::unique_ptr create_from_type(Type type, FILE* stream); // Read data into a buffer from the compressed stream. @@ -51,3 +53,5 @@ public: // and throws Error if not. virtual void finalize() = 0; }; + +} // namespace compression diff --git a/src/NullCompressor.cpp b/src/compression/NullCompressor.cpp similarity index 86% rename from src/NullCompressor.cpp rename to src/compression/NullCompressor.cpp index b51d84d18..4d5ee67a5 100644 --- a/src/NullCompressor.cpp +++ b/src/compression/NullCompressor.cpp @@ -20,7 +20,9 @@ #include -NullCompressor::NullCompressor(FILE* stream) : m_stream(stream) +namespace compression { + +NullCompressor::NullCompressor(FILE* const stream) : m_stream(stream) { } @@ -31,7 +33,7 @@ NullCompressor::actual_compression_level() const } void -NullCompressor::write(const void* data, size_t count) +NullCompressor::write(const void* const data, const size_t count) { if (fwrite(data, 1, count, m_stream) != count) { throw core::Error("failed to write to uncompressed stream"); @@ -45,3 +47,5 @@ NullCompressor::finalize() throw core::Error("failed to finalize uncompressed stream"); } } + +} // namespace compression diff --git a/src/NullCompressor.hpp b/src/compression/NullCompressor.hpp similarity index 94% rename from src/NullCompressor.hpp rename to src/compression/NullCompressor.hpp index e7abe29f8..2f26c7b03 100644 --- a/src/NullCompressor.hpp +++ b/src/compression/NullCompressor.hpp @@ -19,10 +19,13 @@ #pragma once #include "Compressor.hpp" -#include "NonCopyable.hpp" + +#include #include +namespace compression { + // A compressor of an uncompressed stream. class NullCompressor : public Compressor, NonCopyable { @@ -38,3 +41,5 @@ public: private: FILE* m_stream; }; + +} // namespace compression diff --git a/src/NullDecompressor.cpp b/src/compression/NullDecompressor.cpp similarity index 86% rename from src/NullDecompressor.cpp rename to src/compression/NullDecompressor.cpp index bcb1c69df..f25da6354 100644 --- a/src/NullDecompressor.cpp +++ b/src/compression/NullDecompressor.cpp @@ -20,12 +20,14 @@ #include -NullDecompressor::NullDecompressor(FILE* stream) : m_stream(stream) +namespace compression { + +NullDecompressor::NullDecompressor(FILE* const stream) : m_stream(stream) { } void -NullDecompressor::read(void* data, size_t count) +NullDecompressor::read(void* const data, const size_t count) { if (fread(data, count, 1, m_stream) != 1) { throw core::Error("failed to read from uncompressed stream"); @@ -39,3 +41,5 @@ NullDecompressor::finalize() throw core::Error("garbage data at end of uncompressed stream"); } } + +} // namespace compression diff --git a/src/NullDecompressor.hpp b/src/compression/NullDecompressor.hpp similarity index 93% rename from src/NullDecompressor.hpp rename to src/compression/NullDecompressor.hpp index 68ccf8822..722319d86 100644 --- a/src/NullDecompressor.hpp +++ b/src/compression/NullDecompressor.hpp @@ -19,10 +19,13 @@ #pragma once #include "Decompressor.hpp" -#include "NonCopyable.hpp" + +#include #include +namespace compression { + // A decompressor of an uncompressed stream. class NullDecompressor : public Decompressor, NonCopyable { @@ -37,3 +40,5 @@ public: private: FILE* m_stream; }; + +} // namespace compression diff --git a/src/ZstdCompressor.cpp b/src/compression/ZstdCompressor.cpp similarity index 91% rename from src/ZstdCompressor.cpp rename to src/compression/ZstdCompressor.cpp index c89d60cbd..8ff737983 100644 --- a/src/ZstdCompressor.cpp +++ b/src/compression/ZstdCompressor.cpp @@ -25,7 +25,9 @@ #include -ZstdCompressor::ZstdCompressor(FILE* stream, int8_t compression_level) +namespace compression { + +ZstdCompressor::ZstdCompressor(FILE* const stream, int8_t compression_level) : m_stream(stream), m_zstd_stream(ZSTD_createCStream()) { @@ -71,7 +73,7 @@ ZstdCompressor::actual_compression_level() const } void -ZstdCompressor::write(const void* data, size_t count) +ZstdCompressor::write(const void* const data, const size_t count) { m_zstd_in.src = data; m_zstd_in.size = count; @@ -87,7 +89,7 @@ ZstdCompressor::write(const void* data, size_t count) m_zstd_out.pos = 0; ret = ZSTD_compressStream(m_zstd_stream, &m_zstd_out, &m_zstd_in); ASSERT(!(ZSTD_isError(ret))); - size_t compressed_bytes = m_zstd_out.pos; + const size_t compressed_bytes = m_zstd_out.pos; if (fwrite(buffer, 1, compressed_bytes, m_stream) != compressed_bytes || ferror(m_stream)) { throw core::Error("failed to write to zstd output stream "); @@ -100,7 +102,7 @@ ZstdCompressor::write(const void* data, size_t count) m_zstd_out.size = sizeof(buffer); m_zstd_out.pos = 0; ret = ZSTD_endStream(m_zstd_stream, &m_zstd_out); - size_t compressed_bytes = m_zstd_out.pos; + const size_t compressed_bytes = m_zstd_out.pos; if (fwrite(buffer, 1, compressed_bytes, m_stream) != compressed_bytes || ferror(m_stream)) { throw core::Error("failed to write to zstd output stream"); @@ -113,3 +115,5 @@ ZstdCompressor::finalize() { write(nullptr, 0); } + +} // namespace compression diff --git a/src/ZstdCompressor.hpp b/src/compression/ZstdCompressor.hpp similarity index 95% rename from src/ZstdCompressor.hpp rename to src/compression/ZstdCompressor.hpp index 2551d1326..a5e10ea5a 100644 --- a/src/ZstdCompressor.hpp +++ b/src/compression/ZstdCompressor.hpp @@ -19,12 +19,15 @@ #pragma once #include "Compressor.hpp" -#include "NonCopyable.hpp" + +#include #include #include +namespace compression { + // A compressor of a Zstandard stream. class ZstdCompressor : public Compressor, NonCopyable { @@ -49,3 +52,5 @@ private: ZSTD_outBuffer m_zstd_out; int8_t m_compression_level; }; + +} // namespace compression diff --git a/src/ZstdDecompressor.cpp b/src/compression/ZstdDecompressor.cpp similarity index 88% rename from src/ZstdDecompressor.cpp rename to src/compression/ZstdDecompressor.cpp index f02f2e4d8..916a6e8fe 100644 --- a/src/ZstdDecompressor.cpp +++ b/src/compression/ZstdDecompressor.cpp @@ -22,14 +22,16 @@ #include -ZstdDecompressor::ZstdDecompressor(FILE* stream) +namespace compression { + +ZstdDecompressor::ZstdDecompressor(FILE* const stream) : m_stream(stream), m_input_size(0), m_input_consumed(0), m_zstd_stream(ZSTD_createDStream()), m_reached_stream_end(false) { - size_t ret = ZSTD_initDStream(m_zstd_stream); + const size_t ret = ZSTD_initDStream(m_zstd_stream); if (ZSTD_isError(ret)) { ZSTD_freeDStream(m_zstd_stream); throw core::Error("failed to initialize zstd decompression stream"); @@ -42,7 +44,7 @@ ZstdDecompressor::~ZstdDecompressor() } void -ZstdDecompressor::read(void* data, size_t count) +ZstdDecompressor::read(void* const data, const size_t count) { size_t bytes_read = 0; while (bytes_read < count) { @@ -62,7 +64,8 @@ ZstdDecompressor::read(void* data, size_t count) m_zstd_out.dst = static_cast(data) + bytes_read; m_zstd_out.size = count - bytes_read; m_zstd_out.pos = 0; - size_t ret = ZSTD_decompressStream(m_zstd_stream, &m_zstd_out, &m_zstd_in); + const size_t ret = + ZSTD_decompressStream(m_zstd_stream, &m_zstd_out, &m_zstd_in); if (ZSTD_isError(ret)) { throw core::Error("failed to read from zstd input stream"); } @@ -82,3 +85,5 @@ ZstdDecompressor::finalize() throw core::Error("garbage data at end of zstd input stream"); } } + +} // namespace compression diff --git a/src/ZstdDecompressor.hpp b/src/compression/ZstdDecompressor.hpp similarity index 96% rename from src/ZstdDecompressor.hpp rename to src/compression/ZstdDecompressor.hpp index 2868982b0..aee51b6d2 100644 --- a/src/ZstdDecompressor.hpp +++ b/src/compression/ZstdDecompressor.hpp @@ -24,6 +24,8 @@ #include +namespace compression { + // A decompressor of a Zstandard stream. class ZstdDecompressor : public Decompressor { @@ -47,3 +49,5 @@ private: ZSTD_outBuffer m_zstd_out; bool m_reached_stream_end; }; + +} // namespace compression diff --git a/src/Compression.cpp b/src/compression/types.cpp similarity index 87% rename from src/Compression.cpp rename to src/compression/types.cpp index 8b1ef00cf..d0e91f609 100644 --- a/src/Compression.cpp +++ b/src/compression/types.cpp @@ -16,15 +16,14 @@ // this program; if not, write to the Free Software Foundation, Inc., 51 // Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -#include "Compression.hpp" - -#include "Config.hpp" -#include "Context.hpp" -#include "assertions.hpp" +#include "types.hpp" +#include +#include +#include #include -namespace Compression { +namespace compression { int8_t level_from_config(const Config& config) @@ -39,7 +38,7 @@ type_from_config(const Config& config) } Type -type_from_int(uint8_t type) +type_from_int(const uint8_t type) { switch (type) { case static_cast(Type::none): @@ -53,7 +52,7 @@ type_from_int(uint8_t type) } std::string -type_to_string(Type type) +type_to_string(const Type type) { switch (type) { case Type::none: @@ -66,4 +65,4 @@ type_to_string(Type type) ASSERT(false); } -} // namespace Compression +} // namespace compression diff --git a/src/Compression.hpp b/src/compression/types.hpp similarity index 91% rename from src/Compression.hpp rename to src/compression/types.hpp index 42721e979..4b0e35e63 100644 --- a/src/Compression.hpp +++ b/src/compression/types.hpp @@ -23,7 +23,7 @@ class Config; -namespace Compression { +namespace compression { enum class Type : uint8_t { none = 0, @@ -36,6 +36,6 @@ Type type_from_config(const Config& config); Type type_from_int(uint8_t type); -std::string type_to_string(Compression::Type type); +std::string type_to_string(Type type); -} // namespace Compression +} // namespace compression diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt index 7c57b4166..c9f129cd1 100644 --- a/unittest/CMakeLists.txt +++ b/unittest/CMakeLists.txt @@ -5,7 +5,6 @@ set( test_Args.cpp test_AtomicFile.cpp test_Checksum.cpp - test_Compression.cpp test_Config.cpp test_Counters.cpp test_Depfile.cpp @@ -20,6 +19,7 @@ set( test_argprocessing.cpp test_ccache.cpp test_compopt.cpp + test_compression_types.cpp test_hashutil.cpp test_util_Tokenizer.cpp test_util_expected.cpp diff --git a/unittest/test_NullCompression.cpp b/unittest/test_NullCompression.cpp index 9ea78afef..6f8759698 100644 --- a/unittest/test_NullCompression.cpp +++ b/unittest/test_NullCompression.cpp @@ -16,34 +16,37 @@ // this program; if not, write to the Free Software Foundation, Inc., 51 // Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -#include "../src/Compression.hpp" -#include "../src/Compressor.hpp" -#include "../src/Decompressor.hpp" #include "../src/File.hpp" #include "TestUtil.hpp" +#include +#include +#include + #include "third_party/doctest.h" #include +using compression::Compressor; +using compression::Decompressor; using TestUtil::TestContext; TEST_SUITE_BEGIN("NullCompression"); -TEST_CASE("Compression::Type::none roundtrip") +TEST_CASE("compression::Type::none roundtrip") { TestContext test_context; File f("data.uncompressed", "w"); auto compressor = - Compressor::create_from_type(Compression::Type::none, f.get(), 1); + Compressor::create_from_type(compression::Type::none, f.get(), 1); CHECK(compressor->actual_compression_level() == 0); compressor->write("foobar", 6); compressor->finalize(); f.open("data.uncompressed", "r"); auto decompressor = - Decompressor::create_from_type(Compression::Type::none, f.get()); + Decompressor::create_from_type(compression::Type::none, f.get()); char buffer[4]; decompressor->read(buffer, 4); diff --git a/unittest/test_ZstdCompression.cpp b/unittest/test_ZstdCompression.cpp index 834350346..fd06dc4e8 100644 --- a/unittest/test_ZstdCompression.cpp +++ b/unittest/test_ZstdCompression.cpp @@ -16,34 +16,37 @@ // this program; if not, write to the Free Software Foundation, Inc., 51 // Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -#include "../src/Compression.hpp" -#include "../src/Compressor.hpp" -#include "../src/Decompressor.hpp" #include "../src/File.hpp" #include "TestUtil.hpp" +#include +#include +#include + #include "third_party/doctest.h" #include +using compression::Compressor; +using compression::Decompressor; using TestUtil::TestContext; TEST_SUITE_BEGIN("ZstdCompression"); -TEST_CASE("Small Compression::Type::zstd roundtrip") +TEST_CASE("Small compression::Type::zstd roundtrip") { TestContext test_context; File f("data.zstd", "wb"); auto compressor = - Compressor::create_from_type(Compression::Type::zstd, f.get(), 1); + Compressor::create_from_type(compression::Type::zstd, f.get(), 1); CHECK(compressor->actual_compression_level() == 1); compressor->write("foobar", 6); compressor->finalize(); f.open("data.zstd", "rb"); auto decompressor = - Decompressor::create_from_type(Compression::Type::zstd, f.get()); + Decompressor::create_from_type(compression::Type::zstd, f.get()); char buffer[4]; decompressor->read(buffer, 4); @@ -64,7 +67,7 @@ TEST_CASE("Small Compression::Type::zstd roundtrip") "failed to read from zstd input stream"); } -TEST_CASE("Large compressible Compression::Type::zstd roundtrip") +TEST_CASE("Large compressible compression::Type::zstd roundtrip") { TestContext test_context; @@ -72,7 +75,7 @@ TEST_CASE("Large compressible Compression::Type::zstd roundtrip") File f("data.zstd", "wb"); auto compressor = - Compressor::create_from_type(Compression::Type::zstd, f.get(), 1); + Compressor::create_from_type(compression::Type::zstd, f.get(), 1); for (size_t i = 0; i < 1000; i++) { compressor->write(data, sizeof(data)); } @@ -80,7 +83,7 @@ TEST_CASE("Large compressible Compression::Type::zstd roundtrip") f.open("data.zstd", "rb"); auto decompressor = - Decompressor::create_from_type(Compression::Type::zstd, f.get()); + Decompressor::create_from_type(compression::Type::zstd, f.get()); char buffer[sizeof(data)]; for (size_t i = 0; i < 1000; i++) { @@ -96,7 +99,7 @@ TEST_CASE("Large compressible Compression::Type::zstd roundtrip") "failed to read from zstd input stream"); } -TEST_CASE("Large uncompressible Compression::Type::zstd roundtrip") +TEST_CASE("Large uncompressible compression::Type::zstd roundtrip") { TestContext test_context; @@ -107,13 +110,13 @@ TEST_CASE("Large uncompressible Compression::Type::zstd roundtrip") File f("data.zstd", "wb"); auto compressor = - Compressor::create_from_type(Compression::Type::zstd, f.get(), 1); + Compressor::create_from_type(compression::Type::zstd, f.get(), 1); compressor->write(data, sizeof(data)); compressor->finalize(); f.open("data.zstd", "rb"); auto decompressor = - Decompressor::create_from_type(Compression::Type::zstd, f.get()); + Decompressor::create_from_type(compression::Type::zstd, f.get()); char buffer[sizeof(data)]; decompressor->read(buffer, sizeof(buffer)); diff --git a/unittest/test_Compression.cpp b/unittest/test_compression_types.cpp similarity index 56% rename from unittest/test_Compression.cpp rename to unittest/test_compression_types.cpp index d143e0630..82edb0e5d 100644 --- a/unittest/test_Compression.cpp +++ b/unittest/test_compression_types.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2019-2020 Joel Rosdahl and other contributors +// Copyright (C) 2019-2021 Joel Rosdahl and other contributors // // See doc/AUTHORS.adoc for a complete list of contributors. // @@ -16,36 +16,37 @@ // this program; if not, write to the Free Software Foundation, Inc., 51 // Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -#include "../src/Compression.hpp" #include "../src/Config.hpp" +#include + #include "third_party/doctest.h" -TEST_SUITE_BEGIN("Compression"); +TEST_SUITE_BEGIN("compression"); -TEST_CASE("Compression::level_from_config") +TEST_CASE("compression::level_from_config") { Config config; - CHECK(Compression::level_from_config(config) == 0); + CHECK(compression::level_from_config(config) == 0); } -TEST_CASE("Compression::type_from_config") +TEST_CASE("compression::type_from_config") { Config config; - CHECK(Compression::type_from_config(config) == Compression::Type::zstd); + CHECK(compression::type_from_config(config) == compression::Type::zstd); } -TEST_CASE("Compression::type_from_int") +TEST_CASE("compression::type_from_int") { - CHECK(Compression::type_from_int(0) == Compression::Type::none); - CHECK(Compression::type_from_int(1) == Compression::Type::zstd); - CHECK_THROWS_WITH(Compression::type_from_int(2), "Unknown type: 2"); + CHECK(compression::type_from_int(0) == compression::Type::none); + CHECK(compression::type_from_int(1) == compression::Type::zstd); + CHECK_THROWS_WITH(compression::type_from_int(2), "Unknown type: 2"); } -TEST_CASE("Compression::type_to_string") +TEST_CASE("compression::type_to_string") { - CHECK(Compression::type_to_string(Compression::Type::none) == "none"); - CHECK(Compression::type_to_string(Compression::Type::zstd) == "zstd"); + CHECK(compression::type_to_string(compression::Type::none) == "none"); + CHECK(compression::type_to_string(compression::Type::zstd) == "zstd"); } TEST_SUITE_END();