Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(300)

Side by Side Diff: third_party/protobuf/src/google/protobuf/testing/file.cc

Issue 1322483002: Revert https://codereview.chromium.org/1291903002 (protobuf roll). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved. 2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/ 3 // http://code.google.com/p/protobuf/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above 11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer 12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the 13 // in the documentation and/or other materials provided with the
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 int error = ferror(file); 76 int error = ferror(file);
77 if (fclose(file) != 0) return false; 77 if (fclose(file) != 0) return false;
78 return error == 0; 78 return error == 0;
79 } 79 }
80 80
81 void File::ReadFileToStringOrDie(const string& name, string* output) { 81 void File::ReadFileToStringOrDie(const string& name, string* output) {
82 GOOGLE_CHECK(ReadFileToString(name, output)) << "Could not read: " << name; 82 GOOGLE_CHECK(ReadFileToString(name, output)) << "Could not read: " << name;
83 } 83 }
84 84
85 bool File::WriteStringToFile(const string& contents, const string& name) {
86 FILE* file = fopen(name.c_str(), "wb");
87 if (file == NULL) {
88 GOOGLE_LOG(ERROR) << "fopen(" << name << ", \"wb\"): " << strerror(errno);
89 return false;
90 }
91
92 if (fwrite(contents.data(), 1, contents.size(), file) != contents.size()) {
93 GOOGLE_LOG(ERROR) << "fwrite(" << name << "): " << strerror(errno);
94 return false;
95 }
96
97 if (fclose(file) != 0) {
98 return false;
99 }
100 return true;
101 }
102
103 void File::WriteStringToFileOrDie(const string& contents, const string& name) { 85 void File::WriteStringToFileOrDie(const string& contents, const string& name) {
104 FILE* file = fopen(name.c_str(), "wb"); 86 FILE* file = fopen(name.c_str(), "wb");
105 GOOGLE_CHECK(file != NULL) 87 GOOGLE_CHECK(file != NULL)
106 << "fopen(" << name << ", \"wb\"): " << strerror(errno); 88 << "fopen(" << name << ", \"wb\"): " << strerror(errno);
107 GOOGLE_CHECK_EQ(fwrite(contents.data(), 1, contents.size(), file), 89 GOOGLE_CHECK_EQ(fwrite(contents.data(), 1, contents.size(), file),
108 contents.size()) 90 contents.size())
109 << "fwrite(" << name << "): " << strerror(errno); 91 << "fwrite(" << name << "): " << strerror(errno);
110 GOOGLE_CHECK(fclose(file) == 0) 92 GOOGLE_CHECK(fclose(file) == 0)
111 << "fclose(" << name << "): " << strerror(errno); 93 << "fclose(" << name << "): " << strerror(errno);
112 } 94 }
(...skipping 13 matching lines...) Expand all
126 // No parent given. 108 // No parent given.
127 return false; 109 return false;
128 } 110 }
129 111
130 return RecursivelyCreateDir(path.substr(0, slashpos), mode) && 112 return RecursivelyCreateDir(path.substr(0, slashpos), mode) &&
131 CreateDir(path, mode); 113 CreateDir(path, mode);
132 } 114 }
133 115
134 void File::DeleteRecursively(const string& name, 116 void File::DeleteRecursively(const string& name,
135 void* dummy1, void* dummy2) { 117 void* dummy1, void* dummy2) {
136 if (name.empty()) return;
137
138 // We don't care too much about error checking here since this is only used 118 // We don't care too much about error checking here since this is only used
139 // in tests to delete temporary directories that are under /tmp anyway. 119 // in tests to delete temporary directories that are under /tmp anyway.
140 120
141 #ifdef _MSC_VER 121 #ifdef _MSC_VER
142 // This interface is so weird. 122 // This interface is so weird.
143 WIN32_FIND_DATA find_data; 123 WIN32_FIND_DATA find_data;
144 HANDLE find_handle = FindFirstFile((name + "/*").c_str(), &find_data); 124 HANDLE find_handle = FindFirstFile((name + "/*").c_str(), &find_data);
145 if (find_handle == INVALID_HANDLE_VALUE) { 125 if (find_handle == INVALID_HANDLE_VALUE) {
146 // Just delete it, whatever it is. 126 // Just delete it, whatever it is.
147 DeleteFile(name.c_str()); 127 DeleteFile(name.c_str());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 165
186 closedir(dir); 166 closedir(dir);
187 rmdir(name.c_str()); 167 rmdir(name.c_str());
188 168
189 } else if (S_ISREG(stats.st_mode)) { 169 } else if (S_ISREG(stats.st_mode)) {
190 remove(name.c_str()); 170 remove(name.c_str());
191 } 171 }
192 #endif 172 #endif
193 } 173 }
194 174
195 bool File::ChangeWorkingDirectory(const string& new_working_directory) {
196 return chdir(new_working_directory.c_str()) == 0;
197 }
198
199 } // namespace protobuf 175 } // namespace protobuf
200 } // namespace google 176 } // namespace google
OLDNEW
« no previous file with comments | « third_party/protobuf/src/google/protobuf/testing/file.h ('k') | third_party/protobuf/src/google/protobuf/testing/googletest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698