fork of https://github.com/oxigraph/rocksdb and https://github.com/facebook/rocksdb for nextgraph and oxigraph
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
228 lines
6.4 KiB
228 lines
6.4 KiB
// Copyright (c) 2014, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under the BSD-style license found in the
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
package org.rocksdb.test;
|
|
|
|
import org.rocksdb.DBOptions;
|
|
import org.rocksdb.DBOptionsInterface;
|
|
import org.rocksdb.RocksDB;
|
|
import org.rocksdb.RocksDBException;
|
|
|
|
import java.util.Random;
|
|
|
|
public class DBOptionsTest {
|
|
static {
|
|
RocksDB.loadLibrary();
|
|
}
|
|
|
|
public static void testDBOptions(DBOptionsInterface opt) {
|
|
Random rand = PlatformRandomHelper.
|
|
getPlatformSpecificRandomFactory();
|
|
{ // CreateIfMissing test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setCreateIfMissing(boolValue);
|
|
assert(opt.createIfMissing() == boolValue);
|
|
}
|
|
|
|
{ // CreateMissingColumnFamilies test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setCreateMissingColumnFamilies(boolValue);
|
|
assert(opt.createMissingColumnFamilies() == boolValue);
|
|
}
|
|
|
|
{ // ErrorIfExists test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setErrorIfExists(boolValue);
|
|
assert(opt.errorIfExists() == boolValue);
|
|
}
|
|
|
|
{ // ParanoidChecks test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setParanoidChecks(boolValue);
|
|
assert(opt.paranoidChecks() == boolValue);
|
|
}
|
|
|
|
{
|
|
// MaxTotalWalSize test
|
|
long longValue = rand.nextLong();
|
|
opt.setMaxTotalWalSize(longValue);
|
|
assert(opt.maxTotalWalSize() == longValue);
|
|
}
|
|
|
|
{ // MaxOpenFiles test
|
|
int intValue = rand.nextInt();
|
|
opt.setMaxOpenFiles(intValue);
|
|
assert(opt.maxOpenFiles() == intValue);
|
|
}
|
|
|
|
{ // DisableDataSync test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setDisableDataSync(boolValue);
|
|
assert(opt.disableDataSync() == boolValue);
|
|
}
|
|
|
|
{ // UseFsync test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setUseFsync(boolValue);
|
|
assert(opt.useFsync() == boolValue);
|
|
}
|
|
|
|
{ // DbLogDir test
|
|
String str = "path/to/DbLogDir";
|
|
opt.setDbLogDir(str);
|
|
assert(opt.dbLogDir().equals(str));
|
|
}
|
|
|
|
{ // WalDir test
|
|
String str = "path/to/WalDir";
|
|
opt.setWalDir(str);
|
|
assert(opt.walDir().equals(str));
|
|
}
|
|
|
|
{ // DeleteObsoleteFilesPeriodMicros test
|
|
long longValue = rand.nextLong();
|
|
opt.setDeleteObsoleteFilesPeriodMicros(longValue);
|
|
assert(opt.deleteObsoleteFilesPeriodMicros() == longValue);
|
|
}
|
|
|
|
{ // MaxBackgroundCompactions test
|
|
int intValue = rand.nextInt();
|
|
opt.setMaxBackgroundCompactions(intValue);
|
|
assert(opt.maxBackgroundCompactions() == intValue);
|
|
}
|
|
|
|
{ // MaxBackgroundFlushes test
|
|
int intValue = rand.nextInt();
|
|
opt.setMaxBackgroundFlushes(intValue);
|
|
assert(opt.maxBackgroundFlushes() == intValue);
|
|
}
|
|
|
|
{ // MaxLogFileSize test
|
|
try {
|
|
long longValue = rand.nextLong();
|
|
opt.setMaxLogFileSize(longValue);
|
|
assert(opt.maxLogFileSize() == longValue);
|
|
} catch (RocksDBException e) {
|
|
System.out.println(e.getMessage());
|
|
assert(false);
|
|
}
|
|
}
|
|
|
|
{ // LogFileTimeToRoll test
|
|
try {
|
|
long longValue = rand.nextLong();
|
|
opt.setLogFileTimeToRoll(longValue);
|
|
assert(opt.logFileTimeToRoll() == longValue);
|
|
} catch (RocksDBException e) {
|
|
assert(false);
|
|
}
|
|
}
|
|
|
|
{ // KeepLogFileNum test
|
|
try {
|
|
long longValue = rand.nextLong();
|
|
opt.setKeepLogFileNum(longValue);
|
|
assert(opt.keepLogFileNum() == longValue);
|
|
} catch (RocksDBException e) {
|
|
assert(false);
|
|
}
|
|
}
|
|
|
|
{ // MaxManifestFileSize test
|
|
long longValue = rand.nextLong();
|
|
opt.setMaxManifestFileSize(longValue);
|
|
assert(opt.maxManifestFileSize() == longValue);
|
|
}
|
|
|
|
{ // TableCacheNumshardbits test
|
|
int intValue = rand.nextInt();
|
|
opt.setTableCacheNumshardbits(intValue);
|
|
assert(opt.tableCacheNumshardbits() == intValue);
|
|
}
|
|
|
|
{ // TableCacheRemoveScanCountLimit test
|
|
int intValue = rand.nextInt();
|
|
opt.setTableCacheRemoveScanCountLimit(intValue);
|
|
assert(opt.tableCacheRemoveScanCountLimit() == intValue);
|
|
}
|
|
|
|
{ // WalTtlSeconds test
|
|
long longValue = rand.nextLong();
|
|
opt.setWalTtlSeconds(longValue);
|
|
assert(opt.walTtlSeconds() == longValue);
|
|
}
|
|
|
|
{ // ManifestPreallocationSize test
|
|
try {
|
|
long longValue = rand.nextLong();
|
|
opt.setManifestPreallocationSize(longValue);
|
|
assert(opt.manifestPreallocationSize() == longValue);
|
|
} catch (RocksDBException e) {
|
|
assert(false);
|
|
}
|
|
}
|
|
|
|
{ // AllowOsBuffer test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setAllowOsBuffer(boolValue);
|
|
assert(opt.allowOsBuffer() == boolValue);
|
|
}
|
|
|
|
{ // AllowMmapReads test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setAllowMmapReads(boolValue);
|
|
assert(opt.allowMmapReads() == boolValue);
|
|
}
|
|
|
|
{ // AllowMmapWrites test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setAllowMmapWrites(boolValue);
|
|
assert(opt.allowMmapWrites() == boolValue);
|
|
}
|
|
|
|
{ // IsFdCloseOnExec test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setIsFdCloseOnExec(boolValue);
|
|
assert(opt.isFdCloseOnExec() == boolValue);
|
|
}
|
|
|
|
{ // SkipLogErrorOnRecovery test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setSkipLogErrorOnRecovery(boolValue);
|
|
assert(opt.skipLogErrorOnRecovery() == boolValue);
|
|
}
|
|
|
|
{ // StatsDumpPeriodSec test
|
|
int intValue = rand.nextInt();
|
|
opt.setStatsDumpPeriodSec(intValue);
|
|
assert(opt.statsDumpPeriodSec() == intValue);
|
|
}
|
|
|
|
{ // AdviseRandomOnOpen test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setAdviseRandomOnOpen(boolValue);
|
|
assert(opt.adviseRandomOnOpen() == boolValue);
|
|
}
|
|
|
|
{ // UseAdaptiveMutex test
|
|
boolean boolValue = rand.nextBoolean();
|
|
opt.setUseAdaptiveMutex(boolValue);
|
|
assert(opt.useAdaptiveMutex() == boolValue);
|
|
}
|
|
|
|
{ // BytesPerSync test
|
|
long longValue = rand.nextLong();
|
|
opt.setBytesPerSync(longValue);
|
|
assert(opt.bytesPerSync() == longValue);
|
|
}
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
DBOptions opt = new DBOptions();
|
|
testDBOptions(opt);
|
|
opt.dispose();
|
|
System.out.println("Passed DBOptionsTest");
|
|
}
|
|
}
|
|
|