aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/end2end/gen_build_json.py
blob: 95c9f9da885fa529eca0d9ffd0f11042fd7bf547 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#!/usr/bin/python2.7

"""Generates the appropriate build.json data for all the end2end tests."""


import simplejson

END2END_FIXTURES = [
    'chttp2_fake_security',
    'chttp2_fullstack',
    'chttp2_simple_ssl_fullstack',
    'chttp2_simple_ssl_with_oauth2_fullstack',
    'chttp2_socket_pair',
    'chttp2_socket_pair_one_byte_at_a_time',
]


END2END_TESTS = [
    'cancel_after_accept',
    'cancel_after_accept_and_writes_closed',
    'cancel_after_invoke',
    'cancel_before_invoke',
    'cancel_in_a_vacuum',
    'census_simple_request',
    'disappearing_server',
    'early_server_shutdown_finishes_inflight_calls',
    'early_server_shutdown_finishes_tags',
    'graceful_server_shutdown',
    'invoke_large_request',
    'max_concurrent_streams',
    'no_op',
    'ping_pong_streaming',
    'request_response_with_binary_metadata_and_payload',
    'request_response_with_metadata_and_payload',
    'request_response_with_metadata_and_payload',
    'request_response_with_payload',
    'request_with_large_metadata',
    'request_with_payload',
    'simple_delayed_request',
    'simple_request',
    'thread_stress',
    'writes_done_hangs_with_pending_read',

    'cancel_after_accept_legacy',
    'cancel_after_accept_and_writes_closed_legacy',
    'cancel_after_invoke_legacy',
    'cancel_before_invoke_legacy',
    'cancel_in_a_vacuum_legacy',
    'census_simple_request_legacy',
    'disappearing_server_legacy',
    'early_server_shutdown_finishes_inflight_calls_legacy',
    'early_server_shutdown_finishes_tags_legacy',
    'graceful_server_shutdown_legacy',
    'invoke_large_request_legacy',
    'max_concurrent_streams_legacy',
    'no_op_legacy',
    'ping_pong_streaming_legacy',
    'request_response_with_binary_metadata_and_payload_legacy',
    'request_response_with_metadata_and_payload_legacy',
    'request_response_with_payload_legacy',
    'request_response_with_trailing_metadata_and_payload_legacy',
    'request_with_large_metadata_legacy',
    'request_with_payload_legacy',
    'simple_delayed_request_legacy',
    'simple_request_legacy',
    'thread_stress_legacy',
    'writes_done_hangs_with_pending_read_legacy',
]


def main():
  json = {
      '#': 'generated with test/end2end/gen_build_json.py',
      'libs': [
          {
              'name': 'end2end_fixture_%s' % f,
              'build': 'private',
              'language': 'c',
              'secure': True,
              'src': ['test/core/end2end/fixtures/%s.c' % f]
          }
          for f in END2END_FIXTURES] + [
          {
              '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']
          }
          for t in END2END_TESTS] + [
          {
              'name': 'end2end_certs',
              'build': 'private',
              'language': 'c',
              'src': [
                  "test/core/end2end/data/test_root_cert.c",
                  "test/core/end2end/data/prod_roots_certs.c",
                  "test/core/end2end/data/server1_cert.c",
                  "test/core/end2end/data/server1_key.c"
              ]
          }
          ],
      'targets': [
          {
              'name': '%s_%s_test' % (f, t),
              'build': 'test',
              'language': 'c',
              'src': [],
              'deps': [
                  'end2end_fixture_%s' % f,
                  'end2end_test_%s' % t,
                  'end2end_certs',
                  'grpc_test_util',
                  'grpc',
                  'gpr_test_util',
                  'gpr'
              ]
          }
      for f in END2END_FIXTURES
      for t in END2END_TESTS]}
  print simplejson.dumps(json, sort_keys=True, indent=2 * ' ')


if __name__ == '__main__':
  main()