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

Side by Side Diff: base/allocator/allocator_unittest.cc

Issue 415773009: Re-enable various MSVC warnings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | build/common.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdio.h> 5 #include <stdio.h>
6 #include <stdlib.h> 6 #include <stdlib.h>
7 #include <algorithm> // for min() 7 #include <algorithm> // for min()
8 8
9 #include "base/atomicops.h" 9 #include "base/atomicops.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 } else { 280 } else {
281 EXPECT_NE(reinterpret_cast<void*>(NULL), p) << 281 EXPECT_NE(reinterpret_cast<void*>(NULL), p) <<
282 "calloc(n, s) should succeed"; 282 "calloc(n, s) should succeed";
283 for (int i = 0; i < n*s; i++) { 283 for (int i = 0; i < n*s; i++) {
284 EXPECT_EQ('\0', p[i]); 284 EXPECT_EQ('\0', p[i]);
285 } 285 }
286 free(p); 286 free(p);
287 } 287 }
288 } 288 }
289 289
290 // MSVC C4530 complains about exception handler usage when exceptions are
291 // disabled. Temporarily disable that warning so we can test that they are, in
292 // fact, disabled.
293 #if defined(OS_WIN)
294 #pragma warning(push)
295 #pragma warning(disable: 4530)
296 #endif
290 297
291 // A global test counter for number of times the NewHandler is called. 298 // A global test counter for number of times the NewHandler is called.
292 static int news_handled = 0; 299 static int news_handled = 0;
293 static void TestNewHandler() { 300 static void TestNewHandler() {
294 ++news_handled; 301 ++news_handled;
295 throw std::bad_alloc(); 302 throw std::bad_alloc();
296 } 303 }
297 304
298 // Because we compile without exceptions, we expect these will not throw. 305 // Because we compile without exceptions, we expect these will not throw.
299 static void TestOneNewWithoutExceptions(void* (*func)(size_t), 306 static void TestOneNewWithoutExceptions(void* (*func)(size_t),
(...skipping 24 matching lines...) Expand all
324 std::new_handler saved_handler = std::set_new_handler(0); 331 std::new_handler saved_handler = std::set_new_handler(0);
325 TestOneNewWithoutExceptions(func, false); 332 TestOneNewWithoutExceptions(func, false);
326 333
327 // test with new_handler: 334 // test with new_handler:
328 std::set_new_handler(TestNewHandler); 335 std::set_new_handler(TestNewHandler);
329 TestOneNewWithoutExceptions(func, true); 336 TestOneNewWithoutExceptions(func, true);
330 EXPECT_EQ(news_handled, 1) << "nothrow new_handler was not called."; 337 EXPECT_EQ(news_handled, 1) << "nothrow new_handler was not called.";
331 std::set_new_handler(saved_handler); 338 std::set_new_handler(saved_handler);
332 } 339 }
333 340
341 #if defined(OS_WIN)
342 #pragma warning(pop)
343 #endif
344
334 } // namespace 345 } // namespace
335 346
336 //----------------------------------------------------------------------------- 347 //-----------------------------------------------------------------------------
337 348
338 TEST(Atomics, AtomicIncrementWord) { 349 TEST(Atomics, AtomicIncrementWord) {
339 TestAtomicIncrement<AtomicWord>(); 350 TestAtomicIncrement<AtomicWord>();
340 } 351 }
341 352
342 TEST(Atomics, AtomicIncrement32) { 353 TEST(Atomics, AtomicIncrement32) {
343 TestAtomicIncrement<Atomic32>(); 354 TestAtomicIncrement<Atomic32>();
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 } 522 }
512 } 523 }
513 524
514 #endif 525 #endif
515 526
516 527
517 int main(int argc, char** argv) { 528 int main(int argc, char** argv) {
518 testing::InitGoogleTest(&argc, argv); 529 testing::InitGoogleTest(&argc, argv);
519 return RUN_ALL_TESTS(); 530 return RUN_ALL_TESTS();
520 } 531 }
OLDNEW
« no previous file with comments | « no previous file | build/common.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698