From: Xiaoxi Chen Date: Fri, 8 May 2015 07:50:35 +0000 (+0800) Subject: Add an test checking if frequent used options works. X-Git-Tag: v9.0.2~157^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9c64bae3c810301dd7718d62862bb4e00e8ffd17;p=ceph.git Add an test checking if frequent used options works. Now most frequent used options are tested passed. Known issue: BackgroundThreads(we may need to interpret by ourselves). DisableWAL(need to interpret since it's in wopitions). Signed-off-by: Xiaoxi Chen --- diff --git a/src/test/Makefile-server.am b/src/test/Makefile-server.am index d5af9394d0a2..20d17e0c9a34 100644 --- a/src/test/Makefile-server.am +++ b/src/test/Makefile-server.am @@ -183,6 +183,19 @@ bin_DEBUGPROGRAMS += ceph_test_snap_mapper endif # WITH_OSD +if WITH_SLIBROCKSDB +unittest_rocksdb_option_static_SOURCES = test/objectstore/TestRocksdbOptionParse.cc +unittest_rocksdb_option_static_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) rocksdb/librocksdb.la +unittest_rocksdb_option_static_CXXFLAGS = $(UNITTEST_CXXFLAGS) ${AM_CXXFLAGS} ${LIBROCKSDB_CFLAGS} -std=gnu++11 -I rocksdb/include +check_TESTPROGRAMS += unittest_rocksdb_option_static +endif + +if WITH_DLIBROCKSDB +unittest_rocksdb_option_SOURCES = test/objectstore/TestRocksdbOptionParse.cc +unittest_rocksdb_option_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) -lrocksdb +unittest_rocksdb_option_CXXFLAGS = $(UNITTEST_CXXFLAGS) ${AM_CXXFLAGS} ${LIBROCKSDB_CFLAGS} -std=gnu++11 +check_TESTPROGRAMS += unittest_rocksdb_option +endif unittest_chain_xattr_SOURCES = test/objectstore/chain_xattr.cc unittest_chain_xattr_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) diff --git a/src/test/objectstore/TestRocksdbOptionParse.cc b/src/test/objectstore/TestRocksdbOptionParse.cc new file mode 100644 index 000000000000..de7a7b314289 --- /dev/null +++ b/src/test/objectstore/TestRocksdbOptionParse.cc @@ -0,0 +1,45 @@ +#include +#include "rocksdb/db.h" +#include "rocksdb/utilities/convenience.h" +#include +using namespace std; + +TEST(RocksDBOption, simple) { + rocksdb::Options options; + rocksdb::Status status; + string options_string = "" + "write_buffer_size=536870912;" + "create_if_missing=true;" + "max_write_buffer_number=4;" + "max_background_compactions=4;" + "stats_dump_period_sec = 5;" + "min_write_buffer_number_to_merge = 2;" + "level0_file_num_compaction_trigger = 4;" + "max_bytes_for_level_base = 104857600;" + "target_file_size_base = 10485760;" + "num_levels = 3;" + "compression = kNoCompression;" + "disable_data_sync = false;"; + status = rocksdb::GetOptionsFromString(options, options_string, &options); + if (!status.ok()) { + cerr << status.ToString() << std::endl; + ASSERT_TRUE(status.ok()); + } + ASSERT_TRUE(status.ok()); + ASSERT_EQ(536870912, options.write_buffer_size); + ASSERT_EQ(4, options.max_write_buffer_number); + ASSERT_EQ(4, options.max_background_compactions); + ASSERT_EQ(5, options.stats_dump_period_sec); + ASSERT_EQ(2, options.min_write_buffer_number_to_merge); + ASSERT_EQ(4, options.level0_file_num_compaction_trigger); + ASSERT_EQ(104857600, options.max_bytes_for_level_base); + ASSERT_EQ(10485760, options.target_file_size_base); + ASSERT_EQ(3, options.num_levels); + ASSERT_FALSE(options.disableDataSync); + // ASSERT_EQ("none", options.compression); +} + +int main(int argc, char **argv) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +}