Make the I/O part of QUICHE compile under Bazel.
This renames those targets from epoll_* to io_*, since those are no longer epoll-dependent.
I got those to compile on Linux under the Clang opt build, and almost all of the tests passed.
PiperOrigin-RevId: 476972652
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 96f60f4..7f41f54 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -943,7 +943,7 @@
"spdy/test_tools/mock_spdy_framer_visitor.cc",
"spdy/test_tools/spdy_test_utils.cc",
]
-epoll_tool_support_hdrs = [
+io_tool_support_hdrs = [
"common/platform/api/quiche_event_loop.h",
"common/platform/api/quiche_udp_socket_platform_api.h",
"quic/core/batch_writer/quic_batch_writer_base.h",
@@ -977,7 +977,7 @@
"quic/tools/quic_default_client.h",
"quic/tools/quic_server.h",
]
-epoll_tool_support_srcs = [
+io_tool_support_srcs = [
"quic/core/batch_writer/quic_batch_writer_base.cc",
"quic/core/batch_writer/quic_batch_writer_buffer.cc",
"quic/core/batch_writer/quic_gso_batch_writer.cc",
@@ -1006,16 +1006,14 @@
"quic/tools/quic_default_client.cc",
"quic/tools/quic_server.cc",
]
-epoll_test_support_hdrs = [
- "quic/bindings/quic_libevent.h",
+io_test_support_hdrs = [
"quic/test_tools/quic_mock_syscall_wrapper.h",
"quic/test_tools/quic_server_peer.h",
"quic/test_tools/quic_test_client.h",
"quic/test_tools/quic_test_server.h",
"quic/test_tools/server_thread.h",
]
-epoll_test_support_srcs = [
- "quic/bindings/quic_libevent.cc",
+io_test_support_srcs = [
"quic/test_tools/quic_mock_syscall_wrapper.cc",
"quic/test_tools/quic_server_peer.cc",
"quic/test_tools/quic_test_client.cc",
@@ -1281,11 +1279,10 @@
"spdy/core/spdy_protocol_test.cc",
"spdy/core/spdy_simple_arena_test.cc",
]
-epoll_tests_hdrs = [
+io_tests_hdrs = [
]
-epoll_tests_srcs = [
- "quic/bindings/quic_libevent_test.cc",
+io_tests_srcs = [
"quic/core/batch_writer/quic_batch_writer_buffer_test.cc",
"quic/core/batch_writer/quic_batch_writer_test.cc",
"quic/core/batch_writer/quic_gso_batch_writer_test.cc",
@@ -1384,6 +1381,8 @@
"common/platform/default/quiche_platform_impl/quiche_bug_tracker_impl.h",
"common/platform/default/quiche_platform_impl/quiche_client_stats_impl.h",
"common/platform/default/quiche_platform_impl/quiche_containers_impl.h",
+ "common/platform/default/quiche_platform_impl/quiche_default_proof_providers_impl.h",
+ "common/platform/default/quiche_platform_impl/quiche_event_loop_impl.h",
"common/platform/default/quiche_platform_impl/quiche_export_impl.h",
"common/platform/default/quiche_platform_impl/quiche_flag_utils_impl.h",
"common/platform/default/quiche_platform_impl/quiche_flags_impl.h",
@@ -1400,6 +1399,7 @@
"common/platform/default/quiche_platform_impl/quiche_testvalue_impl.h",
"common/platform/default/quiche_platform_impl/quiche_thread_local_impl.h",
"common/platform/default/quiche_platform_impl/quiche_time_utils_impl.h",
+ "common/platform/default/quiche_platform_impl/quiche_udp_socket_platform_impl.h",
"common/platform/default/quiche_platform_impl/quiche_url_utils_impl.h",
]
default_platform_impl_srcs = [
@@ -1411,7 +1411,6 @@
]
default_platform_impl_tool_support_hdrs = [
"common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.h",
- "common/platform/default/quiche_platform_impl/quiche_event_loop_impl.h",
"common/platform/default/quiche_platform_impl/quiche_file_utils_impl.h",
"common/platform/default/quiche_platform_impl/quiche_stream_buffer_allocator_impl.h",
"common/platform/default/quiche_platform_impl/quiche_system_event_loop_impl.h",
@@ -1535,3 +1534,10 @@
"quic/qbone/qbone_stream.cc",
"quic/qbone/qbone_stream_test.cc",
]
+libevent_hdrs = [
+ "quic/bindings/quic_libevent.h",
+]
+libevent_srcs = [
+ "quic/bindings/quic_libevent.cc",
+ "quic/bindings/quic_libevent_test.cc",
+]
diff --git a/build/source_list.gni b/build/source_list.gni
index 8f7f359..aadf7ae 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -943,7 +943,7 @@
"src/quiche/spdy/test_tools/mock_spdy_framer_visitor.cc",
"src/quiche/spdy/test_tools/spdy_test_utils.cc",
]
-epoll_tool_support_hdrs = [
+io_tool_support_hdrs = [
"src/quiche/common/platform/api/quiche_event_loop.h",
"src/quiche/common/platform/api/quiche_udp_socket_platform_api.h",
"src/quiche/quic/core/batch_writer/quic_batch_writer_base.h",
@@ -977,7 +977,7 @@
"src/quiche/quic/tools/quic_default_client.h",
"src/quiche/quic/tools/quic_server.h",
]
-epoll_tool_support_srcs = [
+io_tool_support_srcs = [
"src/quiche/quic/core/batch_writer/quic_batch_writer_base.cc",
"src/quiche/quic/core/batch_writer/quic_batch_writer_buffer.cc",
"src/quiche/quic/core/batch_writer/quic_gso_batch_writer.cc",
@@ -1006,16 +1006,14 @@
"src/quiche/quic/tools/quic_default_client.cc",
"src/quiche/quic/tools/quic_server.cc",
]
-epoll_test_support_hdrs = [
- "src/quiche/quic/bindings/quic_libevent.h",
+io_test_support_hdrs = [
"src/quiche/quic/test_tools/quic_mock_syscall_wrapper.h",
"src/quiche/quic/test_tools/quic_server_peer.h",
"src/quiche/quic/test_tools/quic_test_client.h",
"src/quiche/quic/test_tools/quic_test_server.h",
"src/quiche/quic/test_tools/server_thread.h",
]
-epoll_test_support_srcs = [
- "src/quiche/quic/bindings/quic_libevent.cc",
+io_test_support_srcs = [
"src/quiche/quic/test_tools/quic_mock_syscall_wrapper.cc",
"src/quiche/quic/test_tools/quic_server_peer.cc",
"src/quiche/quic/test_tools/quic_test_client.cc",
@@ -1281,11 +1279,10 @@
"src/quiche/spdy/core/spdy_protocol_test.cc",
"src/quiche/spdy/core/spdy_simple_arena_test.cc",
]
-epoll_tests_hdrs = [
+io_tests_hdrs = [
]
-epoll_tests_srcs = [
- "src/quiche/quic/bindings/quic_libevent_test.cc",
+io_tests_srcs = [
"src/quiche/quic/core/batch_writer/quic_batch_writer_buffer_test.cc",
"src/quiche/quic/core/batch_writer/quic_batch_writer_test.cc",
"src/quiche/quic/core/batch_writer/quic_gso_batch_writer_test.cc",
@@ -1384,6 +1381,8 @@
"src/quiche/common/platform/default/quiche_platform_impl/quiche_bug_tracker_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_client_stats_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_containers_impl.h",
+ "src/quiche/common/platform/default/quiche_platform_impl/quiche_default_proof_providers_impl.h",
+ "src/quiche/common/platform/default/quiche_platform_impl/quiche_event_loop_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_export_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_flag_utils_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h",
@@ -1400,6 +1399,7 @@
"src/quiche/common/platform/default/quiche_platform_impl/quiche_testvalue_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_thread_local_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_time_utils_impl.h",
+ "src/quiche/common/platform/default/quiche_platform_impl/quiche_udp_socket_platform_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.h",
]
default_platform_impl_srcs = [
@@ -1411,7 +1411,6 @@
]
default_platform_impl_tool_support_hdrs = [
"src/quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.h",
- "src/quiche/common/platform/default/quiche_platform_impl/quiche_event_loop_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_file_utils_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_stream_buffer_allocator_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_system_event_loop_impl.h",
@@ -1535,3 +1534,10 @@
"src/quiche/quic/qbone/qbone_stream.cc",
"src/quiche/quic/qbone/qbone_stream_test.cc",
]
+libevent_hdrs = [
+ "src/quiche/quic/bindings/quic_libevent.h",
+]
+libevent_srcs = [
+ "src/quiche/quic/bindings/quic_libevent.cc",
+ "src/quiche/quic/bindings/quic_libevent_test.cc",
+]
diff --git a/build/source_list.json b/build/source_list.json
index 1f74bf4..3914bca 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -942,7 +942,7 @@
"quiche/spdy/test_tools/mock_spdy_framer_visitor.cc",
"quiche/spdy/test_tools/spdy_test_utils.cc"
],
- "epoll_tool_support_hdrs": [
+ "io_tool_support_hdrs": [
"quiche/common/platform/api/quiche_event_loop.h",
"quiche/common/platform/api/quiche_udp_socket_platform_api.h",
"quiche/quic/core/batch_writer/quic_batch_writer_base.h",
@@ -976,7 +976,7 @@
"quiche/quic/tools/quic_default_client.h",
"quiche/quic/tools/quic_server.h"
],
- "epoll_tool_support_srcs": [
+ "io_tool_support_srcs": [
"quiche/quic/core/batch_writer/quic_batch_writer_base.cc",
"quiche/quic/core/batch_writer/quic_batch_writer_buffer.cc",
"quiche/quic/core/batch_writer/quic_gso_batch_writer.cc",
@@ -1005,16 +1005,14 @@
"quiche/quic/tools/quic_default_client.cc",
"quiche/quic/tools/quic_server.cc"
],
- "epoll_test_support_hdrs": [
- "quiche/quic/bindings/quic_libevent.h",
+ "io_test_support_hdrs": [
"quiche/quic/test_tools/quic_mock_syscall_wrapper.h",
"quiche/quic/test_tools/quic_server_peer.h",
"quiche/quic/test_tools/quic_test_client.h",
"quiche/quic/test_tools/quic_test_server.h",
"quiche/quic/test_tools/server_thread.h"
],
- "epoll_test_support_srcs": [
- "quiche/quic/bindings/quic_libevent.cc",
+ "io_test_support_srcs": [
"quiche/quic/test_tools/quic_mock_syscall_wrapper.cc",
"quiche/quic/test_tools/quic_server_peer.cc",
"quiche/quic/test_tools/quic_test_client.cc",
@@ -1280,11 +1278,10 @@
"quiche/spdy/core/spdy_protocol_test.cc",
"quiche/spdy/core/spdy_simple_arena_test.cc"
],
- "epoll_tests_hdrs": [
+ "io_tests_hdrs": [
],
- "epoll_tests_srcs": [
- "quiche/quic/bindings/quic_libevent_test.cc",
+ "io_tests_srcs": [
"quiche/quic/core/batch_writer/quic_batch_writer_buffer_test.cc",
"quiche/quic/core/batch_writer/quic_batch_writer_test.cc",
"quiche/quic/core/batch_writer/quic_gso_batch_writer_test.cc",
@@ -1383,6 +1380,8 @@
"quiche/common/platform/default/quiche_platform_impl/quiche_bug_tracker_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_client_stats_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_containers_impl.h",
+ "quiche/common/platform/default/quiche_platform_impl/quiche_default_proof_providers_impl.h",
+ "quiche/common/platform/default/quiche_platform_impl/quiche_event_loop_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_export_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_flag_utils_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h",
@@ -1399,6 +1398,7 @@
"quiche/common/platform/default/quiche_platform_impl/quiche_testvalue_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_thread_local_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_time_utils_impl.h",
+ "quiche/common/platform/default/quiche_platform_impl/quiche_udp_socket_platform_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.h"
],
"default_platform_impl_srcs": [
@@ -1410,7 +1410,6 @@
],
"default_platform_impl_tool_support_hdrs": [
"quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.h",
- "quiche/common/platform/default/quiche_platform_impl/quiche_event_loop_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_file_utils_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_stream_buffer_allocator_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_system_event_loop_impl.h"
@@ -1533,5 +1532,12 @@
"quiche/quic/qbone/qbone_session_test.cc",
"quiche/quic/qbone/qbone_stream.cc",
"quiche/quic/qbone/qbone_stream_test.cc"
+ ],
+ "libevent_hdrs": [
+ "quiche/quic/bindings/quic_libevent.h"
+ ],
+ "libevent_srcs": [
+ "quiche/quic/bindings/quic_libevent.cc",
+ "quiche/quic/bindings/quic_libevent_test.cc"
]
}
\ No newline at end of file
diff --git a/build/test.bzl b/build/test.bzl
index 9beb0ca..33bef08 100644
--- a/build/test.bzl
+++ b/build/test.bzl
@@ -1,5 +1,6 @@
"""Tools for building QUICHE tests."""
+load("@bazel_skylib//lib:dicts.bzl", "dicts")
load("@bazel_skylib//lib:paths.bzl", "paths")
def test_suite_from_source_list(name, srcs, **kwargs):
@@ -17,10 +18,13 @@
if not sourcefile.endswith("_test.cc"):
fail("All source files passed to test_suite_from_source_list() must end with _test.cc")
test_name, _ = paths.split_extension(paths.basename(sourcefile))
+ extra_kwargs = {}
+ if test_name == "end_to_end_test":
+ extra_kwargs["shard_count"] = 16
native.cc_test(
name = test_name,
srcs = [sourcefile],
- **kwargs
+ **dicts.add(kwargs, extra_kwargs)
)
tests.append(test_name)
native.test_suite(name = name, tests = tests)