From 383640caaf32587209df684ce1eec7438ffeefa3 Mon Sep 17 00:00:00 2001 From: Michael Krasnyk Date: Sun, 25 Jun 2017 22:13:52 +0200 Subject: [PATCH] Cleanup temporary test files --- unit_tests/common/temporary_file.hpp | 15 +++++++++++++++ unit_tests/util/indexed_data.cpp | 17 +++++++++-------- unit_tests/util/name_table.cpp | 7 ++++--- 3 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 unit_tests/common/temporary_file.hpp diff --git a/unit_tests/common/temporary_file.hpp b/unit_tests/common/temporary_file.hpp new file mode 100644 index 000000000..660fe4d3b --- /dev/null +++ b/unit_tests/common/temporary_file.hpp @@ -0,0 +1,15 @@ +#ifndef UNIT_TESTS_TEMPORARY_FILE_HPP +#define UNIT_TESTS_TEMPORARY_FILE_HPP + +#include + +struct TemporaryFile +{ + TemporaryFile() : path(boost::filesystem::unique_path()) {} + + ~TemporaryFile() { boost::filesystem::remove(path); } + + boost::filesystem::path path; +}; + +#endif // UNIT_TESTS_TEMPORARY_FILE_HPP diff --git a/unit_tests/util/indexed_data.cpp b/unit_tests/util/indexed_data.cpp index 3bb5d6dc7..ad5878d3b 100644 --- a/unit_tests/util/indexed_data.cpp +++ b/unit_tests/util/indexed_data.cpp @@ -1,8 +1,7 @@ #include "util/indexed_data.hpp" +#include "common/temporary_file.hpp" #include "util/exception.hpp" -#include - #include #include @@ -36,15 +35,16 @@ BOOST_AUTO_TEST_CASE(check_variable_group_block_bitops) template void test_rw(const Offsets &offsets, const Data &data) { + TemporaryFile file; + IndexedData indexed_data; - auto path = boost::filesystem::unique_path(); { - storage::io::FileWriter writer(path, storage::io::FileWriter::HasNoFingerprint); + storage::io::FileWriter writer(file.path, storage::io::FileWriter::HasNoFingerprint); indexed_data.write(writer, offsets.begin(), offsets.end(), data.begin()); } - storage::io::FileReader reader(path, storage::io::FileReader::HasNoFingerprint); + storage::io::FileReader reader(file.path, storage::io::FileReader::HasNoFingerprint); auto length = reader.GetSize(); std::string str(length, '\0'); reader.ReadInto(const_cast(str.data()), length); @@ -184,17 +184,18 @@ BOOST_AUTO_TEST_CASE(check_corrupted_memory) BOOST_AUTO_TEST_CASE(check_string_view) { - auto path = boost::filesystem::unique_path(); + TemporaryFile file; + std::string name_data = "hellostringview"; std::vector name_offsets = {0, 5, 11, 15}; IndexedData> indexed_data; { - storage::io::FileWriter writer(path, storage::io::FileWriter::HasNoFingerprint); + storage::io::FileWriter writer(file.path, storage::io::FileWriter::HasNoFingerprint); indexed_data.write(writer, name_offsets.begin(), name_offsets.end(), name_data.begin()); } - storage::io::FileReader reader(path, storage::io::FileReader::HasNoFingerprint); + storage::io::FileReader reader(file.path, storage::io::FileReader::HasNoFingerprint); auto length = reader.GetSize(); std::string str(length, '\0'); reader.ReadInto(const_cast(str.data()), length); diff --git a/unit_tests/util/name_table.cpp b/unit_tests/util/name_table.cpp index a3cd328d5..f0a520f4b 100644 --- a/unit_tests/util/name_table.cpp +++ b/unit_tests/util/name_table.cpp @@ -1,4 +1,5 @@ #include "util/name_table.hpp" +#include "common/temporary_file.hpp" #include "util/exception.hpp" #include @@ -54,14 +55,14 @@ std::string PrapareNameTableData(std::vector &data, bool fill_all) } name_offsets.push_back(name_char_data.size()); - auto path = boost::filesystem::unique_path(); + TemporaryFile file; { - storage::io::FileWriter writer(path, storage::io::FileWriter::HasNoFingerprint); + storage::io::FileWriter writer(file.path, storage::io::FileWriter::HasNoFingerprint); indexed_data.write( writer, name_offsets.begin(), name_offsets.end(), name_char_data.begin()); } - storage::io::FileReader reader(path, storage::io::FileReader::HasNoFingerprint); + storage::io::FileReader reader(file.path, storage::io::FileReader::HasNoFingerprint); auto length = reader.GetSize(); std::string str(length, '\0'); reader.ReadInto(const_cast(str.data()), length);