From 9a690580c9ae9c675ad898f7eff357572886d3af Mon Sep 17 00:00:00 2001 From: Dmitri Tikhonov Date: Sun, 17 May 2020 12:42:32 -0400 Subject: [PATCH] Rename test/unittests to tests/ and test/ to bin/ --- CMakeLists.txt | 40 ++++++++++--------- CONTRIBUTORS.txt | 1 + EXAMPLES.txt | 6 +-- README.md | 2 + {test => bin}/CMakeLists.txt | 8 ---- {test => bin}/echo_client.c | 0 {test => bin}/echo_server.c | 0 {test => bin}/http_client.c | 0 {test => bin}/http_server.c | 0 {test => bin}/md5_client.c | 0 {test => bin}/md5_server.c | 0 {test => bin}/prog.c | 0 {test => bin}/prog.h | 0 {test => bin}/test_cert.c | 0 {test => bin}/test_cert.h | 0 {test => bin}/test_common.c | 0 {test => bin}/test_common.h | 0 {test => bin}/test_config.h.in | 0 docs/gettingstarted.rst | 4 +- {test/unittests => tests}/CMakeLists.txt | 16 ++++---- {test/unittests => tests}/graph_cubic.c | 0 {test/unittests => tests}/mini_parse.c | 0 {test/unittests => tests}/test_ack.c | 0 {test/unittests => tests}/test_ack_merge.c | 0 .../test_ackgen_gquic_be.c | 0 .../test_ackgen_gquic_le.c | 0 .../test_ackparse_gquic_be.c | 0 .../test_ackparse_gquic_le.c | 0 .../unittests => tests}/test_ackparse_ietf.c | 0 {test/unittests => tests}/test_alarmset.c | 0 {test/unittests => tests}/test_alt_svc_ver.c | 0 {test/unittests => tests}/test_arr.c | 0 {test/unittests => tests}/test_attq.c | 0 .../test_blocked_gquic_be.c | 0 .../test_blocked_gquic_le.c | 0 {test/unittests => tests}/test_bw_sampler.c | 0 {test/unittests => tests}/test_chlo_gen.c | 0 {test/unittests => tests}/test_clear_aead.c | 0 .../test_conn_close_gquic_be.c | 0 .../test_conn_close_gquic_le.c | 0 {test/unittests => tests}/test_conn_hash.c | 0 {test/unittests => tests}/test_crypto_gen.c | 0 {test/unittests => tests}/test_cubic.c | 0 {test/unittests => tests}/test_dec.c | 0 {test/unittests => tests}/test_di_nocopy.c | 0 {test/unittests => tests}/test_elision.c | 0 {test/unittests => tests}/test_engine_ctor.c | 0 {test/unittests => tests}/test_export_key.c | 0 {test/unittests => tests}/test_frame_chop.c | 0 {test/unittests => tests}/test_frame_reader.c | 0 {test/unittests => tests}/test_frame_rw.c | 0 {test/unittests => tests}/test_frame_writer.c | 0 .../test_goaway_gquic_be.c | 0 .../test_goaway_gquic_le.c | 0 {test/unittests => tests}/test_h3_framing.c | 0 {test/unittests => tests}/test_hcsi_reader.c | 0 {test/unittests => tests}/test_hkdf.c | 0 {test/unittests => tests}/test_lsquic_hash.c | 0 {test/unittests => tests}/test_malo.c | 0 {test/unittests => tests}/test_min_heap.c | 0 {test/unittests => tests}/test_minmax.c | 0 {test/unittests => tests}/test_packet_out.c | 0 {test/unittests => tests}/test_packno_len.c | 0 .../test_parse_packet_in.c | 0 {test/unittests => tests}/test_purga.c | 0 {test/unittests => tests}/test_qlog.c | 0 .../unittests => tests}/test_quic_be_floats.c | 0 .../unittests => tests}/test_quic_le_floats.c | 0 {test/unittests => tests}/test_rechist.c | 0 .../test_reg_pkt_headergen.c | 0 .../test_rst_stream_gquic_be.c | 0 .../test_rst_stream_gquic_le.c | 0 .../test_rst_stream_ietf.c | 0 {test/unittests => tests}/test_rtt.c | 0 {test/unittests => tests}/test_send_headers.c | 0 {test/unittests => tests}/test_senhist.c | 0 {test/unittests => tests}/test_set.c | 0 {test/unittests => tests}/test_sfcw.c | 0 {test/unittests => tests}/test_shi.c | 0 {test/unittests => tests}/test_some_packets.c | 0 {test/unittests => tests}/test_spi.c | 0 .../test_stop_waiting_gquic_be.c | 0 .../test_stop_waiting_gquic_le.c | 0 {test/unittests => tests}/test_stream.c | 0 {test/unittests => tests}/test_streamgen.c | 0 {test/unittests => tests}/test_streamparse.c | 0 {test/unittests => tests}/test_tokgen.c | 0 {test/unittests => tests}/test_trapa.c | 0 {test/unittests => tests}/test_varint.c | 0 {test/unittests => tests}/test_ver_nego.c | 0 {test/unittests => tests}/test_wuf_gquic_be.c | 0 {test/unittests => tests}/test_wuf_gquic_le.c | 0 92 files changed, 38 insertions(+), 39 deletions(-) rename {test => bin}/CMakeLists.txt (75%) rename {test => bin}/echo_client.c (100%) rename {test => bin}/echo_server.c (100%) rename {test => bin}/http_client.c (100%) rename {test => bin}/http_server.c (100%) rename {test => bin}/md5_client.c (100%) rename {test => bin}/md5_server.c (100%) rename {test => bin}/prog.c (100%) rename {test => bin}/prog.h (100%) rename {test => bin}/test_cert.c (100%) rename {test => bin}/test_cert.h (100%) rename {test => bin}/test_common.c (100%) rename {test => bin}/test_common.h (100%) rename {test => bin}/test_config.h.in (100%) rename {test/unittests => tests}/CMakeLists.txt (82%) rename {test/unittests => tests}/graph_cubic.c (100%) rename {test/unittests => tests}/mini_parse.c (100%) rename {test/unittests => tests}/test_ack.c (100%) rename {test/unittests => tests}/test_ack_merge.c (100%) rename {test/unittests => tests}/test_ackgen_gquic_be.c (100%) rename {test/unittests => tests}/test_ackgen_gquic_le.c (100%) rename {test/unittests => tests}/test_ackparse_gquic_be.c (100%) rename {test/unittests => tests}/test_ackparse_gquic_le.c (100%) rename {test/unittests => tests}/test_ackparse_ietf.c (100%) rename {test/unittests => tests}/test_alarmset.c (100%) rename {test/unittests => tests}/test_alt_svc_ver.c (100%) rename {test/unittests => tests}/test_arr.c (100%) rename {test/unittests => tests}/test_attq.c (100%) rename {test/unittests => tests}/test_blocked_gquic_be.c (100%) rename {test/unittests => tests}/test_blocked_gquic_le.c (100%) rename {test/unittests => tests}/test_bw_sampler.c (100%) rename {test/unittests => tests}/test_chlo_gen.c (100%) rename {test/unittests => tests}/test_clear_aead.c (100%) rename {test/unittests => tests}/test_conn_close_gquic_be.c (100%) rename {test/unittests => tests}/test_conn_close_gquic_le.c (100%) rename {test/unittests => tests}/test_conn_hash.c (100%) rename {test/unittests => tests}/test_crypto_gen.c (100%) rename {test/unittests => tests}/test_cubic.c (100%) rename {test/unittests => tests}/test_dec.c (100%) rename {test/unittests => tests}/test_di_nocopy.c (100%) rename {test/unittests => tests}/test_elision.c (100%) rename {test/unittests => tests}/test_engine_ctor.c (100%) rename {test/unittests => tests}/test_export_key.c (100%) rename {test/unittests => tests}/test_frame_chop.c (100%) rename {test/unittests => tests}/test_frame_reader.c (100%) rename {test/unittests => tests}/test_frame_rw.c (100%) rename {test/unittests => tests}/test_frame_writer.c (100%) rename {test/unittests => tests}/test_goaway_gquic_be.c (100%) rename {test/unittests => tests}/test_goaway_gquic_le.c (100%) rename {test/unittests => tests}/test_h3_framing.c (100%) rename {test/unittests => tests}/test_hcsi_reader.c (100%) rename {test/unittests => tests}/test_hkdf.c (100%) rename {test/unittests => tests}/test_lsquic_hash.c (100%) rename {test/unittests => tests}/test_malo.c (100%) rename {test/unittests => tests}/test_min_heap.c (100%) rename {test/unittests => tests}/test_minmax.c (100%) rename {test/unittests => tests}/test_packet_out.c (100%) rename {test/unittests => tests}/test_packno_len.c (100%) rename {test/unittests => tests}/test_parse_packet_in.c (100%) rename {test/unittests => tests}/test_purga.c (100%) rename {test/unittests => tests}/test_qlog.c (100%) rename {test/unittests => tests}/test_quic_be_floats.c (100%) rename {test/unittests => tests}/test_quic_le_floats.c (100%) rename {test/unittests => tests}/test_rechist.c (100%) rename {test/unittests => tests}/test_reg_pkt_headergen.c (100%) rename {test/unittests => tests}/test_rst_stream_gquic_be.c (100%) rename {test/unittests => tests}/test_rst_stream_gquic_le.c (100%) rename {test/unittests => tests}/test_rst_stream_ietf.c (100%) rename {test/unittests => tests}/test_rtt.c (100%) rename {test/unittests => tests}/test_send_headers.c (100%) rename {test/unittests => tests}/test_senhist.c (100%) rename {test/unittests => tests}/test_set.c (100%) rename {test/unittests => tests}/test_sfcw.c (100%) rename {test/unittests => tests}/test_shi.c (100%) rename {test/unittests => tests}/test_some_packets.c (100%) rename {test/unittests => tests}/test_spi.c (100%) rename {test/unittests => tests}/test_stop_waiting_gquic_be.c (100%) rename {test/unittests => tests}/test_stop_waiting_gquic_le.c (100%) rename {test/unittests => tests}/test_stream.c (100%) rename {test/unittests => tests}/test_streamgen.c (100%) rename {test/unittests => tests}/test_streamparse.c (100%) rename {test/unittests => tests}/test_tokgen.c (100%) rename {test/unittests => tests}/test_trapa.c (100%) rename {test/unittests => tests}/test_varint.c (100%) rename {test/unittests => tests}/test_ver_nego.c (100%) rename {test/unittests => tests}/test_wuf_gquic_be.c (100%) rename {test/unittests => tests}/test_wuf_gquic_le.c (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 27625f1..5c9a4f1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,10 @@ cmake_minimum_required(VERSION 2.8) PROJECT(lsquic C) +OPTION(LSQUIC_FIU "Use Fault Injection in Userspace (FIU)" OFF) +OPTION(LSQUIC_BIN "Compile example binaries that use the library" ON) +OPTION(LSQUIC_TESTS "Compile library unit tests" ON) + IF (CMAKE_SYSTEM_NAME STREQUAL "Linux") # If using older glibc, need to link with -lrt. See clock_getres(2). EXECUTE_PROCESS( @@ -25,8 +29,6 @@ ENDIF() MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}") -OPTION(LSQUIC_FIU "Use Fault Injection in Userspace (FIU)" OFF) - IF (NOT "$ENV{EXTRA_CFLAGS}" MATCHES "-DLSQUIC_DEBUG_NEXT_ADV_TICK") SET(MY_CMAKE_FLAGS "-DLSQUIC_DEBUG_NEXT_ADV_TICK=1") ENDIF() @@ -171,7 +173,6 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin") link_directories( /usr/local/lib ) ENDIF() -IF (NOT TESTS STREQUAL "NO") # Find zlib and libevent header files and library files # TODO: libevent is not strictly necessary to build the library. FIND_PATH(ZLIB_INCLUDE_DIR NAMES zlib.h) @@ -193,6 +194,8 @@ IF(ZLIB_LIB) ELSE() MESSAGE(STATUS "zlib not found") ENDIF() + +IF (LSQUIC_BIN) FIND_PATH(EVENT_INCLUDE_DIR NAMES event2/event.h) IF (EVENT_INCLUDE_DIR) INCLUDE_DIRECTORIES(${EVENT_INCLUDE_DIR}) @@ -213,11 +216,11 @@ ELSE() MESSAGE(STATUS "libevent not found") ENDIF() -add_executable(http_server test/http_server.c test/prog.c test/test_common.c test/test_cert.c) -add_executable(md5_server test/md5_server.c test/prog.c test/test_common.c test/test_cert.c) -add_executable(md5_client test/md5_client.c test/prog.c test/test_common.c test/test_cert.c) -add_executable(echo_server test/echo_server.c test/prog.c test/test_common.c test/test_cert.c) -add_executable(echo_client test/echo_client.c test/prog.c test/test_common.c test/test_cert.c) +add_executable(http_server bin/http_server.c bin/prog.c bin/test_common.c bin/test_cert.c) +add_executable(md5_server bin/md5_server.c bin/prog.c bin/test_common.c bin/test_cert.c) +add_executable(md5_client bin/md5_client.c bin/prog.c bin/test_common.c bin/test_cert.c) +add_executable(echo_server bin/echo_server.c bin/prog.c bin/test_common.c bin/test_cert.c) +add_executable(echo_client bin/echo_client.c bin/prog.c bin/test_common.c bin/test_cert.c) SET(LIBS lsquic ${EVENT_LIB} ${BORINGSSL_LIB_ssl} ${BORINGSSL_LIB_crypto} ${ZLIB_LIB} ${LIBS}) @@ -225,10 +228,10 @@ SET(LIBS lsquic ${EVENT_LIB} ${BORINGSSL_LIB_ssl} ${BORINGSSL_LIB_crypto} ${ZLIB IF (NOT MSVC) add_executable(http_client - test/http_client.c - test/prog.c - test/test_common.c - test/test_cert.c + bin/http_client.c + bin/prog.c + bin/test_common.c + bin/test_cert.c ) LIST(APPEND LIBS pthread m) @@ -236,9 +239,9 @@ LIST(APPEND LIBS pthread m) ELSE() add_executable(http_client - test/http_client.c - test/prog.c - test/test_common.c + bin/http_client.c + bin/prog.c + bin/test_common.c wincompat/getopt.c wincompat/getopt1.c ) @@ -253,16 +256,17 @@ TARGET_LINK_LIBRARIES(md5_client ${LIBS}) TARGET_LINK_LIBRARIES(echo_server ${LIBS}) TARGET_LINK_LIBRARIES(echo_client ${LIBS}) -add_subdirectory(test) -ENDIF() # TESTS +add_subdirectory(bin) +ENDIF() # LSQUIC_BIN add_subdirectory(src) -IF(CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT TESTS STREQUAL "NO") +IF(LSQUIC_TESTS AND CMAKE_BUILD_TYPE STREQUAL "Debug") # Our test framework relies on assertions, only compile if assertions are # enabled. # enable_testing() + add_subdirectory(tests) ENDIF() diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 1332432..c0c5ea2 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -9,6 +9,7 @@ to the LiteSpeed Client Library: - Zhang Chi -- libevent build fix on Darwin - Omar Roth -- Alpine Linux build and Crystal language bindings - initlife (?) -- XCode build + - Rahul Jadhav -- Android support Thank you! diff --git a/EXAMPLES.txt b/EXAMPLES.txt index 5a6dd21..2ed8288 100644 --- a/EXAMPLES.txt +++ b/EXAMPLES.txt @@ -10,14 +10,14 @@ framework and share many options. Echo client and server ---------------------- -Echo client and server (see test/echo_{client,server}.c) are for simple +Echo client and server (see bin/echo_{client,server}.c) are for simple line-based request and reply communication. Only one stream per connection is supported for simplicity. The client reads input from stdin. MD5 client and server --------------------- -See test/md5_{client,server}.c +See bin/md5_{client,server}.c MD5 server accepts connections, computes MD5 sum of streams' (one or more) payload, and sends back the checksum. MD5 client sends one or more file @@ -27,7 +27,7 @@ exercise different aspects of LSQUIC. HTTP client and server ---------------------- -See test/http_{client,server}.c +See bin/http_{client,server}.c This pair of programs is to demonstrate how to use HTTP features of QUIC. HTTP server is interoperable with proto-quic's quic_client. diff --git a/README.md b/README.md index 17d0dee..f5b7652 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,8 @@ The library has been tested on the following platforms: - i386 - MacOS - x86_64 +- Android + - ARM - Windows (this needs updating for the server part, now broken) - x86_64 diff --git a/test/CMakeLists.txt b/bin/CMakeLists.txt similarity index 75% rename from test/CMakeLists.txt rename to bin/CMakeLists.txt index d5aab3c..aee75aa 100644 --- a/test/CMakeLists.txt +++ b/bin/CMakeLists.txt @@ -24,11 +24,3 @@ INCLUDE(CheckIncludeFiles) CHECK_INCLUDE_FILES(regex.h HAVE_REGEX) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/test_config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/test_config.h) - -IF(CMAKE_BUILD_TYPE STREQUAL "Debug") - # Our test framework relies on assertions, only compile if assertions are - # enabled. - # - add_subdirectory(unittests) - enable_testing() -ENDIF() diff --git a/test/echo_client.c b/bin/echo_client.c similarity index 100% rename from test/echo_client.c rename to bin/echo_client.c diff --git a/test/echo_server.c b/bin/echo_server.c similarity index 100% rename from test/echo_server.c rename to bin/echo_server.c diff --git a/test/http_client.c b/bin/http_client.c similarity index 100% rename from test/http_client.c rename to bin/http_client.c diff --git a/test/http_server.c b/bin/http_server.c similarity index 100% rename from test/http_server.c rename to bin/http_server.c diff --git a/test/md5_client.c b/bin/md5_client.c similarity index 100% rename from test/md5_client.c rename to bin/md5_client.c diff --git a/test/md5_server.c b/bin/md5_server.c similarity index 100% rename from test/md5_server.c rename to bin/md5_server.c diff --git a/test/prog.c b/bin/prog.c similarity index 100% rename from test/prog.c rename to bin/prog.c diff --git a/test/prog.h b/bin/prog.h similarity index 100% rename from test/prog.h rename to bin/prog.h diff --git a/test/test_cert.c b/bin/test_cert.c similarity index 100% rename from test/test_cert.c rename to bin/test_cert.c diff --git a/test/test_cert.h b/bin/test_cert.h similarity index 100% rename from test/test_cert.h rename to bin/test_cert.h diff --git a/test/test_common.c b/bin/test_common.c similarity index 100% rename from test/test_common.c rename to bin/test_common.c diff --git a/test/test_common.h b/bin/test_common.h similarity index 100% rename from test/test_common.h rename to bin/test_common.h diff --git a/test/test_config.h.in b/bin/test_config.h.in similarity index 100% rename from test/test_config.h.in rename to bin/test_config.h.in diff --git a/docs/gettingstarted.rst b/docs/gettingstarted.rst index d4c7fab..b9eaa71 100644 --- a/docs/gettingstarted.rst +++ b/docs/gettingstarted.rst @@ -4,8 +4,8 @@ Getting Started Supported Platforms ------------------- -LSQUIC compiles and runs on Linux, FreeBSD, and Mac OS. It has been -tested on i386, x86_64, as well as Raspberry Pi. +LSQUIC compiles and runs on Linux, FreeBSD, Mac OS, and Android. It has been +tested on i386, x86_64, and ARM (Raspberry Pi and Android). Windows support is on the TODO list. diff --git a/test/unittests/CMakeLists.txt b/tests/CMakeLists.txt similarity index 82% rename from test/unittests/CMakeLists.txt rename to tests/CMakeLists.txt index 171dd81..0019eb1 100644 --- a/test/unittests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,12 +1,12 @@ # Copyright (c) 2017 - 2020 LiteSpeed Technologies Inc. See LICENSE. -INCLUDE_DIRECTORIES(../../src/liblsquic) +INCLUDE_DIRECTORIES(../src/liblsquic) ENABLE_TESTING() SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLSQUIC_TEST=1") IF (MSVC) - SET(ADDL_SOURCES ../../wincompat/getopt.c ../../wincompat/getopt1.c) + SET(ADDL_SOURCES ../wincompat/getopt.c ../wincompat/getopt1.c) SET(LIB_FLAGS "-FORCE:MULTIPLE") ELSE() SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-value") @@ -18,8 +18,8 @@ ELSE() ENDIF() ENDIF() -include_directories(../../src/liblsquic/ls-qpack) -INCLUDE_DIRECTORIES(../../src/lshpack) +include_directories(../src/liblsquic/ls-qpack) +INCLUDE_DIRECTORIES(../src/lshpack) SET(TESTS ack @@ -104,18 +104,18 @@ TARGET_LINK_LIBRARIES(graph_cubic ${LIBS}) ADD_EXECUTABLE(mini_parse mini_parse.c ${ADDL_SOURCES}) TARGET_LINK_LIBRARIES(mini_parse ${LIBS}) -ADD_EXECUTABLE(test_min_heap test_min_heap.c ../../src/liblsquic/lsquic_min_heap.c) +ADD_EXECUTABLE(test_min_heap test_min_heap.c ../src/liblsquic/lsquic_min_heap.c) ADD_TEST(min_heap test_min_heap) -ADD_EXECUTABLE(test_malo_pooled test_malo.c ../../src/liblsquic/lsquic_malo.c) +ADD_EXECUTABLE(test_malo_pooled test_malo.c ../src/liblsquic/lsquic_malo.c) SET_TARGET_PROPERTIES(test_malo_pooled PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLSQUIC_USE_POOLS=1") ADD_TEST(malo_pooled test_malo_pooled) -ADD_EXECUTABLE(test_malo_nopool test_malo.c ../../src/liblsquic/lsquic_malo.c) +ADD_EXECUTABLE(test_malo_nopool test_malo.c ../src/liblsquic/lsquic_malo.c) SET_TARGET_PROPERTIES(test_malo_nopool PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLSQUIC_USE_POOLS=0") ADD_TEST(malo_nopool test_malo_nopool) -ADD_EXECUTABLE(test_minmax test_minmax.c ../../src/liblsquic/lsquic_minmax.c) +ADD_EXECUTABLE(test_minmax test_minmax.c ../src/liblsquic/lsquic_minmax.c) ADD_TEST(minmax test_minmax) diff --git a/test/unittests/graph_cubic.c b/tests/graph_cubic.c similarity index 100% rename from test/unittests/graph_cubic.c rename to tests/graph_cubic.c diff --git a/test/unittests/mini_parse.c b/tests/mini_parse.c similarity index 100% rename from test/unittests/mini_parse.c rename to tests/mini_parse.c diff --git a/test/unittests/test_ack.c b/tests/test_ack.c similarity index 100% rename from test/unittests/test_ack.c rename to tests/test_ack.c diff --git a/test/unittests/test_ack_merge.c b/tests/test_ack_merge.c similarity index 100% rename from test/unittests/test_ack_merge.c rename to tests/test_ack_merge.c diff --git a/test/unittests/test_ackgen_gquic_be.c b/tests/test_ackgen_gquic_be.c similarity index 100% rename from test/unittests/test_ackgen_gquic_be.c rename to tests/test_ackgen_gquic_be.c diff --git a/test/unittests/test_ackgen_gquic_le.c b/tests/test_ackgen_gquic_le.c similarity index 100% rename from test/unittests/test_ackgen_gquic_le.c rename to tests/test_ackgen_gquic_le.c diff --git a/test/unittests/test_ackparse_gquic_be.c b/tests/test_ackparse_gquic_be.c similarity index 100% rename from test/unittests/test_ackparse_gquic_be.c rename to tests/test_ackparse_gquic_be.c diff --git a/test/unittests/test_ackparse_gquic_le.c b/tests/test_ackparse_gquic_le.c similarity index 100% rename from test/unittests/test_ackparse_gquic_le.c rename to tests/test_ackparse_gquic_le.c diff --git a/test/unittests/test_ackparse_ietf.c b/tests/test_ackparse_ietf.c similarity index 100% rename from test/unittests/test_ackparse_ietf.c rename to tests/test_ackparse_ietf.c diff --git a/test/unittests/test_alarmset.c b/tests/test_alarmset.c similarity index 100% rename from test/unittests/test_alarmset.c rename to tests/test_alarmset.c diff --git a/test/unittests/test_alt_svc_ver.c b/tests/test_alt_svc_ver.c similarity index 100% rename from test/unittests/test_alt_svc_ver.c rename to tests/test_alt_svc_ver.c diff --git a/test/unittests/test_arr.c b/tests/test_arr.c similarity index 100% rename from test/unittests/test_arr.c rename to tests/test_arr.c diff --git a/test/unittests/test_attq.c b/tests/test_attq.c similarity index 100% rename from test/unittests/test_attq.c rename to tests/test_attq.c diff --git a/test/unittests/test_blocked_gquic_be.c b/tests/test_blocked_gquic_be.c similarity index 100% rename from test/unittests/test_blocked_gquic_be.c rename to tests/test_blocked_gquic_be.c diff --git a/test/unittests/test_blocked_gquic_le.c b/tests/test_blocked_gquic_le.c similarity index 100% rename from test/unittests/test_blocked_gquic_le.c rename to tests/test_blocked_gquic_le.c diff --git a/test/unittests/test_bw_sampler.c b/tests/test_bw_sampler.c similarity index 100% rename from test/unittests/test_bw_sampler.c rename to tests/test_bw_sampler.c diff --git a/test/unittests/test_chlo_gen.c b/tests/test_chlo_gen.c similarity index 100% rename from test/unittests/test_chlo_gen.c rename to tests/test_chlo_gen.c diff --git a/test/unittests/test_clear_aead.c b/tests/test_clear_aead.c similarity index 100% rename from test/unittests/test_clear_aead.c rename to tests/test_clear_aead.c diff --git a/test/unittests/test_conn_close_gquic_be.c b/tests/test_conn_close_gquic_be.c similarity index 100% rename from test/unittests/test_conn_close_gquic_be.c rename to tests/test_conn_close_gquic_be.c diff --git a/test/unittests/test_conn_close_gquic_le.c b/tests/test_conn_close_gquic_le.c similarity index 100% rename from test/unittests/test_conn_close_gquic_le.c rename to tests/test_conn_close_gquic_le.c diff --git a/test/unittests/test_conn_hash.c b/tests/test_conn_hash.c similarity index 100% rename from test/unittests/test_conn_hash.c rename to tests/test_conn_hash.c diff --git a/test/unittests/test_crypto_gen.c b/tests/test_crypto_gen.c similarity index 100% rename from test/unittests/test_crypto_gen.c rename to tests/test_crypto_gen.c diff --git a/test/unittests/test_cubic.c b/tests/test_cubic.c similarity index 100% rename from test/unittests/test_cubic.c rename to tests/test_cubic.c diff --git a/test/unittests/test_dec.c b/tests/test_dec.c similarity index 100% rename from test/unittests/test_dec.c rename to tests/test_dec.c diff --git a/test/unittests/test_di_nocopy.c b/tests/test_di_nocopy.c similarity index 100% rename from test/unittests/test_di_nocopy.c rename to tests/test_di_nocopy.c diff --git a/test/unittests/test_elision.c b/tests/test_elision.c similarity index 100% rename from test/unittests/test_elision.c rename to tests/test_elision.c diff --git a/test/unittests/test_engine_ctor.c b/tests/test_engine_ctor.c similarity index 100% rename from test/unittests/test_engine_ctor.c rename to tests/test_engine_ctor.c diff --git a/test/unittests/test_export_key.c b/tests/test_export_key.c similarity index 100% rename from test/unittests/test_export_key.c rename to tests/test_export_key.c diff --git a/test/unittests/test_frame_chop.c b/tests/test_frame_chop.c similarity index 100% rename from test/unittests/test_frame_chop.c rename to tests/test_frame_chop.c diff --git a/test/unittests/test_frame_reader.c b/tests/test_frame_reader.c similarity index 100% rename from test/unittests/test_frame_reader.c rename to tests/test_frame_reader.c diff --git a/test/unittests/test_frame_rw.c b/tests/test_frame_rw.c similarity index 100% rename from test/unittests/test_frame_rw.c rename to tests/test_frame_rw.c diff --git a/test/unittests/test_frame_writer.c b/tests/test_frame_writer.c similarity index 100% rename from test/unittests/test_frame_writer.c rename to tests/test_frame_writer.c diff --git a/test/unittests/test_goaway_gquic_be.c b/tests/test_goaway_gquic_be.c similarity index 100% rename from test/unittests/test_goaway_gquic_be.c rename to tests/test_goaway_gquic_be.c diff --git a/test/unittests/test_goaway_gquic_le.c b/tests/test_goaway_gquic_le.c similarity index 100% rename from test/unittests/test_goaway_gquic_le.c rename to tests/test_goaway_gquic_le.c diff --git a/test/unittests/test_h3_framing.c b/tests/test_h3_framing.c similarity index 100% rename from test/unittests/test_h3_framing.c rename to tests/test_h3_framing.c diff --git a/test/unittests/test_hcsi_reader.c b/tests/test_hcsi_reader.c similarity index 100% rename from test/unittests/test_hcsi_reader.c rename to tests/test_hcsi_reader.c diff --git a/test/unittests/test_hkdf.c b/tests/test_hkdf.c similarity index 100% rename from test/unittests/test_hkdf.c rename to tests/test_hkdf.c diff --git a/test/unittests/test_lsquic_hash.c b/tests/test_lsquic_hash.c similarity index 100% rename from test/unittests/test_lsquic_hash.c rename to tests/test_lsquic_hash.c diff --git a/test/unittests/test_malo.c b/tests/test_malo.c similarity index 100% rename from test/unittests/test_malo.c rename to tests/test_malo.c diff --git a/test/unittests/test_min_heap.c b/tests/test_min_heap.c similarity index 100% rename from test/unittests/test_min_heap.c rename to tests/test_min_heap.c diff --git a/test/unittests/test_minmax.c b/tests/test_minmax.c similarity index 100% rename from test/unittests/test_minmax.c rename to tests/test_minmax.c diff --git a/test/unittests/test_packet_out.c b/tests/test_packet_out.c similarity index 100% rename from test/unittests/test_packet_out.c rename to tests/test_packet_out.c diff --git a/test/unittests/test_packno_len.c b/tests/test_packno_len.c similarity index 100% rename from test/unittests/test_packno_len.c rename to tests/test_packno_len.c diff --git a/test/unittests/test_parse_packet_in.c b/tests/test_parse_packet_in.c similarity index 100% rename from test/unittests/test_parse_packet_in.c rename to tests/test_parse_packet_in.c diff --git a/test/unittests/test_purga.c b/tests/test_purga.c similarity index 100% rename from test/unittests/test_purga.c rename to tests/test_purga.c diff --git a/test/unittests/test_qlog.c b/tests/test_qlog.c similarity index 100% rename from test/unittests/test_qlog.c rename to tests/test_qlog.c diff --git a/test/unittests/test_quic_be_floats.c b/tests/test_quic_be_floats.c similarity index 100% rename from test/unittests/test_quic_be_floats.c rename to tests/test_quic_be_floats.c diff --git a/test/unittests/test_quic_le_floats.c b/tests/test_quic_le_floats.c similarity index 100% rename from test/unittests/test_quic_le_floats.c rename to tests/test_quic_le_floats.c diff --git a/test/unittests/test_rechist.c b/tests/test_rechist.c similarity index 100% rename from test/unittests/test_rechist.c rename to tests/test_rechist.c diff --git a/test/unittests/test_reg_pkt_headergen.c b/tests/test_reg_pkt_headergen.c similarity index 100% rename from test/unittests/test_reg_pkt_headergen.c rename to tests/test_reg_pkt_headergen.c diff --git a/test/unittests/test_rst_stream_gquic_be.c b/tests/test_rst_stream_gquic_be.c similarity index 100% rename from test/unittests/test_rst_stream_gquic_be.c rename to tests/test_rst_stream_gquic_be.c diff --git a/test/unittests/test_rst_stream_gquic_le.c b/tests/test_rst_stream_gquic_le.c similarity index 100% rename from test/unittests/test_rst_stream_gquic_le.c rename to tests/test_rst_stream_gquic_le.c diff --git a/test/unittests/test_rst_stream_ietf.c b/tests/test_rst_stream_ietf.c similarity index 100% rename from test/unittests/test_rst_stream_ietf.c rename to tests/test_rst_stream_ietf.c diff --git a/test/unittests/test_rtt.c b/tests/test_rtt.c similarity index 100% rename from test/unittests/test_rtt.c rename to tests/test_rtt.c diff --git a/test/unittests/test_send_headers.c b/tests/test_send_headers.c similarity index 100% rename from test/unittests/test_send_headers.c rename to tests/test_send_headers.c diff --git a/test/unittests/test_senhist.c b/tests/test_senhist.c similarity index 100% rename from test/unittests/test_senhist.c rename to tests/test_senhist.c diff --git a/test/unittests/test_set.c b/tests/test_set.c similarity index 100% rename from test/unittests/test_set.c rename to tests/test_set.c diff --git a/test/unittests/test_sfcw.c b/tests/test_sfcw.c similarity index 100% rename from test/unittests/test_sfcw.c rename to tests/test_sfcw.c diff --git a/test/unittests/test_shi.c b/tests/test_shi.c similarity index 100% rename from test/unittests/test_shi.c rename to tests/test_shi.c diff --git a/test/unittests/test_some_packets.c b/tests/test_some_packets.c similarity index 100% rename from test/unittests/test_some_packets.c rename to tests/test_some_packets.c diff --git a/test/unittests/test_spi.c b/tests/test_spi.c similarity index 100% rename from test/unittests/test_spi.c rename to tests/test_spi.c diff --git a/test/unittests/test_stop_waiting_gquic_be.c b/tests/test_stop_waiting_gquic_be.c similarity index 100% rename from test/unittests/test_stop_waiting_gquic_be.c rename to tests/test_stop_waiting_gquic_be.c diff --git a/test/unittests/test_stop_waiting_gquic_le.c b/tests/test_stop_waiting_gquic_le.c similarity index 100% rename from test/unittests/test_stop_waiting_gquic_le.c rename to tests/test_stop_waiting_gquic_le.c diff --git a/test/unittests/test_stream.c b/tests/test_stream.c similarity index 100% rename from test/unittests/test_stream.c rename to tests/test_stream.c diff --git a/test/unittests/test_streamgen.c b/tests/test_streamgen.c similarity index 100% rename from test/unittests/test_streamgen.c rename to tests/test_streamgen.c diff --git a/test/unittests/test_streamparse.c b/tests/test_streamparse.c similarity index 100% rename from test/unittests/test_streamparse.c rename to tests/test_streamparse.c diff --git a/test/unittests/test_tokgen.c b/tests/test_tokgen.c similarity index 100% rename from test/unittests/test_tokgen.c rename to tests/test_tokgen.c diff --git a/test/unittests/test_trapa.c b/tests/test_trapa.c similarity index 100% rename from test/unittests/test_trapa.c rename to tests/test_trapa.c diff --git a/test/unittests/test_varint.c b/tests/test_varint.c similarity index 100% rename from test/unittests/test_varint.c rename to tests/test_varint.c diff --git a/test/unittests/test_ver_nego.c b/tests/test_ver_nego.c similarity index 100% rename from test/unittests/test_ver_nego.c rename to tests/test_ver_nego.c diff --git a/test/unittests/test_wuf_gquic_be.c b/tests/test_wuf_gquic_be.c similarity index 100% rename from test/unittests/test_wuf_gquic_be.c rename to tests/test_wuf_gquic_be.c diff --git a/test/unittests/test_wuf_gquic_le.c b/tests/test_wuf_gquic_le.c similarity index 100% rename from test/unittests/test_wuf_gquic_le.c rename to tests/test_wuf_gquic_le.c