Skip to content

Commit a42c71f

Browse files
authored
remove rosbag2 filesystem helper (#249)
* remove rosbag2 filesystem helper Signed-off-by: Karsten Knese <karsten@openrobotics.org> * alpha sort Signed-off-by: Karsten Knese <karsten@openrobotics.org>
1 parent bf04c04 commit a42c71f

File tree

21 files changed

+90
-347
lines changed

21 files changed

+90
-347
lines changed

rosbag2_compression/src/rosbag2_compression/zstd_compressor.cpp

+3-4
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
#include <string>
1919
#include <vector>
2020

21-
#include "rosbag2_compression/zstd_compressor.hpp"
21+
#include "rcutils/filesystem.h"
2222

23-
#include "rosbag2_storage/filesystem_helper.hpp"
23+
#include "rosbag2_compression/zstd_compressor.hpp"
2424

2525
#include "logging.hpp"
2626

@@ -65,8 +65,7 @@ std::vector<uint8_t> get_input_buffer(const std::string & uri)
6565
throw std::runtime_error{"Error opening file"};
6666
}
6767

68-
const auto decompressed_buffer_length =
69-
rosbag2_storage::FilesystemHelper::get_file_size(uri);
68+
const auto decompressed_buffer_length = rcutils_get_file_size(uri.c_str());
7069

7170
if (decompressed_buffer_length == 0) {
7271
fclose(file_pointer);

rosbag2_compression/src/rosbag2_compression/zstd_decompressor.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020

2121
#include "rcpputils/filesystem_helper.hpp"
2222

23-
#include "rosbag2_compression/zstd_decompressor.hpp"
23+
#include "rcutils/filesystem.h"
2424

25-
#include "rosbag2_storage/filesystem_helper.hpp"
25+
#include "rosbag2_compression/zstd_decompressor.hpp"
2626

2727
#include "logging.hpp"
2828

@@ -68,7 +68,7 @@ std::vector<uint8_t> get_input_buffer(const std::string & uri)
6868
throw std::runtime_error{errmsg.str()};
6969
}
7070

71-
const auto compressed_buffer_length = rosbag2_storage::FilesystemHelper::get_file_size(uri);
71+
const auto compressed_buffer_length = rcutils_get_file_size(uri.c_str());
7272
if (compressed_buffer_length == 0) {
7373
fclose(file_pointer);
7474

rosbag2_compression/test/rosbag2_compression/test_zstd_compressor.cpp

+19-18
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,14 @@
1818
#include <vector>
1919

2020
#include "rclcpp/rclcpp.hpp"
21+
22+
#include "rcpputils/filesystem_helper.hpp"
23+
24+
#include "rcutils/filesystem.h"
25+
2126
#include "rosbag2_compression/zstd_compressor.hpp"
2227
#include "rosbag2_compression/zstd_decompressor.hpp"
23-
#include "rosbag2_storage/filesystem_helper.hpp"
28+
2429
#include "rosbag2_test_common/temporary_directory_fixture.hpp"
2530

2631
#include "gmock/gmock.h"
@@ -84,28 +89,27 @@ class CompressionHelperFixture : public rosbag2_test_common::TemporaryDirectoryF
8489

8590
TEST_F(CompressionHelperFixture, zstd_compress_file_uri)
8691
{
87-
const auto uri = rosbag2_storage::FilesystemHelper::concat({temporary_dir_path_, "file1.txt"});
92+
const auto uri = (rcpputils::fs::path(temporary_dir_path_) / "file1.txt").string();
8893
create_garbage_file(uri);
8994
auto zstd_compressor = rosbag2_compression::ZstdCompressor{};
9095
const auto compressed_uri = zstd_compressor.compress_uri(uri);
9196

9297
const auto expected_compressed_uri = uri + "." + zstd_compressor.get_compression_identifier();
93-
const auto uncompressed_file_size = rosbag2_storage::FilesystemHelper::get_file_size(uri);
94-
const auto compressed_file_size =
95-
rosbag2_storage::FilesystemHelper::get_file_size(compressed_uri);
98+
const auto uncompressed_file_size = rcutils_get_file_size(uri.c_str());
99+
const auto compressed_file_size = rcutils_get_file_size(compressed_uri.c_str());
96100

97101
EXPECT_NE(compressed_uri, uri);
98102
EXPECT_EQ(compressed_uri, expected_compressed_uri);
99103
EXPECT_LT(compressed_file_size, uncompressed_file_size);
100104
EXPECT_GT(compressed_file_size, 0u);
101-
EXPECT_TRUE(rosbag2_storage::FilesystemHelper::file_exists(compressed_uri));
105+
EXPECT_TRUE(rcpputils::fs::path(compressed_uri).exists());
102106
}
103107

104108
TEST_F(CompressionHelperFixture, zstd_decompress_file_uri)
105109
{
106-
const auto uri = rosbag2_storage::FilesystemHelper::concat({temporary_dir_path_, "file1.txt"});
110+
const auto uri = (rcpputils::fs::path(temporary_dir_path_) / "file1.txt").string();
107111
create_garbage_file(uri);
108-
const auto initial_file_size = rosbag2_storage::FilesystemHelper::get_file_size(uri);
112+
const auto initial_file_size = rcutils_get_file_size(uri.c_str());
109113

110114
auto zstd_compressor = rosbag2_compression::ZstdCompressor{};
111115
const auto compressed_uri = zstd_compressor.compress_uri(uri);
@@ -116,19 +120,18 @@ TEST_F(CompressionHelperFixture, zstd_decompress_file_uri)
116120
const auto decompressed_uri = zstd_decompressor.decompress_uri(compressed_uri);
117121

118122
const auto expected_decompressed_uri = uri;
119-
const auto decompressed_file_size =
120-
rosbag2_storage::FilesystemHelper::get_file_size(decompressed_uri);
123+
const auto decompressed_file_size = rcutils_get_file_size(decompressed_uri.c_str());
121124

122125
EXPECT_NE(compressed_uri, uri);
123126
EXPECT_NE(decompressed_uri, compressed_uri);
124127
EXPECT_EQ(uri, expected_decompressed_uri);
125128
EXPECT_EQ(initial_file_size, decompressed_file_size);
126-
EXPECT_TRUE(rosbag2_storage::FilesystemHelper::file_exists(decompressed_uri));
129+
EXPECT_TRUE(rcpputils::fs::path(decompressed_uri).exists());
127130
}
128131

129132
TEST_F(CompressionHelperFixture, zstd_decompress_file_contents)
130133
{
131-
const auto uri = rosbag2_storage::FilesystemHelper::concat({temporary_dir_path_, "file2.txt"});
134+
const auto uri = (rcpputils::fs::path(temporary_dir_path_) / "file2.txt").string();
132135
create_garbage_file(uri);
133136

134137
auto compressor = rosbag2_compression::ZstdCompressor{};
@@ -138,10 +141,9 @@ TEST_F(CompressionHelperFixture, zstd_decompress_file_contents)
138141
const auto decompressed_uri = decompressor.decompress_uri(compressed_uri);
139142

140143
const auto initial_data = read_file(uri);
141-
const auto initial_file_size = rosbag2_storage::FilesystemHelper::get_file_size(uri);
144+
const auto initial_file_size = rcutils_get_file_size(uri.c_str());
142145
const auto decompressed_data = read_file(decompressed_uri);
143-
const auto decompressed_file_size =
144-
rosbag2_storage::FilesystemHelper::get_file_size(decompressed_uri);
146+
const auto decompressed_file_size = rcutils_get_file_size(decompressed_uri.c_str());
145147

146148
EXPECT_EQ(
147149
initial_data.size() * sizeof(decltype(initial_data)::value_type),
@@ -154,7 +156,7 @@ TEST_F(CompressionHelperFixture, zstd_decompress_file_contents)
154156

155157
TEST_F(CompressionHelperFixture, zstd_decompress_fails_on_bad_file)
156158
{
157-
const auto uri = rosbag2_storage::FilesystemHelper::concat({temporary_dir_path_, "file3.txt"});
159+
const auto uri = (rcpputils::fs::path(temporary_dir_path_) / "file3.txt").string();
158160
create_garbage_file(uri);
159161

160162
auto decompressor = rosbag2_compression::ZstdDecompressor{};
@@ -163,8 +165,7 @@ TEST_F(CompressionHelperFixture, zstd_decompress_fails_on_bad_file)
163165

164166
TEST_F(CompressionHelperFixture, zstd_decompress_fails_on_bad_uri)
165167
{
166-
const auto bad_uri =
167-
rosbag2_storage::FilesystemHelper::concat({temporary_dir_path_, "bad_uri.txt"});
168+
const auto bad_uri = (rcpputils::fs::path(temporary_dir_path_) / "bad_uri.txt").string();
168169
auto decompressor = rosbag2_compression::ZstdDecompressor{};
169170

170171
EXPECT_THROW(decompressor.decompress_uri(bad_uri), std::runtime_error);

rosbag2_cpp/src/rosbag2_cpp/info.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <stdexcept>
1919
#include <string>
2020

21-
#include "rosbag2_storage/filesystem_helper.hpp"
2221
#include "rosbag2_storage/metadata_io.hpp"
2322
#include "rosbag2_storage/storage_factory.hpp"
2423

rosbag2_cpp/src/rosbag2_cpp/writer.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include "rosbag2_cpp/storage_options.hpp"
2626
#include "rosbag2_cpp/writer_interfaces/base_writer_interface.hpp"
2727

28-
#include "rosbag2_storage/filesystem_helper.hpp"
2928
#include "rosbag2_storage/serialized_bag_message.hpp"
3029
#include "rosbag2_storage/topic_metadata.hpp"
3130

rosbag2_cpp/src/rosbag2_cpp/writers/sequential_writer.cpp

+7-6
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@
2121
#include <string>
2222
#include <utility>
2323

24+
#include "rcpputils/filesystem_helper.hpp"
25+
26+
#include "rcutils/filesystem.h"
27+
2428
#include "rosbag2_cpp/info.hpp"
2529
#include "rosbag2_cpp/storage_options.hpp"
2630

27-
#include "rosbag2_storage/filesystem_helper.hpp"
28-
2931
namespace rosbag2_cpp
3032
{
3133
namespace writers
@@ -39,10 +41,9 @@ std::string format_storage_uri(const std::string & base_folder, uint64_t storage
3941
// The name of the folder needs to be queried in case
4042
// SequentialWriter is opened with a relative path.
4143
std::stringstream storage_file_name;
42-
storage_file_name << rosbag2_storage::FilesystemHelper::get_folder_name(base_folder) <<
43-
"_" << storage_count;
44+
storage_file_name << rcpputils::fs::path(base_folder).filename().string() << "_" << storage_count;
4445

45-
return rosbag2_storage::FilesystemHelper::concat({base_folder, storage_file_name.str()});
46+
return (rcpputils::fs::path(base_folder) / storage_file_name.str()).string();
4647
}
4748
} // namespace
4849

@@ -221,7 +222,7 @@ void SequentialWriter::finalize_metadata()
221222
metadata_.bag_size = 0;
222223

223224
for (const auto & path : metadata_.relative_file_paths) {
224-
metadata_.bag_size += rosbag2_storage::FilesystemHelper::get_file_size(path);
225+
metadata_.bag_size += rcutils_get_file_size(path.c_str());
225226
}
226227

227228
metadata_.topics_with_message_count.clear();

rosbag2_cpp/test/rosbag2_cpp/test_info.cpp

+8-10
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919
#include <string>
2020
#include <vector>
2121

22+
#include "rcpputils/filesystem_helper.hpp"
23+
2224
#include "rosbag2_cpp/info.hpp"
2325
#include "rosbag2_cpp/writer.hpp"
2426

2527
#include "rosbag2_storage/bag_metadata.hpp"
26-
#include "rosbag2_storage/filesystem_helper.hpp"
2728
#include "rosbag2_storage/metadata_io.hpp"
2829

2930
#include "rosbag2_test_common/temporary_directory_fixture.hpp"
@@ -56,11 +57,9 @@ TEST_F(TemporaryDirectoryFixture, read_metadata_supports_version_2) {
5657
" message_count: 200\n";
5758

5859
{
59-
const auto bagfile_path = rosbag2_storage::FilesystemHelper::concat({
60-
temporary_dir_path_, rosbag2_storage::MetadataIo::metadata_filename
61-
});
62-
63-
std::ofstream fout {bagfile_path};
60+
std::ofstream fout {
61+
(rcpputils::fs::path(temporary_dir_path_) / rosbag2_storage::MetadataIo::metadata_filename)
62+
.string()};
6463
fout << bagfile;
6564
}
6665

@@ -127,10 +126,9 @@ TEST_F(TemporaryDirectoryFixture, read_metadata_makes_appropriate_call_to_metada
127126
" compression_format: \"zstd\"\n"
128127
" compression_mode: \"FILE\"\n");
129128

130-
std::ofstream fout(
131-
rosbag2_storage::FilesystemHelper::concat({
132-
temporary_dir_path_, rosbag2_storage::MetadataIo::metadata_filename
133-
}));
129+
std::ofstream fout {
130+
(rcpputils::fs::path(temporary_dir_path_) / rosbag2_storage::MetadataIo::metadata_filename)
131+
.string()};
134132
fout << bagfile;
135133
fout.close();
136134

rosbag2_cpp/test/rosbag2_cpp/test_sequential_writer.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919
#include <utility>
2020
#include <vector>
2121

22+
#include "rcpputils/filesystem_helper.hpp"
23+
2224
#include "rosbag2_cpp/writers/sequential_writer.hpp"
2325
#include "rosbag2_cpp/writer.hpp"
2426

2527
#include "rosbag2_storage/bag_metadata.hpp"
26-
#include "rosbag2_storage/filesystem_helper.hpp"
2728
#include "rosbag2_storage/topic_metadata.hpp"
2829

2930
#include "mock_converter.hpp"
@@ -237,8 +238,8 @@ TEST_F(SequentialWriterTest, writer_splits_when_storage_bagfile_size_gt_max_bagf
237238
static_cast<unsigned int>(expected_splits)) <<
238239
"Storage should have split bagfile " << (expected_splits - 1);
239240

240-
const auto base_path = rosbag2_storage::FilesystemHelper::concat({
241-
storage_options_.uri, storage_options_.uri});
241+
const auto base_path =
242+
(rcpputils::fs::path(storage_options_.uri) / storage_options_.uri).string();
242243
int counter = 0;
243244
for (const auto & path : fake_metadata_.relative_file_paths) {
244245
std::stringstream ss;

rosbag2_storage/CMakeLists.txt

+2-8
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ endif()
2222

2323
find_package(ament_cmake REQUIRED)
2424
find_package(pluginlib REQUIRED)
25+
find_package(rcpputils REQUIRED)
2526
find_package(rcutils REQUIRED)
2627
find_package(yaml_cpp_vendor REQUIRED)
2728

@@ -36,6 +37,7 @@ target_include_directories(rosbag2_storage PUBLIC include)
3637
ament_target_dependencies(
3738
rosbag2_storage
3839
pluginlib
40+
rcpputils
3941
rcutils
4042
yaml_cpp_vendor)
4143

@@ -105,14 +107,6 @@ if(BUILD_TESTING)
105107
target_link_libraries(test_metadata_serialization rosbag2_storage)
106108
ament_target_dependencies(test_metadata_serialization rosbag2_test_common)
107109
endif()
108-
109-
ament_add_gmock(test_filesystem_helper
110-
test/rosbag2_storage/test_filesystem_helper.cpp)
111-
if(TARGET test_filesystem_helper)
112-
target_include_directories(test_filesystem_helper PRIVATE include)
113-
target_link_libraries(test_filesystem_helper rosbag2_storage)
114-
ament_target_dependencies(test_filesystem_helper rosbag2_test_common)
115-
endif()
116110
endif()
117111

118112
ament_package(

0 commit comments

Comments
 (0)