c69d33b0ec
This change adds a native Windows port (port_windows.h) and a Windows Env (WindowsEnv). Note1: "small" is defined when including <Windows.h> so some parameters were renamed to avoid conflict. Note2: leveldb::Env defines the method: "DeleteFile" which is also a constant defined when including <Windows.h>. The solution was to ensure this macro is defined in env.h which forces the function, when compiled, to be either DeleteFileA or DeleteFileW when building for MBCS or UNICODE respectively. This resolves #519 on GitHub. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=236364778
31 lines
1.0 KiB
C++
31 lines
1.0 KiB
C++
// Copyright 2018 (c) The LevelDB Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file. See the AUTHORS file for names of contributors.
|
|
|
|
#ifndef STORAGE_LEVELDB_UTIL_ENV_WINDOWS_TEST_HELPER_H_
|
|
#define STORAGE_LEVELDB_UTIL_ENV_WINDOWS_TEST_HELPER_H_
|
|
|
|
namespace leveldb {
|
|
|
|
class EnvWindowsTest;
|
|
|
|
// A helper for the Windows Env to facilitate testing.
|
|
class EnvWindowsTestHelper {
|
|
private:
|
|
friend class CorruptionTest;
|
|
friend class EnvWindowsTest;
|
|
|
|
// Set the maximum number of read-only files that will be mapped via mmap.
|
|
// Must be called before creating an Env.
|
|
static void SetReadOnlyMMapLimit(int limit);
|
|
|
|
// Relax file permissions for tests. This results in most files being opened
|
|
// with read-write permissions. This is helpful for corruption tests that
|
|
// need to corrupt the database files for open databases.
|
|
static void RelaxFilePermissions();
|
|
};
|
|
|
|
} // namespace leveldb
|
|
|
|
#endif // STORAGE_LEVELDB_UTIL_ENV_WINDOWS_TEST_HELPER_H_
|