Summary:
This is to fix special logic to run tests inside FB.
Buck test is broken after moving to cpp_unittest(). Move c_test back to the previous approach.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/7076
Test Plan: Watch the Sandcastle run
Reviewed By: ajkr
Differential Revision:
D22370096
fbshipit-source-id:
4a464d0903f2c76ae2de3a8ad373ffc9bedec64c
external_deps = ROCKSDB_EXTERNAL_DEPS,
)
+cpp_binary(
+ name = "c_test_bin",
+ srcs = ["db/c_test.c"],
+ arch_preprocessor_flags = ROCKSDB_ARCH_PREPROCESSOR_FLAGS,
+ os_preprocessor_flags = ROCKSDB_OS_PREPROCESSOR_FLAGS,
+ compiler_flags = ROCKSDB_COMPILER_FLAGS,
+ preprocessor_flags = ROCKSDB_PREPROCESSOR_FLAGS,
+ deps = [":rocksdb_test_lib"],
+)
+
+custom_unittest(
+ "c_test",
+ command = [
+ native.package_name() + "/buckifier/rocks_test_runner.sh",
+ "$(location :{})".format("c_test_bin"),
+ ],
+ type = "simple",
+)
+
cpp_library(
name = "env_basic_test_lib",
srcs = ["env/env_basic_test.cc"],
[],
[],
],
- [
- "c_test",
- "db/c_test.c",
- "serial",
- [],
- [],
- ],
[
"cache_simulator_test",
"utilities/simulator_cache/cache_simulator_test.cc",
continue
for filename in fnmatch.filter(filenames, '*.cc'):
cc_files.append(os.path.join(root, filename))
- for filename in fnmatch.filter(filenames, '*.c'):
- cc_files.append(os.path.join(root, filename))
return cc_files
+ ["test_util/testutil.cc"])
print("Extra dependencies:\n{0}".format(json.dumps(deps_map)))
- # test for every test we found in the Makefile
+
+ # c_test.c is added through TARGETS.add_c_test(). If there
+ # are more than one .c test file, we need to extend
+ # TARGETS.add_c_test() to include other C tests too.
+ TARGETS.add_c_test()
+
+ # test for every .cc test we found in the Makefile
for target_alias, deps in deps_map.items():
for test in sorted(tests):
- match_src = [src for src in cc_files if ("/%s.c" % test) in src]
+ if test == 'c_test':
+ continue
+ match_src = [src for src in cc_files if ("/%s.cc" % test) in src]
if len(match_src) == 0:
print(ColorString.warning("Cannot find .cc file for %s" % test))
continue
pretty_list(deps)))
self.total_bin = self.total_bin + 1
+ def add_c_test(self):
+ self.targets_file.write("""
+cpp_binary(
+ name = "c_test_bin",
+ srcs = ["db/c_test.c"],
+ arch_preprocessor_flags = ROCKSDB_ARCH_PREPROCESSOR_FLAGS,
+ os_preprocessor_flags = ROCKSDB_OS_PREPROCESSOR_FLAGS,
+ compiler_flags = ROCKSDB_COMPILER_FLAGS,
+ preprocessor_flags = ROCKSDB_PREPROCESSOR_FLAGS,
+ deps = [":rocksdb_test_lib"],
+)
+
+custom_unittest(
+ "c_test",
+ command = [
+ native.package_name() + "/buckifier/rocks_test_runner.sh",
+ "$(location :{})".format("c_test_bin"),
+ ],
+ type = "simple",
+)
+""")
+
def register_test(self,
test_name,
src,