blob: 6eb412c1ed890d827de2554ae84ac2101f8bc554 [file] [log] [blame]
load("@rules_cc//cc:defs.bzl", "cc_test")
_TESTS = {
"test_366_1": [],
"test_366_2": [],
"test_366_3": [],
"test_366_4": [],
"test_2309": [],
"test_2501": [],
"test_2741": [],
"test_3628": [],
# Uses a function that is undefined "test_3837": [],
"test_4521": [],
"test_4648": [],
"test_4882": [],
"test_5351": [],
# Fails and it is unclear why. Needs further investigation. "test_5502": [],
"test_5542_1": [],
"test_5542_2": [],
"test_5542_3": [],
"test_5891": [],
"test_6170": [],
"test_6174": [],
"test_7160": [],
"test_7328": [],
"test_7571": [],
"test_7665": [],
"test_7666": [],
"test_7720": [],
"test_7755": [],
"test_8508": [],
# Misses malloc.h which is deprecated "test_8557": [],
"test_8586": [],
"test_8596": [],
"test_8600": [],
"test_8674": [],
"test_8943": [],
"test_8960": [],
"test_9079_a": [],
# Misses iostream "test_9079_b": [],
# Misses iostream "test_9192": ["@boost.interprocess"],
# Uses boost::future which cannot compile "test_9303": ["@boost.asio"],
"test_9319": [],
"test_9711": [],
"test_9856": [],
"test_10340": [],
# Fails and is unclear why. Needs further investigation. "test_10963": [],
"test_10964": [],
"test_11053": [],
"test_11256": [],
"test_11266": [],
"test_11499": [],
"test_11611": [],
"test_11796": [],
# Misses iostream "test_11818": [],
"test_12293": [],
"test_12949": [],
"test_13480b": ["@boost.variant"],
# Misses a nonexistent file from @boost.system "test_13561": [],
"test_barrier_size_fct": [],
"test_barrier_void_fct": [],
"test_barrier": [],
"test_completion_latch": [],
"test_condition_notify_all": [],
"test_condition_notify_one": [],
"test_condition_timed_wait_times_out": [],
"test_condition": [],
"test_futures": [],
"test_generic_locks": [],
"test_hardware_concurrency": [],
"test_latch": [],
"test_lock_concept": [],
"test_ml": [],
"test_ml2": [],
"test_move_function": [],
"test_mutex": [],
"test_once": [],
"test_physical_concurrency": [],
"test_scheduled_tp": [],
"test_scheduling_adaptor": [],
"test_shared_mutex_part_2": [],
"test_shared_mutex_timed_locks_chrono": [],
"test_shared_mutex": [],
"test_thread_exit": [],
"test_thread_id": [],
"test_thread_launching": [],
"test_thread_mf": [],
"test_thread_move_return": [],
"test_thread_move": [],
"test_thread_return_local": [],
"test_thread": [],
# Uses boost::future which cannot compile "test_time_jumps": [],
"test_tss": [],
"test_xtime": [],
}
_POSIX_ONLY_TESTS = {
}
_MAC_ONLY_TESTS = {
"test_6130": [],
"test_8455": [],
}
_WINDOWS_ONLY_TESTS = {
"test_6130": [],
}
[cc_test(
name = test,
srcs = ["{}.cpp".format(test), "util.inl"] + glob(["*.hpp"]),
defines = select({
"@platforms//os:windows": ["WIN32_LEAN_AND_MEAN=1"],
"@platforms//os:macos": [],
"//conditions:default": [],
}),
deps = [
"@boost.test",
"@boost.test//:unit_test_main",
"@boost.thread",
] + _TESTS[test],
linkstatic = select({
# Windows needs to link statically to get rid of undefined symbols
"@platforms//os:windows": True,
"@platforms//os:macos": False,
# Posix needs to link statically to get rid of undefined symbols
"//conditions:default": True,
}),
) for test in _TESTS]
[cc_test(
name = "posix_{}".format(test),
srcs = ["{}.cpp".format(test), "util.inl"] + glob(["*.hpp"]),
defines = select({
"@platforms//os:windows": ["WIN32_LEAN_AND_MEAN=1"],
"@platforms//os:macos": [],
"//conditions:default": [],
}),
target_compatible_with = select({
"@platforms//os:windows": ["@platforms//:incompatible"],
"@platforms//os:macos": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
deps = [
"@boost.test",
"@boost.test//:unit_test_main",
"@boost.thread",
] + _POSIX_ONLY_TESTS[test],
# Posix needs to link statically to get rid of undefined symbols
linkstatic = True,
) for test in _POSIX_ONLY_TESTS]
[cc_test(
name = "mac_{}".format(test),
srcs = ["{}.cpp".format(test), "util.inl"] + glob(["*.hpp"]),
defines = select({
"@platforms//os:windows": ["WIN32_LEAN_AND_MEAN=1"],
"@platforms//os:macos": [],
"//conditions:default": [],
}),
target_compatible_with = select({
"@platforms//os:windows": ["@platforms//:incompatible"],
"@platforms//os:macos": [],
"//conditions:default": ["@platforms//:incompatible"],
}),
deps = [
"@boost.test",
"@boost.test//:unit_test_main",
"@boost.thread",
] + _MAC_ONLY_TESTS[test],
) for test in _MAC_ONLY_TESTS]
[cc_test(
name = "windows_{}".format(test),
srcs = ["{}.cpp".format(test), "util.inl"] + glob(["*.hpp"]),
defines = select({
"@platforms//os:windows": ["WIN32_LEAN_AND_MEAN=1"],
"@platforms//os:macos": [],
"//conditions:default": [],
}),
target_compatible_with = select({
"@platforms//os:windows": [],
"@platforms//os:macos": ["@platforms//:incompatible"],
"//conditions:default": ["@platforms//:incompatible"],
}),
deps = [
"@boost.test",
"@boost.test//:unit_test_main",
"@boost.thread",
] + _WINDOWS_ONLY_TESTS[test],
# Windows needs to link statically to get rid of undefined symbols
linkstatic = True,
) for test in _WINDOWS_ONLY_TESTS]