rocksdb/util
Igor Sugak b4b69e4f77 rocksdb: switch to gtest
Summary:
Our existing test notation is very similar to what is used in gtest. It makes it easy to adopt what is different.
In this diff I modify existing [[ https://code.google.com/p/googletest/wiki/Primer#Test_Fixtures:_Using_the_Same_Data_Configuration_for_Multiple_Te | test fixture ]] classes to inherit from `testing::Test`. Also for unit tests that use fixture class, `TEST` is replaced with `TEST_F` as required in gtest.

There are several custom `main` functions in our existing tests. To make this transition easier, I modify all `main` functions to fallow gtest notation. But eventually we can remove them and use implementation of `main` that gtest provides.

```lang=bash
% cat ~/transform
#!/bin/sh
files=$(git ls-files '*test\.cc')
for file in $files
do
  if grep -q "rocksdb::test::RunAllTests()" $file
  then
    if grep -Eq '^class \w+Test {' $file
    then
      perl -pi -e 's/^(class \w+Test) {/${1}: public testing::Test {/g' $file
      perl -pi -e 's/^(TEST)/${1}_F/g' $file
    fi
    perl -pi -e 's/(int main.*\{)/${1}::testing::InitGoogleTest(&argc, argv);/g' $file
    perl -pi -e 's/rocksdb::test::RunAllTests/RUN_ALL_TESTS/g' $file
  fi
done
% sh ~/transform
% make format
```

Second iteration of this diff contains only scripted changes.

Third iteration contains manual changes to fix last errors and make it compilable.

Test Plan:
Build and notice no errors.
```lang=bash
% USE_CLANG=1 make check -j55
```
Tests are still testing.

Reviewers: meyering, sdong, rven, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D35157
2015-03-17 14:08:00 -07:00
..
allocator.h Enforce write buffer memory limit across column families 2014-12-02 12:09:20 -08:00
arena.cc Make arena use hugepage if possible 2014-11-21 14:11:40 -08:00
arena.h Removing unnecessary kInlineSize 2015-03-12 21:13:53 +03:00
arena_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
auto_roll_logger.cc Add Header to logging to capture application level information 2015-02-06 10:37:45 -08:00
auto_roll_logger.h rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
auto_roll_logger_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
autovector.h Replace exception by assertion in autovector 2014-12-04 11:41:56 -08:00
autovector_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
benchharness.cc Add rocksdb::ToString() to address cases where std::to_string is not available. 2014-11-24 20:44:49 -08:00
benchharness.h mark as unused some variables with cpp-derived names 2015-02-20 11:07:21 -08:00
benchharness_test.cc
bloom.cc
bloom_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
build_version.h build: do not relink every single binary just for a timestamp 2015-02-19 13:11:10 -08:00
cache.cc rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
cache_bench.cc
cache_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
coding.cc
coding.h
coding_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
comparator.cc rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
compression.h New BlockBasedTable version -- better compressed block format 2015-01-14 16:24:24 -08:00
crc32c.cc
crc32c.h
crc32c_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
db_info_dumper.cc
db_info_dumper.h
dynamic_bloom.cc Enforce write buffer memory limit across column families 2014-12-02 12:09:20 -08:00
dynamic_bloom.h Enforce write buffer memory limit across column families 2014-12-02 12:09:20 -08:00
dynamic_bloom_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
env.cc Add Header to logging to capture application level information 2015-02-06 10:37:45 -08:00
env_hdfs.cc Add rocksdb::ToString() to address cases where std::to_string is not available. 2014-11-24 20:44:49 -08:00
env_posix.cc Merge pull request #540 from dalgaaf/wip-da-fix-elif 2015-03-17 10:33:21 -07:00
env_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
event_logger.cc Include chrono 2015-03-13 10:29:32 -07:00
event_logger.h Include chrono 2015-03-13 10:29:32 -07:00
event_logger_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
file_util.cc
file_util.h
filelock_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
filter_policy.cc
hash.cc
hash.h
hash_cuckoo_rep.cc Enforce write buffer memory limit across column families 2014-12-02 12:09:20 -08:00
hash_cuckoo_rep.h Enforce write buffer memory limit across column families 2014-12-02 12:09:20 -08:00
hash_linklist_rep.cc rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
hash_linklist_rep.h Enforce write buffer memory limit across column families 2014-12-02 12:09:20 -08:00
hash_skiplist_rep.cc rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
hash_skiplist_rep.h Enforce write buffer memory limit across column families 2014-12-02 12:09:20 -08:00
histogram.cc
histogram.h
histogram_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
instrumented_mutex.cc Perf Context to report DB mutex waiting time 2015-02-09 17:55:12 -08:00
instrumented_mutex.h Add a counter for collecting the wait time on db mutex. 2015-02-04 21:39:45 -08:00
iostats_context.cc
iostats_context_imp.h
ldb_cmd.cc rocksdb: Replace ASSERT* with EXPECT* in functions that does not return void value 2015-03-16 20:52:32 -07:00
ldb_cmd.h rocksdb: Small refactoring before migrating to gtest 2015-03-16 18:08:59 -07:00
ldb_cmd_execute_result.h rocksdb: Small refactoring before migrating to gtest 2015-03-16 18:08:59 -07:00
ldb_tool.cc Added 'dump_live_files' command to ldb tool. 2014-12-12 17:50:36 -08:00
log_buffer.cc
log_buffer.h RocksDB on FreeBSD support 2015-02-26 15:19:17 -08:00
log_write_bench.cc
logging.cc Make RecordIn/RecordOut human readable 2015-03-14 15:12:41 -07:00
logging.h Make RecordIn/RecordOut human readable 2015-03-14 15:12:41 -07:00
manual_compaction_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
memenv.cc rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
memenv_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
mock_env.cc rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
mock_env.h rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
mock_env_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
murmurhash.cc
murmurhash.h
mutable_cf_options.cc options.level_compaction_dynamic_level_bytes to allow RocksDB to pick size bases of levels dynamically. 2015-03-02 22:40:41 -08:00
mutable_cf_options.h options.level_compaction_dynamic_level_bytes to allow RocksDB to pick size bases of levels dynamically. 2015-03-02 22:40:41 -08:00
mutexlock.h
options.cc options.level_compaction_dynamic_level_bytes to allow RocksDB to pick size bases of levels dynamically. 2015-03-02 22:40:41 -08:00
options_builder.cc Remove the compability check on log2 OS_ANDROID as it's already blocked by ROCKSDB_LITE 2014-12-04 13:56:14 -08:00
options_helper.cc Add rate_limiter to string options 2015-03-06 14:21:15 -08:00
options_helper.h
options_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
perf_context.cc Instrument memtable seeks 2015-02-27 17:06:06 -08:00
perf_context_imp.h
posix_logger.h rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
random.h
rate_limiter.cc
rate_limiter.h
rate_limiter_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
scoped_arena_iterator.h
signal_test.cc rocksdb: Fix scan-build 'Called C++ object pointer is null' and 'Dereference of null pointer' bugs 2015-02-13 15:10:47 -08:00
skiplistrep.cc Enforce write buffer memory limit across column families 2014-12-02 12:09:20 -08:00
slice.cc rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
slice_transform_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
sst_dump_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
sst_dump_tool.cc Disable pre-fetching of index and filter blocks for sst_dump_tool. 2015-02-25 16:34:26 -08:00
sst_dump_tool_imp.h Disable pre-fetching of index and filter blocks for sst_dump_tool. 2015-02-25 16:34:26 -08:00
statistics.cc Fix assert in histogramData 2015-01-23 18:10:52 -08:00
statistics.h
status.cc
stl_wrappers.h
stop_watch.h
string_util.cc Clean up StringSplit 2014-11-21 11:05:28 -05:00
string_util.h Add rocksdb::ToString() to address cases where std::to_string is not available. 2014-11-24 20:44:49 -08:00
sync_point.cc options.level_compaction_dynamic_level_bytes to allow RocksDB to pick size bases of levels dynamically. 2015-03-02 22:40:41 -08:00
sync_point.h options.level_compaction_dynamic_level_bytes to allow RocksDB to pick size bases of levels dynamically. 2015-03-02 22:40:41 -08:00
testharness.cc rocksdb: Replace ASSERT* with EXPECT* in functions that does not return void value 2015-03-16 20:52:32 -07:00
testharness.h rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
testutil.cc
testutil.h rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
thread_list_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
thread_local.cc Use ustricter consistency in thread local operations 2015-01-27 13:56:03 -08:00
thread_local.h
thread_local_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
thread_operation.h Allow GetThreadList() to report operation stage. 2015-03-13 10:45:40 -07:00
thread_status_impl.cc Allow GetThreadList() to report operation stage. 2015-03-13 10:45:40 -07:00
thread_status_updater.cc Allow GetThreadList() to report operation stage. 2015-03-13 10:45:40 -07:00
thread_status_updater.h Allow GetThreadList() to report operation stage. 2015-03-13 10:45:40 -07:00
thread_status_updater_debug.cc Allow GetThreadList() to indicate a thread is doing Compaction. 2015-01-13 00:04:08 -08:00
thread_status_util.cc Allow GetThreadList() to report operation stage. 2015-03-13 10:45:40 -07:00
thread_status_util.h Fix compile warning in thread_status_util.h on Mac 2015-03-13 18:09:01 -07:00
thread_status_util_debug.cc Add thread_status_util_debug.cc back 2015-02-17 11:29:36 -08:00
vectorrep.cc Enforce write buffer memory limit across column families 2014-12-02 12:09:20 -08:00
xfunc.cc Managed iterator 2015-02-18 11:49:31 -08:00
xfunc.h util/xfunc.h: fix #elif check for NDEBUG 2015-03-17 12:04:05 +01:00
xxhash.cc Prevent xxhash symbols from polluting global namespace 2015-03-12 12:07:10 -07:00
xxhash.h Prevent xxhash symbols from polluting global namespace 2015-03-12 12:07:10 -07:00