From 0decb439ef2b9e70fda71b0ff30f49e805d28e02 Mon Sep 17 00:00:00 2001 From: Christopher Dykes Date: Fri, 26 Aug 2016 13:11:03 -0700 Subject: [PATCH] Use folly::Random and ensure M_PI is defined Summary: Because MSVC doesn't have `random()` and `M_PI` is guarded by a pre-processor macro. Reviewed By: yfeldblum Differential Revision: D3767159 fbshipit-source-id: fcb1c41cd75925455c76efad38423cd52bd98aeb --- folly/test/MemoryMappingTest.cpp | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/folly/test/MemoryMappingTest.cpp b/folly/test/MemoryMappingTest.cpp index 84676f0e..1d80cd2e 100644 --- a/folly/test/MemoryMappingTest.cpp +++ b/folly/test/MemoryMappingTest.cpp @@ -18,10 +18,13 @@ #include #include +#include #include #include +static constexpr double kSomeDouble = 3.14; + namespace folly { TEST(MemoryMapping, Basic) { @@ -29,7 +32,7 @@ TEST(MemoryMapping, Basic) { { MemoryMapping m(File(f.fd()), 0, sizeof(double), MemoryMapping::writable()); double* d = m.asWritableRange().data(); - *d = 37 * M_PI; + *d = 37 * kSomeDouble; } { MemoryMapping m(File(f.fd()), 0, 3); @@ -38,7 +41,7 @@ TEST(MemoryMapping, Basic) { { MemoryMapping m(File(f.fd()), 0, sizeof(double)); const double* d = m.asRange().data(); - EXPECT_EQ(*d, 37 * M_PI); + EXPECT_EQ(*d, 37 * kSomeDouble); } } @@ -48,18 +51,18 @@ TEST(MemoryMapping, Move) { MemoryMapping m( File(f.fd()), 0, sizeof(double) * 2, MemoryMapping::writable()); double* d = m.asWritableRange().data(); - d[0] = 37 * M_PI; + d[0] = 37 * kSomeDouble; MemoryMapping m2(std::move(m)); double* d2 = m2.asWritableRange().data(); - d2[1] = 39 * M_PI; + d2[1] = 39 * kSomeDouble; } { MemoryMapping m(File(f.fd()), 0, sizeof(double)); const double* d = m.asRange().data(); - EXPECT_EQ(d[0], 37 * M_PI); + EXPECT_EQ(d[0], 37 * kSomeDouble); MemoryMapping m2(std::move(m)); const double* d2 = m2.asRange().data(); - EXPECT_EQ(d2[1], 39 * M_PI); + EXPECT_EQ(d2[1], 39 * kSomeDouble); } } @@ -74,10 +77,10 @@ TEST(MemoryMapping, DoublyMapped) { // Show that it's truly the same value, even though the pointers differ EXPECT_NE(dw, dr); - *dw = 42 * M_PI; - EXPECT_EQ(*dr, 42 * M_PI); - *dw = 43 * M_PI; - EXPECT_EQ(*dr, 43 * M_PI); + *dw = 42 * kSomeDouble; + EXPECT_EQ(*dr, 42 * kSomeDouble); + *dw = 43 * kSomeDouble; + EXPECT_EQ(*dr, 43 * kSomeDouble); } namespace { @@ -123,7 +126,7 @@ TEST(MemoryMapping, LargeFile) { size_t fileSize = sysconf(_SC_PAGESIZE) * 3 + 10; fileData.reserve(fileSize); for (size_t i = 0; i < fileSize; i++) { - fileData.push_back(0xff & random()); + fileData.push_back(0xff & Random::rand32()); } File f = File::temporary(); -- 2.34.1