OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 private: | 51 private: |
52 static std::string original_working_dir_; | 52 static std::string original_working_dir_; |
53 }; | 53 }; |
54 | 54 |
55 std::string FileUtilsTest::original_working_dir_ = ""; | 55 std::string FileUtilsTest::original_working_dir_ = ""; |
56 | 56 |
57 // Tests that the project output dir path is returned for the default working | 57 // Tests that the project output dir path is returned for the default working |
58 // directory that is automatically set when the test executable is launched. | 58 // directory that is automatically set when the test executable is launched. |
59 // The test is not fully testing the implementation, since we cannot be sure | 59 // The test is not fully testing the implementation, since we cannot be sure |
60 // of where the executable was launched from. | 60 // of where the executable was launched from. |
61 #if defined(WEBRTC_ANDROID) | 61 #if defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS) |
62 #define MAYBE_OutputPathFromUnchangedWorkingDir \ | 62 #define MAYBE_OutputPathFromUnchangedWorkingDir \ |
63 DISABLED_OutputPathFromUnchangedWorkingDir | 63 DISABLED_OutputPathFromUnchangedWorkingDir |
64 #else | 64 #else |
65 #define MAYBE_OutputPathFromUnchangedWorkingDir \ | 65 #define MAYBE_OutputPathFromUnchangedWorkingDir \ |
66 OutputPathFromUnchangedWorkingDir | 66 OutputPathFromUnchangedWorkingDir |
67 #endif | 67 #endif |
68 TEST_F(FileUtilsTest, MAYBE_OutputPathFromUnchangedWorkingDir) { | 68 TEST_F(FileUtilsTest, MAYBE_OutputPathFromUnchangedWorkingDir) { |
69 std::string path = webrtc::test::OutputPath(); | 69 std::string path = webrtc::test::OutputPath(); |
70 std::string expected_end = "out"; | 70 std::string expected_end = "out"; |
71 expected_end = kPathDelimiter + expected_end + kPathDelimiter; | 71 expected_end = kPathDelimiter + expected_end + kPathDelimiter; |
72 ASSERT_EQ(path.length() - expected_end.length(), path.find(expected_end)); | 72 ASSERT_EQ(path.length() - expected_end.length(), path.find(expected_end)); |
73 } | 73 } |
74 | 74 |
75 // Tests with current working directory set to a directory higher up in the | 75 // Tests with current working directory set to a directory higher up in the |
76 // directory tree than the project root dir. | 76 // directory tree than the project root dir. |
77 #if defined(WEBRTC_ANDROID) || defined(WIN32) | 77 #if defined(WEBRTC_ANDROID) || defined(WIN32) || defined(WEBRTC_IOS) |
78 #define MAYBE_OutputPathFromRootWorkingDir DISABLED_OutputPathFromRootWorkingDir | 78 #define MAYBE_OutputPathFromRootWorkingDir DISABLED_OutputPathFromRootWorkingDir |
79 #else | 79 #else |
80 #define MAYBE_OutputPathFromRootWorkingDir OutputPathFromRootWorkingDir | 80 #define MAYBE_OutputPathFromRootWorkingDir OutputPathFromRootWorkingDir |
81 #endif | 81 #endif |
82 TEST_F(FileUtilsTest, MAYBE_OutputPathFromRootWorkingDir) { | 82 TEST_F(FileUtilsTest, MAYBE_OutputPathFromRootWorkingDir) { |
83 ASSERT_EQ(0, chdir(kPathDelimiter)); | 83 ASSERT_EQ(0, chdir(kPathDelimiter)); |
84 ASSERT_EQ("./", webrtc::test::OutputPath()); | 84 ASSERT_EQ("./", webrtc::test::OutputPath()); |
85 } | 85 } |
86 | 86 |
87 TEST_F(FileUtilsTest, TempFilename) { | 87 TEST_F(FileUtilsTest, TempFilename) { |
88 std::string temp_filename = webrtc::test::TempFilename( | 88 std::string temp_filename = webrtc::test::TempFilename( |
89 webrtc::test::OutputPath(), "TempFilenameTest"); | 89 webrtc::test::OutputPath(), "TempFilenameTest"); |
90 ASSERT_TRUE(webrtc::test::FileExists(temp_filename)) | 90 ASSERT_TRUE(webrtc::test::FileExists(temp_filename)) |
91 << "Couldn't find file: " << temp_filename; | 91 << "Couldn't find file: " << temp_filename; |
92 remove(temp_filename.c_str()); | 92 remove(temp_filename.c_str()); |
93 } | 93 } |
94 | 94 |
95 // Only tests that the code executes | 95 // Only tests that the code executes |
96 TEST_F(FileUtilsTest, CreateDir) { | 96 #if defined(WEBRTC_IOS) |
| 97 #define MAYBE_CreateDir DISABLED_CreateDir |
| 98 #else |
| 99 #define MAYBE_CreateDir CreateDir |
| 100 #endif |
| 101 TEST_F(FileUtilsTest, MAYBE_CreateDir) { |
97 std::string directory = "fileutils-unittest-empty-dir"; | 102 std::string directory = "fileutils-unittest-empty-dir"; |
98 // Make sure it's removed if a previous test has failed: | 103 // Make sure it's removed if a previous test has failed: |
99 remove(directory.c_str()); | 104 remove(directory.c_str()); |
100 ASSERT_TRUE(webrtc::test::CreateDir(directory)); | 105 ASSERT_TRUE(webrtc::test::CreateDir(directory)); |
101 remove(directory.c_str()); | 106 remove(directory.c_str()); |
102 } | 107 } |
103 | 108 |
104 TEST_F(FileUtilsTest, WorkingDirReturnsValue) { | 109 TEST_F(FileUtilsTest, WorkingDirReturnsValue) { |
105 // Hard to cover all platforms. Just test that it returns something without | 110 // Hard to cover all platforms. Just test that it returns something without |
106 // crashing: | 111 // crashing: |
107 std::string working_dir = webrtc::test::WorkingDir(); | 112 std::string working_dir = webrtc::test::WorkingDir(); |
108 ASSERT_GT(working_dir.length(), 0u); | 113 ASSERT_GT(working_dir.length(), 0u); |
109 } | 114 } |
110 | 115 |
111 // Due to multiple platforms, it is hard to make a complete test for | 116 // Due to multiple platforms, it is hard to make a complete test for |
112 // ResourcePath. Manual testing has been performed by removing files and | 117 // ResourcePath. Manual testing has been performed by removing files and |
113 // verified the result confirms with the specified documentation for the | 118 // verified the result confirms with the specified documentation for the |
114 // function. | 119 // function. |
115 TEST_F(FileUtilsTest, ResourcePathReturnsValue) { | 120 TEST_F(FileUtilsTest, ResourcePathReturnsValue) { |
116 std::string resource = webrtc::test::ResourcePath(kTestName, kExtension); | 121 std::string resource = webrtc::test::ResourcePath(kTestName, kExtension); |
117 ASSERT_GT(resource.find(kTestName), 0u); | 122 ASSERT_GT(resource.find(kTestName), 0u); |
118 ASSERT_GT(resource.find(kExtension), 0u); | 123 ASSERT_GT(resource.find(kExtension), 0u); |
119 } | 124 } |
120 | 125 |
121 TEST_F(FileUtilsTest, ResourcePathFromRootWorkingDir) { | 126 TEST_F(FileUtilsTest, ResourcePathFromRootWorkingDir) { |
122 ASSERT_EQ(0, chdir(kPathDelimiter)); | 127 ASSERT_EQ(0, chdir(kPathDelimiter)); |
123 std::string resource = webrtc::test::ResourcePath(kTestName, kExtension); | 128 std::string resource = webrtc::test::ResourcePath(kTestName, kExtension); |
| 129 #if !defined(WEBRTC_IOS) |
124 ASSERT_NE(resource.find("resources"), std::string::npos); | 130 ASSERT_NE(resource.find("resources"), std::string::npos); |
| 131 #endif |
125 ASSERT_GT(resource.find(kTestName), 0u); | 132 ASSERT_GT(resource.find(kTestName), 0u); |
126 ASSERT_GT(resource.find(kExtension), 0u); | 133 ASSERT_GT(resource.find(kExtension), 0u); |
127 } | 134 } |
128 | 135 |
129 TEST_F(FileUtilsTest, GetFileSizeExistingFile) { | 136 TEST_F(FileUtilsTest, GetFileSizeExistingFile) { |
130 // Create a file with some dummy data in. | 137 // Create a file with some dummy data in. |
131 std::string temp_filename = webrtc::test::TempFilename( | 138 std::string temp_filename = webrtc::test::TempFilename( |
132 webrtc::test::OutputPath(), "fileutils_unittest"); | 139 webrtc::test::OutputPath(), "fileutils_unittest"); |
133 FILE* file = fopen(temp_filename.c_str(), "wb"); | 140 FILE* file = fopen(temp_filename.c_str(), "wb"); |
134 ASSERT_TRUE(file != NULL) << "Failed to open file: " << temp_filename; | 141 ASSERT_TRUE(file != NULL) << "Failed to open file: " << temp_filename; |
135 ASSERT_GT(fprintf(file, "%s", "Dummy data"), 0) << | 142 ASSERT_GT(fprintf(file, "%s", "Dummy data"), 0) << |
136 "Failed to write to file: " << temp_filename; | 143 "Failed to write to file: " << temp_filename; |
137 fclose(file); | 144 fclose(file); |
138 ASSERT_GT(webrtc::test::GetFileSize(std::string(temp_filename.c_str())), 0u); | 145 ASSERT_GT(webrtc::test::GetFileSize(std::string(temp_filename.c_str())), 0u); |
139 remove(temp_filename.c_str()); | 146 remove(temp_filename.c_str()); |
140 } | 147 } |
141 | 148 |
142 TEST_F(FileUtilsTest, GetFileSizeNonExistingFile) { | 149 TEST_F(FileUtilsTest, GetFileSizeNonExistingFile) { |
143 ASSERT_EQ(0u, webrtc::test::GetFileSize("non-existing-file.tmp")); | 150 ASSERT_EQ(0u, webrtc::test::GetFileSize("non-existing-file.tmp")); |
144 } | 151 } |
145 | 152 |
146 } // namespace webrtc | 153 } // namespace webrtc |
OLD | NEW |