| 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] |