diff --git a/ros1_foxglove_bridge/tests/smoke_test.cpp b/ros1_foxglove_bridge/tests/smoke_test.cpp index bd52dc5..60aada0 100644 --- a/ros1_foxglove_bridge/tests/smoke_test.cpp +++ b/ros1_foxglove_bridge/tests/smoke_test.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -347,13 +348,16 @@ TEST(FetchAssetTest, fetchExistingAsset) { auto wsClient = std::make_shared>(); EXPECT_EQ(std::future_status::ready, wsClient->connect(URI).wait_for(DEFAULT_TIMEOUT)); - const auto tmpFilePath = std::tmpnam(nullptr) + std::string(".txt"); + const auto millisSinceEpoch = std::chrono::duration_cast( + std::chrono::system_clock::now().time_since_epoch()); + const auto tmpFilePath = + boost::filesystem::temp_directory_path() / std::to_string(millisSinceEpoch.count()); constexpr char content[] = "Hello, world"; FILE* tmpAssetFile = std::fopen(tmpFilePath.c_str(), "w"); std::fputs(content, tmpAssetFile); std::fclose(tmpAssetFile); - const std::string uri = std::string("file://") + tmpFilePath; + const std::string uri = std::string("file://") + tmpFilePath.string(); const uint32_t requestId = 123; auto future = foxglove::waitForFetchAssetResponse(wsClient); diff --git a/ros2_foxglove_bridge/tests/smoke_test.cpp b/ros2_foxglove_bridge/tests/smoke_test.cpp index 38f9bdd..d9699e1 100644 --- a/ros2_foxglove_bridge/tests/smoke_test.cpp +++ b/ros2_foxglove_bridge/tests/smoke_test.cpp @@ -1,4 +1,5 @@ #include +#include #include #include @@ -545,13 +546,16 @@ TEST(FetchAssetTest, fetchExistingAsset) { auto wsClient = std::make_shared>(); EXPECT_EQ(std::future_status::ready, wsClient->connect(URI).wait_for(DEFAULT_TIMEOUT)); - const auto tmpFilePath = std::tmpnam(nullptr) + std::string(".txt"); + const auto millisSinceEpoch = std::chrono::duration_cast( + std::chrono::system_clock::now().time_since_epoch()); + const auto tmpFilePath = + std::filesystem::temp_directory_path() / std::to_string(millisSinceEpoch.count()); constexpr char content[] = "Hello, world"; FILE* tmpAssetFile = std::fopen(tmpFilePath.c_str(), "w"); std::fputs(content, tmpAssetFile); std::fclose(tmpAssetFile); - const std::string uri = std::string("file://") + tmpFilePath; + const std::string uri = std::string("file://") + tmpFilePath.string(); const uint32_t requestId = 123; auto future = foxglove::waitForFetchAssetResponse(wsClient);