diff --git a/build.json b/build.json index 97e19d52aca..c0d96623e88 100644 --- a/build.json +++ b/build.json @@ -184,6 +184,7 @@ { "name": "gpr", "build": "all", + "language": "c", "public_headers": [ "include/grpc/support/alloc.h", "include/grpc/support/atm.h", @@ -250,6 +251,7 @@ { "name": "gpr_test_util", "build": "private", + "language": "c", "src": [ "test/core/util/test_config.c" ], @@ -258,6 +260,7 @@ { "name": "grpc", "build": "all", + "language": "c", "public_headers": [ "include/grpc/grpc_security.h" ], @@ -289,10 +292,10 @@ "src/core/tsi/ssl_transport_security.c", "src/core/tsi/transport_security.c" ], - "baselib": true, "deps": [ "gpr" ], + "baselib": true, "filegroups": [ "grpc_base" ], @@ -302,6 +305,7 @@ { "name": "grpc++", "build": "all", + "language": "c++", "public_headers": [ "include/grpc++/async_server.h", "include/grpc++/async_server_context.h", @@ -353,7 +357,6 @@ "src/cpp/util/status.cc", "src/cpp/util/time.cc" ], - "c++": true, "deps": [ "grpc" ], @@ -363,18 +366,19 @@ { "name": "grpc++_test_util", "build": "private", + "language": "c++", "src": [ "test/cpp/util/echo.proto", "test/cpp/util/echo_duplicate.proto", "test/cpp/util/messages.proto", "test/cpp/end2end/async_test_server.cc", "test/cpp/util/create_test_channel.cc" - ], - "c++": true + ] }, { "name": "grpc_test_util", "build": "private", + "language": "c", "src": [ "test/core/end2end/cq_verifier.c", "test/core/end2end/data/prod_roots_certs.c", @@ -394,10 +398,11 @@ { "name": "grpc_unsecure", "build": "all", - "baselib": true, + "language": "c", "deps": [ "gpr" ], + "baselib": true, "filegroups": [ "grpc_base" ], @@ -409,6 +414,7 @@ { "name": "alarm_heap_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/alarm_heap_test.c" ], @@ -422,6 +428,7 @@ { "name": "alarm_list_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/alarm_list_test.c" ], @@ -435,6 +442,7 @@ { "name": "alarm_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/alarm_test.c" ], @@ -448,6 +456,7 @@ { "name": "alpn_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/alpn_test.c" ], @@ -461,6 +470,7 @@ { "name": "bin_encoder_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/bin_encoder_test.c" ], @@ -474,6 +484,7 @@ { "name": "census_hash_table_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/hash_table_test.c" ], @@ -487,6 +498,7 @@ { "name": "census_statistics_multiple_writers_circular_buffer_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/multiple_writers_circular_buffer_test.c" ], @@ -500,6 +512,7 @@ { "name": "census_statistics_multiple_writers_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/multiple_writers_test.c" ], @@ -513,6 +526,7 @@ { "name": "census_statistics_performance_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/performance_test.c" ], @@ -526,6 +540,7 @@ { "name": "census_statistics_quick_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/quick_test.c" ], @@ -539,6 +554,7 @@ { "name": "census_statistics_small_log_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/small_log_test.c" ], @@ -552,6 +568,7 @@ { "name": "census_stats_store_test", "build": "executable", + "language": "c", "src": [ "test/core/statistics/rpc_stats_test.c" ], @@ -565,6 +582,7 @@ { "name": "census_stub_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/census_stub_test.c" ], @@ -578,6 +596,7 @@ { "name": "census_trace_store_test", "build": "executable", + "language": "c", "src": [ "test/core/statistics/trace_test.c" ], @@ -591,6 +610,7 @@ { "name": "census_window_stats_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/window_stats_test.c" ], @@ -604,10 +624,10 @@ { "name": "channel_arguments_test", "build": "test", + "language": "c++", "src": [ "test/cpp/client/channel_arguments_test.cc" ], - "c++": true, "deps": [ "grpc++", "grpc", @@ -617,6 +637,7 @@ { "name": "chttp2_status_conversion_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/status_conversion_test.c" ], @@ -630,6 +651,7 @@ { "name": "chttp2_stream_encoder_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/stream_encoder_test.c" ], @@ -643,6 +665,7 @@ { "name": "chttp2_stream_map_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/stream_map_test.c" ], @@ -656,6 +679,7 @@ { "name": "chttp2_transport_end2end_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2_transport_end2end_test.c" ], @@ -669,6 +693,7 @@ { "name": "cpp_plugin", "build": "protoc", + "language": "c++", "headers": [ "src/compiler/cpp_generator.h", "src/compiler/cpp_generator_helpers.h" @@ -677,17 +702,16 @@ "src/compiler/cpp_generator.cc", "src/compiler/cpp_plugin.cc" ], - "c++": true, "deps": [], "secure": false }, { "name": "credentials_test", "build": "test", + "language": "c++", "src": [ "test/cpp/client/credentials_test.cc" ], - "c++": true, "deps": [ "grpc++", "grpc", @@ -697,6 +721,7 @@ { "name": "dualstack_socket_test", "build": "test", + "language": "c", "src": [ "test/core/end2end/dualstack_socket_test.c" ], @@ -710,6 +735,7 @@ { "name": "echo_client", "build": "test", + "language": "c", "src": [ "test/core/echo/client.c" ], @@ -724,6 +750,7 @@ { "name": "echo_server", "build": "test", + "language": "c", "src": [ "test/core/echo/server.c" ], @@ -738,6 +765,7 @@ { "name": "echo_test", "build": "test", + "language": "c", "src": [ "test/core/echo/echo_test.c" ], @@ -751,10 +779,10 @@ { "name": "end2end_test", "build": "test", + "language": "c++", "src": [ "test/cpp/end2end/end2end_test.cc" ], - "c++": true, "deps": [ "grpc++_test_util", "grpc_test_util", @@ -767,6 +795,7 @@ { "name": "fd_posix_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/fd_posix_test.c" ], @@ -780,6 +809,7 @@ { "name": "fling_client", "build": "test", + "language": "c", "src": [ "test/core/fling/client.c" ], @@ -794,6 +824,7 @@ { "name": "fling_server", "build": "test", + "language": "c", "src": [ "test/core/fling/server.c" ], @@ -808,6 +839,7 @@ { "name": "fling_stream_test", "build": "test", + "language": "c", "src": [ "test/core/fling/fling_stream_test.c" ], @@ -821,6 +853,7 @@ { "name": "fling_test", "build": "test", + "language": "c", "src": [ "test/core/fling/fling_test.c" ], @@ -834,6 +867,7 @@ { "name": "gen_hpack_tables", "build": "tool", + "language": "c", "src": [ "src/core/transport/chttp2/gen_hpack_tables.c" ], @@ -846,6 +880,7 @@ { "name": "gpr_cancellable_test", "build": "test", + "language": "c", "src": [ "test/core/support/cancellable_test.c" ], @@ -857,6 +892,7 @@ { "name": "gpr_cmdline_test", "build": "test", + "language": "c", "src": [ "test/core/support/cmdline_test.c" ], @@ -868,6 +904,7 @@ { "name": "gpr_histogram_test", "build": "test", + "language": "c", "src": [ "test/core/support/histogram_test.c" ], @@ -879,6 +916,7 @@ { "name": "gpr_host_port_test", "build": "test", + "language": "c", "src": [ "test/core/support/host_port_test.c" ], @@ -890,6 +928,7 @@ { "name": "gpr_log_test", "build": "test", + "language": "c", "src": [ "test/core/support/log_test.c" ], @@ -901,6 +940,7 @@ { "name": "gpr_slice_buffer_test", "build": "test", + "language": "c", "src": [ "test/core/support/slice_buffer_test.c" ], @@ -912,6 +952,7 @@ { "name": "gpr_slice_test", "build": "test", + "language": "c", "src": [ "test/core/support/slice_test.c" ], @@ -923,6 +964,7 @@ { "name": "gpr_string_test", "build": "test", + "language": "c", "src": [ "test/core/support/string_test.c" ], @@ -934,6 +976,7 @@ { "name": "gpr_sync_test", "build": "test", + "language": "c", "src": [ "test/core/support/sync_test.c" ], @@ -945,6 +988,7 @@ { "name": "gpr_thd_test", "build": "test", + "language": "c", "src": [ "test/core/support/thd_test.c" ], @@ -956,6 +1000,7 @@ { "name": "gpr_time_test", "build": "test", + "language": "c", "src": [ "test/core/support/time_test.c" ], @@ -967,6 +1012,7 @@ { "name": "gpr_useful_test", "build": "test", + "language": "c", "src": [ "test/core/support/useful_test.c" ], @@ -978,6 +1024,7 @@ { "name": "grpc_base64_test", "build": "test", + "language": "c", "src": [ "test/core/security/base64_test.c" ], @@ -991,6 +1038,7 @@ { "name": "grpc_byte_buffer_reader_test", "build": "test", + "language": "c", "src": [ "test/core/surface/byte_buffer_reader_test.c" ], @@ -1004,6 +1052,7 @@ { "name": "grpc_channel_stack_test", "build": "test", + "language": "c", "src": [ "test/core/channel/channel_stack_test.c" ], @@ -1017,6 +1066,7 @@ { "name": "grpc_completion_queue_benchmark", "build": "benchmark", + "language": "c", "src": [ "test/core/surface/completion_queue_benchmark.c" ], @@ -1030,6 +1080,7 @@ { "name": "grpc_completion_queue_test", "build": "test", + "language": "c", "src": [ "test/core/surface/completion_queue_test.c" ], @@ -1043,6 +1094,7 @@ { "name": "grpc_credentials_test", "build": "test", + "language": "c", "src": [ "test/core/security/credentials_test.c" ], @@ -1056,6 +1108,7 @@ { "name": "grpc_fetch_oauth2", "build": "tool", + "language": "c", "src": [ "test/core/security/fetch_oauth2.c" ], @@ -1069,6 +1122,7 @@ { "name": "grpc_json_token_test", "build": "test", + "language": "c", "src": [ "test/core/security/json_token_test.c" ], @@ -1082,6 +1136,7 @@ { "name": "grpc_stream_op_test", "build": "test", + "language": "c", "src": [ "test/core/transport/stream_op_test.c" ], @@ -1095,6 +1150,7 @@ { "name": "hpack_parser_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/hpack_parser_test.c" ], @@ -1108,6 +1164,7 @@ { "name": "hpack_table_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/hpack_table_test.c" ], @@ -1121,6 +1178,7 @@ { "name": "httpcli_format_request_test", "build": "test", + "language": "c", "src": [ "test/core/httpcli/format_request_test.c" ], @@ -1134,6 +1192,7 @@ { "name": "httpcli_parser_test", "build": "test", + "language": "c", "src": [ "test/core/httpcli/parser_test.c" ], @@ -1147,6 +1206,7 @@ { "name": "httpcli_test", "build": "test", + "language": "c", "src": [ "test/core/httpcli/httpcli_test.c" ], @@ -1160,13 +1220,13 @@ { "name": "interop_client", "build": "test", + "language": "c++", "src": [ "test/cpp/interop/empty.proto", "test/cpp/interop/messages.proto", "test/cpp/interop/test.proto", "test/cpp/interop/client.cc" ], - "c++": true, "deps": [ "grpc++_test_util", "grpc_test_util", @@ -1180,13 +1240,13 @@ { "name": "interop_server", "build": "test", + "language": "c++", "src": [ "test/cpp/interop/empty.proto", "test/cpp/interop/messages.proto", "test/cpp/interop/test.proto", "test/cpp/interop/server.cc" ], - "c++": true, "deps": [ "grpc++_test_util", "grpc_test_util", @@ -1200,6 +1260,7 @@ { "name": "lame_client_test", "build": "test", + "language": "c", "src": [ "test/core/surface/lame_client_test.c" ], @@ -1213,6 +1274,7 @@ { "name": "low_level_ping_pong_benchmark", "build": "benchmark", + "language": "c", "src": [ "test/core/network_benchmarks/low_level_ping_pong.c" ], @@ -1226,6 +1288,7 @@ { "name": "message_compress_test", "build": "test", + "language": "c", "src": [ "test/core/compression/message_compress_test.c" ], @@ -1239,6 +1302,7 @@ { "name": "metadata_buffer_test", "build": "test", + "language": "c", "src": [ "test/core/channel/metadata_buffer_test.c" ], @@ -1252,6 +1316,7 @@ { "name": "murmur_hash_test", "build": "test", + "language": "c", "src": [ "test/core/support/murmur_hash_test.c" ], @@ -1263,6 +1328,7 @@ { "name": "no_server_test", "build": "test", + "language": "c", "src": [ "test/core/end2end/no_server_test.c" ], @@ -1276,6 +1342,7 @@ { "name": "poll_kick_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/poll_kick_test.c" ], @@ -1289,11 +1356,11 @@ { "name": "qps_client", "build": "test", + "language": "c++", "src": [ "test/cpp/qps/qpstest.proto", "test/cpp/qps/client.cc" ], - "c++": true, "deps": [ "grpc++_test_util", "grpc_test_util", @@ -1306,11 +1373,11 @@ { "name": "qps_server", "build": "test", + "language": "c++", "src": [ "test/cpp/qps/qpstest.proto", "test/cpp/qps/server.cc" ], - "c++": true, "deps": [ "grpc++_test_util", "grpc_test_util", @@ -1323,6 +1390,7 @@ { "name": "resolve_address_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/resolve_address_test.c" ], @@ -1336,6 +1404,7 @@ { "name": "ruby_plugin", "build": "protoc", + "language": "c++", "headers": [ "src/compiler/cpp_generator.h", "src/compiler/cpp_generator_helpers-inl.h", @@ -1346,13 +1415,13 @@ "src/compiler/ruby_generator.cc", "src/compiler/ruby_plugin.cc" ], - "c++": true, "deps": [], "secure": false }, { "name": "secure_endpoint_test", "build": "test", + "language": "c", "src": [ "test/core/security/secure_endpoint_test.c" ], @@ -1366,6 +1435,7 @@ { "name": "sockaddr_utils_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/sockaddr_utils_test.c" ], @@ -1379,10 +1449,10 @@ { "name": "status_test", "build": "test", + "language": "c++", "src": [ "test/cpp/util/status_test.cc" ], - "c++": true, "deps": [ "grpc_test_util", "grpc++", @@ -1394,10 +1464,10 @@ { "name": "sync_client_async_server_test", "build": "test", + "language": "c++", "src": [ "test/cpp/end2end/sync_client_async_server_test.cc" ], - "c++": true, "deps": [ "grpc++_test_util", "grpc_test_util", @@ -1410,6 +1480,7 @@ { "name": "tcp_client_posix_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/tcp_client_posix_test.c" ], @@ -1423,6 +1494,7 @@ { "name": "tcp_posix_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/tcp_posix_test.c" ], @@ -1436,6 +1508,7 @@ { "name": "tcp_server_posix_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/tcp_server_posix_test.c" ], @@ -1449,10 +1522,10 @@ { "name": "thread_pool_test", "build": "test", + "language": "c++", "src": [ "test/cpp/server/thread_pool_test.cc" ], - "c++": true, "deps": [ "grpc_test_util", "grpc++", @@ -1464,6 +1537,7 @@ { "name": "time_averaged_stats_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/time_averaged_stats_test.c" ], @@ -1477,6 +1551,7 @@ { "name": "time_test", "build": "test", + "language": "c", "src": [ "test/core/support/time_test.c" ], @@ -1490,6 +1565,7 @@ { "name": "timeout_encoding_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/timeout_encoding_test.c" ], @@ -1503,6 +1579,7 @@ { "name": "transport_metadata_test", "build": "test", + "language": "c", "src": [ "test/core/transport/metadata_test.c" ], diff --git a/templates/Makefile.template b/templates/Makefile.template index b359d866acf..11b9438a685 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -351,7 +351,7 @@ static: static_c static_cxx static_c: \ % for lib in libs: -% if lib.build == 'all' and not lib.get('c++', False): +% if lib.build == 'all' and lib.language == 'c': libs/$(CONFIG)/lib${lib.name}.a\ % endif % endfor @@ -359,7 +359,7 @@ static_c: \ static_cxx: \ % for lib in libs: -% if lib.build == 'all' and lib.get('c++', False): +% if lib.build == 'all' and lib.language == 'c++': libs/$(CONFIG)/lib${lib.name}.a\ % endif % endfor @@ -369,7 +369,7 @@ shared: shared_c shared_cxx shared_c: \ % for lib in libs: -% if lib.build == 'all' and not lib.get('c++', False): +% if lib.build == 'all' and lib.language == 'c': libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT)\ % endif % endfor @@ -377,7 +377,7 @@ shared_c: \ shared_cxx: \ % for lib in libs: -% if lib.build == 'all' and lib.get('c++', False): +% if lib.build == 'all' and lib.language == 'c++': libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT)\ % endif % endfor @@ -387,7 +387,7 @@ privatelibs: privatelibs_c privatelibs_cxx privatelibs_c: \ % for lib in libs: -% if lib.build == 'private' and not lib.get('c++', False): +% if lib.build == 'private' and lib.language == 'c': libs/$(CONFIG)/lib${lib.name}.a\ % endif % endfor @@ -395,7 +395,7 @@ privatelibs_c: \ privatelibs_cxx: \ % for lib in libs: -% if lib.build == 'private' and lib.get('c++', False): +% if lib.build == 'private' and lib.language == 'c++': libs/$(CONFIG)/lib${lib.name}.a\ % endif % endfor @@ -405,7 +405,7 @@ buildtests: buildtests_c buildtests_cxx buildtests_c: privatelibs_c\ % for tgt in targets: -% if tgt.build == 'test' and not tgt.get('c++', False): +% if tgt.build == 'test' and not tgt.language == 'c++': bins/$(CONFIG)/${tgt.name}\ % endif % endfor @@ -413,7 +413,7 @@ buildtests_c: privatelibs_c\ buildtests_cxx: privatelibs_cxx\ % for tgt in targets: -% if tgt.build == 'test' and tgt.get('c++', False): +% if tgt.build == 'test' and tgt.language == 'c++': bins/$(CONFIG)/${tgt.name}\ % endif % endfor @@ -423,7 +423,7 @@ test: test_c test_cxx test_c: buildtests_c % for tgt in targets: -% if tgt.build == 'test' and tgt.get('run', True) and not tgt.get('c++', False): +% if tgt.build == 'test' and tgt.get('run', True) and not tgt.language == 'c++': $(E) "[RUN] Testing ${tgt.name}" $(Q) ./bins/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 ) % endif @@ -432,7 +432,7 @@ test_c: buildtests_c test_cxx: buildtests_cxx % for tgt in targets: -% if tgt.build == 'test' and tgt.get('run', True) and tgt.get('c++', False): +% if tgt.build == 'test' and tgt.get('run', True) and tgt.language == 'c++': $(E) "[RUN] Testing ${tgt.name}" $(Q) ./bins/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 ) % endif @@ -470,7 +470,7 @@ strip-shared: strip-shared_c strip-shared_cxx strip-static_c: static_c % for lib in libs: -% if not lib.get("c++", False): +% if lib.language == "c": % if lib.build == "all": $(E) "[STRIP] Stripping lib${lib.name}.a" $(Q) $(STRIP) libs/$(CONFIG)/lib${lib.name}.a @@ -480,7 +480,7 @@ strip-static_c: static_c strip-static_cxx: static_cxx % for lib in libs: -% if lib.get("c++", False): +% if lib.language == "c++": % if lib.build == "all": $(E) "[STRIP] Stripping lib${lib.name}.a" $(Q) $(STRIP) libs/$(CONFIG)/lib${lib.name}.a @@ -490,7 +490,7 @@ strip-static_cxx: static_cxx strip-shared_c: shared_c % for lib in libs: -% if not lib.get("c++", False): +% if lib.language == "c": % if lib.build == "all": $(E) "[STRIP] Stripping lib${lib.name}.so" $(Q) $(STRIP) libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT) @@ -500,7 +500,7 @@ strip-shared_c: shared_c strip-shared_cxx: shared_cxx % for lib in libs: -% if lib.get("c++", False): +% if lib.language == "c++": % if lib.build == "all": $(E) "[STRIP] Stripping lib${lib.name}.so" $(Q) $(STRIP) libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT) @@ -557,7 +557,7 @@ install-static: install-static_c install-static_cxx install-static_c: static_c strip-static_c % for lib in libs: -% if not lib.get("c++", False): +% if lib.language == "c": % if lib.build == "all": $(E) "[INSTALL] Installing lib${lib.name}.a" $(Q) $(INSTALL) libs/$(CONFIG)/lib${lib.name}.a $(prefix)/lib/lib${lib.name}.a @@ -567,7 +567,7 @@ install-static_c: static_c strip-static_c install-static_cxx: static_cxx strip-static_cxx % for lib in libs: -% if lib.get("c++", False): +% if lib.language == "c++": % if lib.build == "all": $(E) "[INSTALL] Installing lib${lib.name}.a" $(Q) $(INSTALL) libs/$(CONFIG)/lib${lib.name}.a $(prefix)/lib/lib${lib.name}.a @@ -577,7 +577,7 @@ install-static_cxx: static_cxx strip-static_cxx install-shared_c: shared_c strip-shared_c % for lib in libs: -% if not lib.get("c++", False): +% if lib.language == "c": % if lib.build == "all": ifeq ($(SYSTEM),MINGW32) $(E) "[INSTALL] Installing ${lib.name}.$(SHARED_EXT)" @@ -601,7 +601,7 @@ endif install-shared_cxx: shared_cxx strip-shared_cxx % for lib in libs: -% if lib.get("c++", False): +% if lib.language == "c++": % if lib.build == "all": ifeq ($(SYSTEM),MINGW32) $(E) "[INSTALL] Installing ${lib.name}.$(SHARED_EXT)" @@ -649,7 +649,7 @@ LIB${lib.name.upper()}_SRC = \\ % endfor % if "public_headers" in lib: -% if lib.get("c++", False): +% if lib.language == "c++": PUBLIC_HEADERS_CXX += \\ % else: @@ -709,7 +709,7 @@ libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(LIB${lib.name.upper()}_OBJS) % endif <% - if lib.get('c++', False): + if lib.language == 'c++': ld = '$(LDXX)' else: ld = '$(LD)' @@ -818,7 +818,7 @@ bins/$(CONFIG)/${tgt.name}: $(${tgt.name.upper()}_OBJS)\ libs/$(CONFIG)/lib${dep}.a\ % endfor -% if tgt.get("c++", False): +% if tgt.language == "c++": ## C++ targets specificies. % if tgt.build == 'protoc': $(E) "[HOSTLD] Linking $@" @@ -841,7 +841,7 @@ bins/$(CONFIG)/${tgt.name}: $(${tgt.name.upper()}_OBJS)\ % for dep in tgt.deps: libs/$(CONFIG)/lib${dep}.a\ % endfor -% if tgt.get("c++", False): +% if tgt.language == "c++": % if tgt.build == 'protoc': $(HOST_LDLIBSXX)\ % else: diff --git a/templates/tools/run_tests/tests.json.template b/templates/tools/run_tests/tests.json.template new file mode 100644 index 00000000000..49784808434 --- /dev/null +++ b/templates/tools/run_tests/tests.json.template @@ -0,0 +1,9 @@ +<%! +import json +%> + +${json.dumps([{"name": tgt.name, "language": tgt.language} + for tgt in targets + if tgt.build == "test" and tgt.name[-5:] == "_test"], + sort_keys=True, indent=4)} + diff --git a/templates/vsprojects/vs2013/grpc.sln.template b/templates/vsprojects/vs2013/grpc.sln.template index fa32f1c52e2..fe85d03cece 100644 --- a/templates/vsprojects/vs2013/grpc.sln.template +++ b/templates/vsprojects/vs2013/grpc.sln.template @@ -23,7 +23,7 @@ projects.extend(targets) projects = [project for project in projects if project.get('vs_project_guid', None)] ## Exclude C++ projects for now -projects = [project for project in projects if not project.get('c++', False)] +projects = [project for project in projects if not project.language == 'c++'] for p in projects: p.deps = p.get('deps',[]) diff --git a/test/core/end2end/gen_build_json.py b/test/core/end2end/gen_build_json.py index 8a851ddd37e..2c4368fe767 100755 --- a/test/core/end2end/gen_build_json.py +++ b/test/core/end2end/gen_build_json.py @@ -48,6 +48,7 @@ def main(): { 'name': 'end2end_fixture_%s' % f, 'build': 'private', + 'language': 'c', 'secure': True, 'src': ['test/core/end2end/fixtures/%s.c' % f] } @@ -55,6 +56,7 @@ def main(): { 'name': 'end2end_test_%s' % t, 'build': 'private', + 'language': 'c', 'secure': False, 'src': ['test/core/end2end/tests/%s.c' % t], 'headers': ['test/core/end2end/tests/cancel_test_helpers.h'] @@ -63,6 +65,7 @@ def main(): { 'name': 'end2end_certs', 'build': 'private', + 'language': 'c', 'src': [ "test/core/end2end/data/test_root_cert.c", "test/core/end2end/data/prod_roots_certs.c", @@ -75,6 +78,7 @@ def main(): { 'name': '%s_%s_test' % (f, t), 'build': 'test', + 'language': 'c', 'src': [], 'deps': [ 'end2end_fixture_%s' % f, diff --git a/tools/buildgen/generate_projects.sh b/tools/buildgen/generate_projects.sh index 42b161388a8..c2e88f77938 100755 --- a/tools/buildgen/generate_projects.sh +++ b/tools/buildgen/generate_projects.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -x +set -e if [ "x$TEST" == "x" ] ; then TEST=false diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 0826dfc7a4a..15c523731bd 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -41,12 +41,17 @@ class ValgrindConfig(object): class CLanguage(object): - def __init__(self, make_target): + def __init__(self, make_target, test_lang): self.allow_hashing = True self.make_target = make_target + with open('tools/run_tests/tests.json') as f: + js = json.load(f) + self.binaries = [tgt['name'] + for tgt in js + if tgt['language'] == test_lang] def test_binaries(self, config): - return glob.glob('bins/%s/*_test' % config) + return ['bins/%s/%s' % (config, binary) for binary in self.binaries] def make_targets(self): return ['buildtests_%s' % self.make_target] @@ -85,8 +90,8 @@ _CONFIGS = { _DEFAULT = ['dbg', 'opt'] _LANGUAGES = { - 'c++': CLanguage('cxx'), - 'c': CLanguage('c'), + 'c++': CLanguage('cxx', 'c++'), + 'c': CLanguage('c', 'c'), 'php': PhpLanguage() } diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json new file mode 100644 index 00000000000..038fc8117a7 --- /dev/null +++ b/tools/run_tests/tests.json @@ -0,0 +1,805 @@ + + +[ + { + "language": "c", + "name": "grpc_byte_buffer_reader_test" + }, + { + "language": "c", + "name": "gpr_cancellable_test" + }, + { + "language": "c", + "name": "gpr_log_test" + }, + { + "language": "c", + "name": "gpr_useful_test" + }, + { + "language": "c", + "name": "gpr_cmdline_test" + }, + { + "language": "c", + "name": "gpr_histogram_test" + }, + { + "language": "c", + "name": "gpr_host_port_test" + }, + { + "language": "c", + "name": "gpr_slice_buffer_test" + }, + { + "language": "c", + "name": "gpr_slice_test" + }, + { + "language": "c", + "name": "gpr_string_test" + }, + { + "language": "c", + "name": "gpr_sync_test" + }, + { + "language": "c", + "name": "gpr_thd_test" + }, + { + "language": "c", + "name": "gpr_time_test" + }, + { + "language": "c", + "name": "murmur_hash_test" + }, + { + "language": "c", + "name": "grpc_stream_op_test" + }, + { + "language": "c", + "name": "alpn_test" + }, + { + "language": "c", + "name": "time_averaged_stats_test" + }, + { + "language": "c", + "name": "chttp2_stream_encoder_test" + }, + { + "language": "c", + "name": "hpack_table_test" + }, + { + "language": "c", + "name": "chttp2_stream_map_test" + }, + { + "language": "c", + "name": "hpack_parser_test" + }, + { + "language": "c", + "name": "transport_metadata_test" + }, + { + "language": "c", + "name": "chttp2_status_conversion_test" + }, + { + "language": "c", + "name": "chttp2_transport_end2end_test" + }, + { + "language": "c", + "name": "tcp_posix_test" + }, + { + "language": "c", + "name": "dualstack_socket_test" + }, + { + "language": "c", + "name": "no_server_test" + }, + { + "language": "c", + "name": "resolve_address_test" + }, + { + "language": "c", + "name": "sockaddr_utils_test" + }, + { + "language": "c", + "name": "tcp_server_posix_test" + }, + { + "language": "c", + "name": "tcp_client_posix_test" + }, + { + "language": "c", + "name": "grpc_channel_stack_test" + }, + { + "language": "c", + "name": "metadata_buffer_test" + }, + { + "language": "c", + "name": "grpc_completion_queue_test" + }, + { + "language": "c", + "name": "census_window_stats_test" + }, + { + "language": "c", + "name": "census_statistics_quick_test" + }, + { + "language": "c", + "name": "census_statistics_small_log_test" + }, + { + "language": "c", + "name": "census_statistics_performance_test" + }, + { + "language": "c", + "name": "census_statistics_multiple_writers_test" + }, + { + "language": "c", + "name": "census_statistics_multiple_writers_circular_buffer_test" + }, + { + "language": "c", + "name": "census_stub_test" + }, + { + "language": "c", + "name": "census_hash_table_test" + }, + { + "language": "c", + "name": "fling_test" + }, + { + "language": "c", + "name": "echo_test" + }, + { + "language": "c", + "name": "message_compress_test" + }, + { + "language": "c", + "name": "bin_encoder_test" + }, + { + "language": "c", + "name": "secure_endpoint_test" + }, + { + "language": "c", + "name": "httpcli_format_request_test" + }, + { + "language": "c", + "name": "httpcli_parser_test" + }, + { + "language": "c", + "name": "httpcli_test" + }, + { + "language": "c", + "name": "grpc_credentials_test" + }, + { + "language": "c", + "name": "grpc_base64_test" + }, + { + "language": "c", + "name": "grpc_json_token_test" + }, + { + "language": "c", + "name": "timeout_encoding_test" + }, + { + "language": "c", + "name": "fd_posix_test" + }, + { + "language": "c", + "name": "fling_stream_test" + }, + { + "language": "c", + "name": "lame_client_test" + }, + { + "language": "c++", + "name": "thread_pool_test" + }, + { + "language": "c++", + "name": "status_test" + }, + { + "language": "c++", + "name": "sync_client_async_server_test" + }, + { + "language": "c++", + "name": "end2end_test" + }, + { + "language": "c++", + "name": "channel_arguments_test" + }, + { + "language": "c++", + "name": "credentials_test" + }, + { + "language": "c", + "name": "alarm_test" + }, + { + "language": "c", + "name": "alarm_list_test" + }, + { + "language": "c", + "name": "alarm_heap_test" + }, + { + "language": "c", + "name": "time_test" + }, + { + "language": "c", + "name": "poll_kick_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_no_op_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_no_op_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_no_op_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_no_op_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test" + } +] +