Commit 0decb439 authored by Christopher Dykes's avatar Christopher Dykes Committed by Facebook Github Bot 9

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
parent da9e05e8
...@@ -18,10 +18,13 @@ ...@@ -18,10 +18,13 @@
#include <folly/FileUtil.h> #include <folly/FileUtil.h>
#include <folly/MemoryMapping.h> #include <folly/MemoryMapping.h>
#include <folly/Random.h>
#include <folly/portability/SysMman.h> #include <folly/portability/SysMman.h>
#include <gtest/gtest.h> #include <gtest/gtest.h>
static constexpr double kSomeDouble = 3.14;
namespace folly { namespace folly {
TEST(MemoryMapping, Basic) { TEST(MemoryMapping, Basic) {
...@@ -29,7 +32,7 @@ TEST(MemoryMapping, Basic) { ...@@ -29,7 +32,7 @@ TEST(MemoryMapping, Basic) {
{ {
MemoryMapping m(File(f.fd()), 0, sizeof(double), MemoryMapping::writable()); MemoryMapping m(File(f.fd()), 0, sizeof(double), MemoryMapping::writable());
double* d = m.asWritableRange<double>().data(); double* d = m.asWritableRange<double>().data();
*d = 37 * M_PI; *d = 37 * kSomeDouble;
} }
{ {
MemoryMapping m(File(f.fd()), 0, 3); MemoryMapping m(File(f.fd()), 0, 3);
...@@ -38,7 +41,7 @@ TEST(MemoryMapping, Basic) { ...@@ -38,7 +41,7 @@ TEST(MemoryMapping, Basic) {
{ {
MemoryMapping m(File(f.fd()), 0, sizeof(double)); MemoryMapping m(File(f.fd()), 0, sizeof(double));
const double* d = m.asRange<double>().data(); const double* d = m.asRange<double>().data();
EXPECT_EQ(*d, 37 * M_PI); EXPECT_EQ(*d, 37 * kSomeDouble);
} }
} }
...@@ -48,18 +51,18 @@ TEST(MemoryMapping, Move) { ...@@ -48,18 +51,18 @@ TEST(MemoryMapping, Move) {
MemoryMapping m( MemoryMapping m(
File(f.fd()), 0, sizeof(double) * 2, MemoryMapping::writable()); File(f.fd()), 0, sizeof(double) * 2, MemoryMapping::writable());
double* d = m.asWritableRange<double>().data(); double* d = m.asWritableRange<double>().data();
d[0] = 37 * M_PI; d[0] = 37 * kSomeDouble;
MemoryMapping m2(std::move(m)); MemoryMapping m2(std::move(m));
double* d2 = m2.asWritableRange<double>().data(); double* d2 = m2.asWritableRange<double>().data();
d2[1] = 39 * M_PI; d2[1] = 39 * kSomeDouble;
} }
{ {
MemoryMapping m(File(f.fd()), 0, sizeof(double)); MemoryMapping m(File(f.fd()), 0, sizeof(double));
const double* d = m.asRange<double>().data(); const double* d = m.asRange<double>().data();
EXPECT_EQ(d[0], 37 * M_PI); EXPECT_EQ(d[0], 37 * kSomeDouble);
MemoryMapping m2(std::move(m)); MemoryMapping m2(std::move(m));
const double* d2 = m2.asRange<double>().data(); const double* d2 = m2.asRange<double>().data();
EXPECT_EQ(d2[1], 39 * M_PI); EXPECT_EQ(d2[1], 39 * kSomeDouble);
} }
} }
...@@ -74,10 +77,10 @@ TEST(MemoryMapping, DoublyMapped) { ...@@ -74,10 +77,10 @@ TEST(MemoryMapping, DoublyMapped) {
// Show that it's truly the same value, even though the pointers differ // Show that it's truly the same value, even though the pointers differ
EXPECT_NE(dw, dr); EXPECT_NE(dw, dr);
*dw = 42 * M_PI; *dw = 42 * kSomeDouble;
EXPECT_EQ(*dr, 42 * M_PI); EXPECT_EQ(*dr, 42 * kSomeDouble);
*dw = 43 * M_PI; *dw = 43 * kSomeDouble;
EXPECT_EQ(*dr, 43 * M_PI); EXPECT_EQ(*dr, 43 * kSomeDouble);
} }
namespace { namespace {
...@@ -123,7 +126,7 @@ TEST(MemoryMapping, LargeFile) { ...@@ -123,7 +126,7 @@ TEST(MemoryMapping, LargeFile) {
size_t fileSize = sysconf(_SC_PAGESIZE) * 3 + 10; size_t fileSize = sysconf(_SC_PAGESIZE) * 3 + 10;
fileData.reserve(fileSize); fileData.reserve(fileSize);
for (size_t i = 0; i < fileSize; i++) { for (size_t i = 0; i < fileSize; i++) {
fileData.push_back(0xff & random()); fileData.push_back(0xff & Random::rand32());
} }
File f = File::temporary(); File f = File::temporary();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment