From d152b23f3b787f67a0ac3a40498e13831f3778d7 Mon Sep 17 00:00:00 2001
From: leveldb Team <no-reply@google.com>
Date: Tue, 3 Dec 2019 13:15:21 -0800
Subject: [PATCH] Defend against inclusion of windows.h in tests that invoke
 Env::DeleteFile.

PiperOrigin-RevId: 283607548
---
 benchmarks/db_bench.cc        | 5 +++++
 db/db_test.cc                 | 5 +++++
 db/fault_injection_test.cc    | 5 +++++
 db/recovery_test.cc           | 5 +++++
 helpers/memenv/memenv_test.cc | 5 +++++
 util/env_test.cc              | 5 +++++
 6 files changed, 30 insertions(+)

diff --git a/benchmarks/db_bench.cc b/benchmarks/db_bench.cc
index 3696023..397e23f 100644
--- a/benchmarks/db_bench.cc
+++ b/benchmarks/db_bench.cc
@@ -18,6 +18,11 @@
 #include "util/random.h"
 #include "util/testutil.h"
 
+#if defined(_WIN32) && defined(DeleteFile)
+// See rationale in env.h
+#undef DeleteFile
+#endif
+
 // Comma-separated list of operations to run in the specified order
 //   Actual benchmarks:
 //      fillseq       -- write N values in sequential key order in async mode
diff --git a/db/db_test.cc b/db/db_test.cc
index 1bd5afc..3f41c36 100644
--- a/db/db_test.cc
+++ b/db/db_test.cc
@@ -23,6 +23,11 @@
 #include "util/mutexlock.h"
 #include "util/testutil.h"
 
+#if defined(_WIN32) && defined(DeleteFile)
+// See rationale in env.h
+#undef DeleteFile
+#endif
+
 namespace leveldb {
 
 static std::string RandomString(Random* rnd, int len) {
diff --git a/db/fault_injection_test.cc b/db/fault_injection_test.cc
index db8580c..b2d2adb 100644
--- a/db/fault_injection_test.cc
+++ b/db/fault_injection_test.cc
@@ -25,6 +25,11 @@
 #include "util/mutexlock.h"
 #include "util/testutil.h"
 
+#if defined(_WIN32) && defined(DeleteFile)
+// See rationale in env.h
+#undef DeleteFile
+#endif
+
 namespace leveldb {
 
 static const int kValueSize = 1000;
diff --git a/db/recovery_test.cc b/db/recovery_test.cc
index cf6574e..ea137e6 100644
--- a/db/recovery_test.cc
+++ b/db/recovery_test.cc
@@ -13,6 +13,11 @@
 #include "util/logging.h"
 #include "util/testutil.h"
 
+#if defined(_WIN32) && defined(DeleteFile)
+// See rationale in env.h
+#undef DeleteFile
+#endif
+
 namespace leveldb {
 
 class RecoveryTest : public testing::Test {
diff --git a/helpers/memenv/memenv_test.cc b/helpers/memenv/memenv_test.cc
index 2001101..619fe51 100644
--- a/helpers/memenv/memenv_test.cc
+++ b/helpers/memenv/memenv_test.cc
@@ -13,6 +13,11 @@
 #include "leveldb/env.h"
 #include "util/testutil.h"
 
+#if defined(_WIN32) && defined(DeleteFile)
+// See rationale in env.h
+#undef DeleteFile
+#endif
+
 namespace leveldb {
 
 class MemEnvTest : public testing::Test {
diff --git a/util/env_test.cc b/util/env_test.cc
index b35ba05..09e9d39 100644
--- a/util/env_test.cc
+++ b/util/env_test.cc
@@ -12,6 +12,11 @@
 #include "util/mutexlock.h"
 #include "util/testutil.h"
 
+#if defined(_WIN32) && defined(DeleteFile)
+// See rationale in env.h
+#undef DeleteFile
+#endif
+
 namespace leveldb {
 
 static const int kDelayMicros = 100000;