summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/test/testsupport/file_utils_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/test/testsupport/file_utils_unittest.cc')
-rw-r--r--third_party/libwebrtc/test/testsupport/file_utils_unittest.cc38
1 files changed, 36 insertions, 2 deletions
diff --git a/third_party/libwebrtc/test/testsupport/file_utils_unittest.cc b/third_party/libwebrtc/test/testsupport/file_utils_unittest.cc
index b9de01d09d..1101a63352 100644
--- a/third_party/libwebrtc/test/testsupport/file_utils_unittest.cc
+++ b/third_party/libwebrtc/test/testsupport/file_utils_unittest.cc
@@ -19,6 +19,7 @@
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "rtc_base/checks.h"
+#include "rtc_base/helpers.h"
#include "test/gmock.h"
#include "test/gtest.h"
@@ -119,6 +120,28 @@ TEST_F(FileUtilsTest, OutputPathFromRootWorkingDir) {
ASSERT_THAT(result, EndsWith(expected_end));
}
+TEST_F(FileUtilsTest, RandomOutputPathFromUnchangedWorkingDir) {
+ rtc::SetRandomTestMode(true);
+ std::string fixed_first_uuid = "def01482-f829-429a-bfd4-841706e92cdd";
+ std::string expected_end = ExpectedRootDirByPlatform() + fixed_first_uuid +
+ std::string(kPathDelimiter);
+ std::string result = webrtc::test::OutputPathWithRandomDirectory();
+
+ ASSERT_THAT(result, EndsWith(expected_end));
+}
+
+TEST_F(FileUtilsTest, RandomOutputPathFromRootWorkingDir) {
+ ASSERT_EQ(0, chdir(kPathDelimiter.data()));
+
+ rtc::SetRandomTestMode(true);
+ std::string fixed_first_uuid = "def01482-f829-429a-bfd4-841706e92cdd";
+ std::string expected_end = ExpectedRootDirByPlatform() + fixed_first_uuid +
+ std::string(kPathDelimiter);
+ std::string result = webrtc::test::OutputPathWithRandomDirectory();
+
+ ASSERT_THAT(result, EndsWith(expected_end));
+}
+
TEST_F(FileUtilsTest, TempFilename) {
std::string temp_filename = webrtc::test::TempFilename(
webrtc::test::OutputPath(), "TempFilenameTest");
@@ -147,7 +170,8 @@ TEST_F(FileUtilsTest, GenerateTempFilename) {
#define MAYBE_CreateDir CreateDir
#endif
TEST_F(FileUtilsTest, MAYBE_CreateDir) {
- std::string directory = "fileutils-unittest-empty-dir";
+ std::string directory =
+ test::OutputPathWithRandomDirectory() + "fileutils-unittest-empty-dir";
// Make sure it's removed if a previous test has failed:
remove(directory.c_str());
ASSERT_TRUE(webrtc::test::CreateDir(directory));
@@ -231,7 +255,7 @@ TEST_F(FileUtilsTest, WriteReadDeleteFilesAndDirs) {
// Create an empty temporary directory for this test.
const std::string temp_directory =
- OutputPath() + Path("TempFileUtilsTestReadDirectory/");
+ OutputPathWithRandomDirectory() + Path("TempFileUtilsTestReadDirectory/");
CreateDir(temp_directory);
EXPECT_NO_FATAL_FAILURE(CleanDir(temp_directory, &num_deleted_entries));
EXPECT_TRUE(DirExists(temp_directory));
@@ -273,5 +297,15 @@ TEST_F(FileUtilsTest, DirNameStopsAtRoot) {
EXPECT_EQ(Path("/"), DirName(Path("/")));
}
+TEST_F(FileUtilsTest, JoinFilenameDoesNotAppendExtraPathDelimiterIfExists) {
+ EXPECT_EQ(JoinFilename(Path("/some/path/"), "file.txt"),
+ Path("/some/path/file.txt"));
+}
+
+TEST_F(FileUtilsTest, JoinFilenameAppendsPathDelimiterIfMissing) {
+ EXPECT_EQ(JoinFilename(Path("/some/path"), "file.txt"),
+ Path("/some/path/file.txt"));
+}
+
} // namespace test
} // namespace webrtc