thrift 0.22.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +235 -17
  3. data/benchmark/benchmark.rb +23 -8
  4. data/benchmark/client.rb +50 -6
  5. data/benchmark/server.rb +46 -7
  6. data/benchmark/thin_server.rb +2 -0
  7. data/ext/binary_protocol_accelerated.c +154 -42
  8. data/ext/bytes.c +14 -0
  9. data/ext/compact_protocol.c +138 -45
  10. data/ext/constants.h +12 -0
  11. data/ext/extconf.rb +17 -8
  12. data/ext/memory_buffer.c +44 -7
  13. data/ext/protocol.c +29 -0
  14. data/ext/protocol.h +35 -0
  15. data/ext/struct.c +48 -17
  16. data/ext/thrift_native.c +28 -3
  17. data/lib/thrift/bytes.rb +70 -100
  18. data/lib/thrift/client.rb +54 -13
  19. data/lib/thrift/exceptions.rb +6 -5
  20. data/lib/thrift/multiplexed_processor.rb +20 -10
  21. data/lib/thrift/processor.rb +7 -6
  22. data/lib/thrift/protocol/base_protocol.rb +52 -21
  23. data/lib/thrift/protocol/binary_protocol.rb +65 -20
  24. data/lib/thrift/protocol/binary_protocol_accelerated.rb +6 -5
  25. data/lib/thrift/protocol/compact_protocol.rb +76 -41
  26. data/lib/thrift/protocol/header_protocol.rb +321 -0
  27. data/lib/thrift/protocol/json_protocol.rb +44 -27
  28. data/lib/thrift/protocol/multiplexed_protocol.rb +6 -5
  29. data/lib/thrift/protocol/protocol_decorator.rb +13 -4
  30. data/lib/thrift/serializer/deserializer.rb +6 -5
  31. data/lib/thrift/serializer/serializer.rb +5 -5
  32. data/lib/thrift/server/base_server.rb +5 -4
  33. data/lib/thrift/server/mongrel_http_server.rb +7 -6
  34. data/lib/thrift/server/nonblocking_server.rb +35 -9
  35. data/lib/thrift/server/simple_server.rb +13 -5
  36. data/lib/thrift/server/thin_http_server.rb +4 -3
  37. data/lib/thrift/server/thread_pool_server.rb +7 -6
  38. data/lib/thrift/server/threaded_server.rb +13 -5
  39. data/lib/thrift/struct.rb +12 -11
  40. data/lib/thrift/struct_union.rb +14 -9
  41. data/lib/thrift/thrift_native.rb +3 -2
  42. data/lib/thrift/transport/base_server_transport.rb +8 -5
  43. data/lib/thrift/transport/base_transport.rb +18 -14
  44. data/lib/thrift/transport/buffered_transport.rb +7 -6
  45. data/lib/thrift/transport/framed_transport.rb +8 -7
  46. data/lib/thrift/transport/header_transport.rb +562 -0
  47. data/lib/thrift/transport/http_client_transport.rb +2 -1
  48. data/lib/thrift/transport/io_stream_transport.rb +4 -3
  49. data/lib/thrift/transport/memory_buffer_transport.rb +13 -6
  50. data/lib/thrift/transport/server_socket.rb +14 -8
  51. data/lib/thrift/transport/socket.rb +126 -60
  52. data/lib/thrift/transport/ssl_server_socket.rb +4 -3
  53. data/lib/thrift/transport/ssl_socket.rb +45 -13
  54. data/lib/thrift/transport/unix_server_socket.rb +9 -5
  55. data/lib/thrift/transport/unix_socket.rb +7 -6
  56. data/lib/thrift/types.rb +10 -6
  57. data/lib/thrift/union.rb +15 -8
  58. data/lib/thrift/uuid.rb +50 -0
  59. data/lib/thrift.rb +4 -1
  60. data/spec/ThriftSpec.thrift +21 -1
  61. data/spec/base_protocol_spec.rb +21 -2
  62. data/spec/base_transport_spec.rb +48 -8
  63. data/spec/binary_protocol_accelerated_spec.rb +1 -0
  64. data/spec/binary_protocol_spec.rb +1 -2
  65. data/spec/binary_protocol_spec_shared.rb +206 -155
  66. data/spec/bytes_spec.rb +71 -114
  67. data/spec/client_spec.rb +86 -19
  68. data/spec/compact_protocol_spec.rb +153 -16
  69. data/spec/constants_demo_spec.rb +102 -0
  70. data/spec/exception_spec.rb +1 -1
  71. data/spec/flat_spec.rb +1 -0
  72. data/spec/header_protocol_spec.rb +476 -0
  73. data/spec/header_transport_spec.rb +431 -0
  74. data/spec/http_client_spec.rb +5 -6
  75. data/spec/json_protocol_spec.rb +69 -47
  76. data/spec/multiplexed_processor_spec.rb +75 -0
  77. data/spec/namespaced_spec.rb +1 -1
  78. data/spec/nonblocking_server_spec.rb +174 -8
  79. data/spec/processor_spec.rb +1 -1
  80. data/spec/recursion_depth_spec.rb +223 -0
  81. data/spec/serializer_spec.rb +1 -1
  82. data/spec/server_socket_spec.rb +38 -1
  83. data/spec/server_spec.rb +60 -9
  84. data/spec/socket_spec.rb +119 -13
  85. data/spec/socket_spec_shared.rb +73 -9
  86. data/spec/spec_helper.rb +2 -1
  87. data/spec/ssl_server_socket_spec.rb +52 -1
  88. data/spec/ssl_socket_spec.rb +181 -11
  89. data/spec/struct_nested_containers_spec.rb +2 -2
  90. data/spec/struct_spec.rb +114 -9
  91. data/spec/support/header_protocol_helper.rb +55 -0
  92. data/spec/thin_http_server_spec.rb +4 -18
  93. data/spec/types_spec.rb +26 -26
  94. data/spec/union_spec.rb +70 -11
  95. data/spec/unix_socket_spec.rb +17 -2
  96. data/spec/uuid_validation_spec.rb +239 -0
  97. data/test/fuzz/Makefile +779 -0
  98. data/test/fuzz/Makefile.am +173 -0
  99. data/test/fuzz/Makefile.in +775 -0
  100. data/test/fuzz/README.md +149 -0
  101. data/test/fuzz/fuzz_common.rb +96 -0
  102. data/{lib/thrift/core_ext.rb → test/fuzz/fuzz_parse_binary_protocol.rb} +4 -4
  103. data/{lib/thrift/core_ext/fixnum.rb → test/fuzz/fuzz_parse_binary_protocol_accelerated.rb} +7 -13
  104. data/test/fuzz/fuzz_parse_binary_protocol_accelerated_harness.rb +23 -0
  105. data/test/fuzz/fuzz_parse_binary_protocol_harness.rb +23 -0
  106. data/test/fuzz/fuzz_parse_compact_protocol.rb +23 -0
  107. data/test/fuzz/fuzz_parse_compact_protocol_harness.rb +23 -0
  108. data/test/fuzz/fuzz_parse_json_protocol.rb +23 -0
  109. data/test/fuzz/fuzz_parse_json_protocol_harness.rb +23 -0
  110. data/test/fuzz/fuzz_roundtrip_binary_protocol.rb +23 -0
  111. data/test/fuzz/fuzz_roundtrip_binary_protocol_accelerated.rb +23 -0
  112. data/test/fuzz/fuzz_roundtrip_binary_protocol_accelerated_harness.rb +23 -0
  113. data/test/fuzz/fuzz_roundtrip_binary_protocol_harness.rb +23 -0
  114. data/test/fuzz/fuzz_roundtrip_compact_protocol.rb +23 -0
  115. data/test/fuzz/fuzz_roundtrip_compact_protocol_harness.rb +23 -0
  116. data/test/fuzz/fuzz_roundtrip_json_protocol.rb +23 -0
  117. data/test/fuzz/fuzz_roundtrip_json_protocol_harness.rb +23 -0
  118. data/test/fuzz/fuzz_tracer.rb +29 -0
  119. metadata +105 -70
@@ -0,0 +1,775 @@
1
+ # Makefile.in generated by automake 1.16.5 from Makefile.am.
2
+ # @configure_input@
3
+
4
+ # Copyright (C) 1994-2021 Free Software Foundation, Inc.
5
+
6
+ # This Makefile.in is free software; the Free Software Foundation
7
+ # gives unlimited permission to copy and/or distribute it,
8
+ # with or without modifications, as long as this notice is preserved.
9
+
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
+ # PARTICULAR PURPOSE.
14
+
15
+ @SET_MAKE@
16
+
17
+ #
18
+ # Licensed to the Apache Software Foundation (ASF) under one
19
+ # or more contributor license agreements. See the NOTICE file
20
+ # distributed with this work for additional information
21
+ # regarding copyright ownership. The ASF licenses this file
22
+ # to you under the Apache License, Version 2.0 (the
23
+ # "License"); you may not use this file except in compliance
24
+ # with the License. You may obtain a copy of the License at
25
+ #
26
+ # http://www.apache.org/licenses/LICENSE-2.0
27
+ #
28
+ # Unless required by applicable law or agreed to in writing,
29
+ # software distributed under the License is distributed on an
30
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
31
+ # KIND, either express or implied. See the License for the
32
+ # specific language governing permissions and limitations
33
+ # under the License.
34
+ #
35
+ VPATH = @srcdir@
36
+ am__is_gnu_make = { \
37
+ if test -z '$(MAKELEVEL)'; then \
38
+ false; \
39
+ elif test -n '$(MAKE_HOST)'; then \
40
+ true; \
41
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42
+ true; \
43
+ else \
44
+ false; \
45
+ fi; \
46
+ }
47
+ am__make_running_with_option = \
48
+ case $${target_option-} in \
49
+ ?) ;; \
50
+ *) echo "am__make_running_with_option: internal error: invalid" \
51
+ "target option '$${target_option-}' specified" >&2; \
52
+ exit 1;; \
53
+ esac; \
54
+ has_opt=no; \
55
+ sane_makeflags=$$MAKEFLAGS; \
56
+ if $(am__is_gnu_make); then \
57
+ sane_makeflags=$$MFLAGS; \
58
+ else \
59
+ case $$MAKEFLAGS in \
60
+ *\\[\ \ ]*) \
61
+ bs=\\; \
62
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64
+ esac; \
65
+ fi; \
66
+ skip_next=no; \
67
+ strip_trailopt () \
68
+ { \
69
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70
+ }; \
71
+ for flg in $$sane_makeflags; do \
72
+ test $$skip_next = yes && { skip_next=no; continue; }; \
73
+ case $$flg in \
74
+ *=*|--*) continue;; \
75
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
76
+ -*I?*) strip_trailopt 'I';; \
77
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
78
+ -*O?*) strip_trailopt 'O';; \
79
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
80
+ -*l?*) strip_trailopt 'l';; \
81
+ -[dEDm]) skip_next=yes;; \
82
+ -[JT]) skip_next=yes;; \
83
+ esac; \
84
+ case $$flg in \
85
+ *$$target_option*) has_opt=yes; break;; \
86
+ esac; \
87
+ done; \
88
+ test $$has_opt = yes
89
+ am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90
+ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91
+ pkgdatadir = $(datadir)/@PACKAGE@
92
+ pkgincludedir = $(includedir)/@PACKAGE@
93
+ pkglibdir = $(libdir)/@PACKAGE@
94
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
95
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96
+ install_sh_DATA = $(install_sh) -c -m 644
97
+ install_sh_PROGRAM = $(install_sh) -c
98
+ install_sh_SCRIPT = $(install_sh) -c
99
+ INSTALL_HEADER = $(INSTALL_DATA)
100
+ transform = $(program_transform_name)
101
+ NORMAL_INSTALL = :
102
+ PRE_INSTALL = :
103
+ POST_INSTALL = :
104
+ NORMAL_UNINSTALL = :
105
+ PRE_UNINSTALL = :
106
+ POST_UNINSTALL = :
107
+ build_triplet = @build@
108
+ host_triplet = @host@
109
+ subdir = lib/rb/test/fuzz
110
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
111
+ am__aclocal_m4_deps = $(top_srcdir)/aclocal/ac_prog_bison.m4 \
112
+ $(top_srcdir)/aclocal/ax_boost_base.m4 \
113
+ $(top_srcdir)/aclocal/ax_check_openssl.m4 \
114
+ $(top_srcdir)/aclocal/ax_compare_version.m4 \
115
+ $(top_srcdir)/aclocal/ax_cxx_compile_stdcxx.m4 \
116
+ $(top_srcdir)/aclocal/ax_cxx_compile_stdcxx_11.m4 \
117
+ $(top_srcdir)/aclocal/ax_dmd.m4 \
118
+ $(top_srcdir)/aclocal/ax_javac_and_java.m4 \
119
+ $(top_srcdir)/aclocal/ax_lib_event.m4 \
120
+ $(top_srcdir)/aclocal/ax_lib_zlib.m4 \
121
+ $(top_srcdir)/aclocal/ax_lua.m4 \
122
+ $(top_srcdir)/aclocal/ax_prog_dotnetcore_version.m4 \
123
+ $(top_srcdir)/aclocal/ax_prog_haxe_version.m4 \
124
+ $(top_srcdir)/aclocal/ax_prog_perl_modules.m4 \
125
+ $(top_srcdir)/aclocal/ax_signed_right_shift.m4 \
126
+ $(top_srcdir)/aclocal/ax_thrift_internal.m4 \
127
+ $(top_srcdir)/aclocal/libtool.m4 \
128
+ $(top_srcdir)/aclocal/ltoptions.m4 \
129
+ $(top_srcdir)/aclocal/ltsugar.m4 \
130
+ $(top_srcdir)/aclocal/ltversion.m4 \
131
+ $(top_srcdir)/aclocal/lt~obsolete.m4 \
132
+ $(top_srcdir)/aclocal/tar.m4 $(top_srcdir)/configure.ac
133
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
134
+ $(ACLOCAL_M4)
135
+ DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
136
+ mkinstalldirs = $(install_sh) -d
137
+ CONFIG_HEADER = $(top_builddir)/config.h \
138
+ $(top_builddir)/lib/cpp/src/thrift/config.h \
139
+ $(top_builddir)/lib/c_glib/src/thrift/config.h
140
+ CONFIG_CLEAN_FILES =
141
+ CONFIG_CLEAN_VPATH_FILES =
142
+ AM_V_P = $(am__v_P_@AM_V@)
143
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
144
+ am__v_P_0 = false
145
+ am__v_P_1 = :
146
+ AM_V_GEN = $(am__v_GEN_@AM_V@)
147
+ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
148
+ am__v_GEN_0 = @echo " GEN " $@;
149
+ am__v_GEN_1 =
150
+ AM_V_at = $(am__v_at_@AM_V@)
151
+ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
152
+ am__v_at_0 = @
153
+ am__v_at_1 =
154
+ SOURCES =
155
+ DIST_SOURCES =
156
+ am__can_run_installinfo = \
157
+ case $$AM_UPDATE_INFO_DIR in \
158
+ n|no|NO) false;; \
159
+ *) (install-info --version) >/dev/null 2>&1;; \
160
+ esac
161
+ am__extra_recursive_targets = style-recursive
162
+ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
163
+ am__DIST_COMMON = $(srcdir)/Makefile.in README.md
164
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
165
+ ACLOCAL = @ACLOCAL@
166
+ ALLOCA = @ALLOCA@
167
+ AMTAR = @AMTAR@
168
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
169
+ ANT = @ANT@
170
+ ANT_FLAGS = @ANT_FLAGS@
171
+ AR = @AR@
172
+ AUTOCONF = @AUTOCONF@
173
+ AUTOHEADER = @AUTOHEADER@
174
+ AUTOMAKE = @AUTOMAKE@
175
+ AWK = @AWK@
176
+ BISON = @BISON@
177
+ BOOST_CHRONO_LDADD = @BOOST_CHRONO_LDADD@
178
+ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
179
+ BOOST_FILESYSTEM_LDADD = @BOOST_FILESYSTEM_LDADD@
180
+ BOOST_LDFLAGS = @BOOST_LDFLAGS@
181
+ BOOST_LIB_DIR = @BOOST_LIB_DIR@
182
+ BOOST_SYSTEM_LDADD = @BOOST_SYSTEM_LDADD@
183
+ BOOST_TEST_LDADD = @BOOST_TEST_LDADD@
184
+ BOOST_THREAD_LDADD = @BOOST_THREAD_LDADD@
185
+ BUNDLER = @BUNDLER@
186
+ CARGO = @CARGO@
187
+ CC = @CC@
188
+ CCDEPMODE = @CCDEPMODE@
189
+ CFLAGS = @CFLAGS@
190
+ CLASSPATH = @CLASSPATH@
191
+ CPP = @CPP@
192
+ CPPFLAGS = @CPPFLAGS@
193
+ CPPSTYLE_CMD = @CPPSTYLE_CMD@
194
+ CSCOPE = @CSCOPE@
195
+ CTAGS = @CTAGS@
196
+ CXX = @CXX@
197
+ CXXCPP = @CXXCPP@
198
+ CXXDEPMODE = @CXXDEPMODE@
199
+ CXXFLAGS = @CXXFLAGS@
200
+ CYGPATH_W = @CYGPATH_W@
201
+ DART = @DART@
202
+ DARTPUB = @DARTPUB@
203
+ DEFS = @DEFS@
204
+ DEPDIR = @DEPDIR@
205
+ DLLTOOL = @DLLTOOL@
206
+ DMD = @DMD@
207
+ DMD_LIBEVENT_FLAGS = @DMD_LIBEVENT_FLAGS@
208
+ DMD_OF_DIRSEP = @DMD_OF_DIRSEP@
209
+ DMD_OPENSSL_FLAGS = @DMD_OPENSSL_FLAGS@
210
+ DOTNETCORE = @DOTNETCORE@
211
+ DOTNETCORE_VERSION = @DOTNETCORE_VERSION@
212
+ DSYMUTIL = @DSYMUTIL@
213
+ DUMPBIN = @DUMPBIN@
214
+ D_EVENT_LIB_NAME = @D_EVENT_LIB_NAME@
215
+ D_IMPORT_PREFIX = @D_IMPORT_PREFIX@
216
+ D_LIB_NAME = @D_LIB_NAME@
217
+ D_SSL_LIB_NAME = @D_SSL_LIB_NAME@
218
+ ECHO_C = @ECHO_C@
219
+ ECHO_N = @ECHO_N@
220
+ ECHO_T = @ECHO_T@
221
+ EGREP = @EGREP@
222
+ ENABLE_COVERAGE = @ENABLE_COVERAGE@
223
+ ERL = @ERL@
224
+ ERLANG_INSTALL_LIB_DIR = @ERLANG_INSTALL_LIB_DIR@
225
+ ERLANG_INSTALL_LIB_DIR_thrift = @ERLANG_INSTALL_LIB_DIR_thrift@
226
+ ERLANG_LIB_DIR = @ERLANG_LIB_DIR@
227
+ ERLC = @ERLC@
228
+ ERLCFLAGS = @ERLCFLAGS@
229
+ ETAGS = @ETAGS@
230
+ EXEEXT = @EXEEXT@
231
+ FGREP = @FGREP@
232
+ GCOV_CFLAGS = @GCOV_CFLAGS@
233
+ GCOV_CXXFLAGS = @GCOV_CXXFLAGS@
234
+ GCOV_LDFLAGS = @GCOV_LDFLAGS@
235
+ GLIB_CFLAGS = @GLIB_CFLAGS@
236
+ GLIB_LIBS = @GLIB_LIBS@
237
+ GO = @GO@
238
+ GOBJECT_CFLAGS = @GOBJECT_CFLAGS@
239
+ GOBJECT_LIBS = @GOBJECT_LIBS@
240
+ GRADLE = @GRADLE@
241
+ GRADLE_OPTS = @GRADLE_OPTS@
242
+ GREP = @GREP@
243
+ GSETTINGS = @GSETTINGS@
244
+ HAVE_CXX11 = @HAVE_CXX11@
245
+ HAXE = @HAXE@
246
+ HAXE_VERSION = @HAXE_VERSION@
247
+ INSTALL = @INSTALL@
248
+ INSTALLDIRS = @INSTALLDIRS@
249
+ INSTALL_DATA = @INSTALL_DATA@
250
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
251
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
252
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
253
+ JAVA_PREFIX = @JAVA_PREFIX@
254
+ LD = @LD@
255
+ LDFLAGS = @LDFLAGS@
256
+ LEX = @LEX@
257
+ LEXLIB = @LEXLIB@
258
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
259
+ LIBEVENT_CPPFLAGS = @LIBEVENT_CPPFLAGS@
260
+ LIBEVENT_LDFLAGS = @LIBEVENT_LDFLAGS@
261
+ LIBEVENT_LIBS = @LIBEVENT_LIBS@
262
+ LIBOBJS = @LIBOBJS@
263
+ LIBS = @LIBS@
264
+ LIBTOOL = @LIBTOOL@
265
+ LIPO = @LIPO@
266
+ LN_S = @LN_S@
267
+ LTLIBOBJS = @LTLIBOBJS@
268
+ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
269
+ LUA = @LUA@
270
+ LUA_EXEC_PREFIX = @LUA_EXEC_PREFIX@
271
+ LUA_INCLUDE = @LUA_INCLUDE@
272
+ LUA_LIB = @LUA_LIB@
273
+ LUA_PLATFORM = @LUA_PLATFORM@
274
+ LUA_PREFIX = @LUA_PREFIX@
275
+ LUA_SHORT_VERSION = @LUA_SHORT_VERSION@
276
+ LUA_VERSION = @LUA_VERSION@
277
+ MAKEINFO = @MAKEINFO@
278
+ MANIFEST_TOOL = @MANIFEST_TOOL@
279
+ MAYBE_CL = @MAYBE_CL@
280
+ MAYBE_CPP = @MAYBE_CPP@
281
+ MAYBE_C_GLIB = @MAYBE_C_GLIB@
282
+ MAYBE_D = @MAYBE_D@
283
+ MAYBE_DART = @MAYBE_DART@
284
+ MAYBE_ERLANG = @MAYBE_ERLANG@
285
+ MAYBE_GO = @MAYBE_GO@
286
+ MAYBE_JAVA = @MAYBE_JAVA@
287
+ MAYBE_KOTLIN = @MAYBE_KOTLIN@
288
+ MAYBE_LUA = @MAYBE_LUA@
289
+ MAYBE_NETSTD = @MAYBE_NETSTD@
290
+ MAYBE_NODEJS = @MAYBE_NODEJS@
291
+ MAYBE_NODETS = @MAYBE_NODETS@
292
+ MAYBE_PERL = @MAYBE_PERL@
293
+ MAYBE_PHP = @MAYBE_PHP@
294
+ MAYBE_PY3 = @MAYBE_PY3@
295
+ MAYBE_PYTHON = @MAYBE_PYTHON@
296
+ MAYBE_RS = @MAYBE_RS@
297
+ MAYBE_RUBY = @MAYBE_RUBY@
298
+ MKDIR_P = @MKDIR_P@
299
+ NM = @NM@
300
+ NMEDIT = @NMEDIT@
301
+ NODEJS = @NODEJS@
302
+ NODETS = @NODETS@
303
+ NPM = @NPM@
304
+ OBJDUMP = @OBJDUMP@
305
+ OBJEXT = @OBJEXT@
306
+ OPENSSL_INCLUDES = @OPENSSL_INCLUDES@
307
+ OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@
308
+ OPENSSL_LIBS = @OPENSSL_LIBS@
309
+ OTOOL = @OTOOL@
310
+ OTOOL64 = @OTOOL64@
311
+ PACKAGE = @PACKAGE@
312
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
313
+ PACKAGE_NAME = @PACKAGE_NAME@
314
+ PACKAGE_STRING = @PACKAGE_STRING@
315
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
316
+ PACKAGE_URL = @PACKAGE_URL@
317
+ PACKAGE_VERSION = @PACKAGE_VERSION@
318
+ PATH_SEPARATOR = @PATH_SEPARATOR@
319
+ PERL = @PERL@
320
+ PERL_PREFIX = @PERL_PREFIX@
321
+ PHP = @PHP@
322
+ PHP_CONFIG = @PHP_CONFIG@
323
+ PHP_CONFIG_PREFIX = @PHP_CONFIG_PREFIX@
324
+ PHP_PREFIX = @PHP_PREFIX@
325
+ PKG_CONFIG = @PKG_CONFIG@
326
+ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
327
+ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
328
+ PYTHON = @PYTHON@
329
+ PYTHON3 = @PYTHON3@
330
+ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
331
+ PYTHON_PLATFORM = @PYTHON_PLATFORM@
332
+ PYTHON_PREFIX = @PYTHON_PREFIX@
333
+ PYTHON_VERSION = @PYTHON_VERSION@
334
+ PY_PREFIX = @PY_PREFIX@
335
+ QT5_CFLAGS = @QT5_CFLAGS@
336
+ QT5_LIBS = @QT5_LIBS@
337
+ QT5_MOC = @QT5_MOC@
338
+ RANLIB = @RANLIB@
339
+ REBAR = @REBAR@
340
+ RUBY = @RUBY@
341
+ RUBY_PREFIX = @RUBY_PREFIX@
342
+ RUSTC = @RUSTC@
343
+ SBCL = @SBCL@
344
+ SED = @SED@
345
+ SET_MAKE = @SET_MAKE@
346
+ SHELL = @SHELL@
347
+ STRIP = @STRIP@
348
+ THRIFT = $(top_builddir)/compiler/cpp/thrift
349
+ TRIAL = @TRIAL@
350
+ VERSION = @VERSION@
351
+ YACC = @YACC@
352
+ YFLAGS = @YFLAGS@
353
+ ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
354
+ ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
355
+ ZLIB_LIBS = @ZLIB_LIBS@
356
+ abs_builddir = @abs_builddir@
357
+ abs_srcdir = @abs_srcdir@
358
+ abs_top_builddir = @abs_top_builddir@
359
+ abs_top_srcdir = @abs_top_srcdir@
360
+ ac_ct_AR = @ac_ct_AR@
361
+ ac_ct_CC = @ac_ct_CC@
362
+ ac_ct_CXX = @ac_ct_CXX@
363
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
364
+ am__include = @am__include@
365
+ am__leading_dot = @am__leading_dot@
366
+ am__quote = @am__quote@
367
+ am__tar = @am__tar@
368
+ am__untar = @am__untar@
369
+ bindir = @bindir@
370
+ build = @build@
371
+ build_alias = @build_alias@
372
+ build_cpu = @build_cpu@
373
+ build_os = @build_os@
374
+ build_vendor = @build_vendor@
375
+ builddir = @builddir@
376
+ datadir = @datadir@
377
+ datarootdir = @datarootdir@
378
+ docdir = @docdir@
379
+ dvidir = @dvidir@
380
+ exec_prefix = @exec_prefix@
381
+ golang_version = @golang_version@
382
+ have_prog_bison = @have_prog_bison@
383
+ host = @host@
384
+ host_alias = @host_alias@
385
+ host_cpu = @host_cpu@
386
+ host_os = @host_os@
387
+ host_vendor = @host_vendor@
388
+ htmldir = @htmldir@
389
+ includedir = @includedir@
390
+ infodir = @infodir@
391
+ install_sh = @install_sh@
392
+ libdir = @libdir@
393
+ libexecdir = @libexecdir@
394
+ localedir = @localedir@
395
+ localstatedir = @localstatedir@
396
+ luadir = @luadir@
397
+ luaexecdir = @luaexecdir@
398
+ mandir = @mandir@
399
+ mkdir_p = @mkdir_p@
400
+ oldincludedir = @oldincludedir@
401
+ pdfdir = @pdfdir@
402
+ pkgluadir = @pkgluadir@
403
+ pkgluaexecdir = @pkgluaexecdir@
404
+ pkgpyexecdir = @pkgpyexecdir@
405
+ pkgpythondir = @pkgpythondir@
406
+ prefix = @prefix@
407
+ program_transform_name = @program_transform_name@
408
+ psdir = @psdir@
409
+ pyexecdir = @pyexecdir@
410
+ pythondir = @pythondir@
411
+ runstatedir = @runstatedir@
412
+ rustc_version = @rustc_version@
413
+ sbindir = @sbindir@
414
+ sharedstatedir = @sharedstatedir@
415
+ srcdir = @srcdir@
416
+ subdirs = @subdirs@
417
+ sysconfdir = @sysconfdir@
418
+ target_alias = @target_alias@
419
+ top_build_prefix = @top_build_prefix@
420
+ top_builddir = @top_builddir@
421
+ top_srcdir = @top_srcdir@
422
+ FUZZ_RB_ROOT = $(top_srcdir)/lib/rb
423
+ FUZZ_GEN_DIR = $(FUZZ_RB_ROOT)/test/fuzz
424
+ FUZZ_STUBS = \
425
+ $(FUZZ_GEN_DIR)/gen-rb/fuzz_test_constants.rb \
426
+ $(FUZZ_GEN_DIR)/gen-rb/fuzz_test_types.rb
427
+
428
+ FUZZ_RUBY_FILES = \
429
+ $(srcdir)/fuzz_tracer.rb \
430
+ $(srcdir)/fuzz_common.rb \
431
+ $(srcdir)/fuzz_parse_binary_protocol.rb \
432
+ $(srcdir)/fuzz_parse_binary_protocol_harness.rb \
433
+ $(srcdir)/fuzz_parse_binary_protocol_accelerated.rb \
434
+ $(srcdir)/fuzz_parse_binary_protocol_accelerated_harness.rb \
435
+ $(srcdir)/fuzz_parse_compact_protocol.rb \
436
+ $(srcdir)/fuzz_parse_compact_protocol_harness.rb \
437
+ $(srcdir)/fuzz_parse_json_protocol.rb \
438
+ $(srcdir)/fuzz_parse_json_protocol_harness.rb \
439
+ $(srcdir)/fuzz_roundtrip_binary_protocol.rb \
440
+ $(srcdir)/fuzz_roundtrip_binary_protocol_harness.rb \
441
+ $(srcdir)/fuzz_roundtrip_binary_protocol_accelerated.rb \
442
+ $(srcdir)/fuzz_roundtrip_binary_protocol_accelerated_harness.rb \
443
+ $(srcdir)/fuzz_roundtrip_compact_protocol.rb \
444
+ $(srcdir)/fuzz_roundtrip_compact_protocol_harness.rb \
445
+ $(srcdir)/fuzz_roundtrip_json_protocol.rb \
446
+ $(srcdir)/fuzz_roundtrip_json_protocol_harness.rb
447
+
448
+ EXTRA_DIST = \
449
+ .gitignore \
450
+ README.md \
451
+ fuzz_common.rb \
452
+ fuzz_tracer.rb \
453
+ fuzz_parse_binary_protocol.rb \
454
+ fuzz_parse_binary_protocol_harness.rb \
455
+ fuzz_parse_binary_protocol_accelerated.rb \
456
+ fuzz_parse_binary_protocol_accelerated_harness.rb \
457
+ fuzz_parse_compact_protocol.rb \
458
+ fuzz_parse_compact_protocol_harness.rb \
459
+ fuzz_parse_json_protocol.rb \
460
+ fuzz_parse_json_protocol_harness.rb \
461
+ fuzz_roundtrip_binary_protocol.rb \
462
+ fuzz_roundtrip_binary_protocol_harness.rb \
463
+ fuzz_roundtrip_binary_protocol_accelerated.rb \
464
+ fuzz_roundtrip_binary_protocol_accelerated_harness.rb \
465
+ fuzz_roundtrip_compact_protocol.rb \
466
+ fuzz_roundtrip_compact_protocol_harness.rb \
467
+ fuzz_roundtrip_json_protocol.rb \
468
+ fuzz_roundtrip_json_protocol_harness.rb
469
+
470
+ all: all-am
471
+
472
+ .SUFFIXES:
473
+ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
474
+ @for dep in $?; do \
475
+ case '$(am__configure_deps)' in \
476
+ *$$dep*) \
477
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
478
+ && { if test -f $@; then exit 0; else break; fi; }; \
479
+ exit 1;; \
480
+ esac; \
481
+ done; \
482
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/rb/test/fuzz/Makefile'; \
483
+ $(am__cd) $(top_srcdir) && \
484
+ $(AUTOMAKE) --foreign lib/rb/test/fuzz/Makefile
485
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
486
+ @case '$?' in \
487
+ *config.status*) \
488
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
489
+ *) \
490
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
491
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
492
+ esac;
493
+
494
+ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
495
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
496
+
497
+ $(top_srcdir)/configure: $(am__configure_deps)
498
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
499
+ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
500
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
501
+ $(am__aclocal_m4_deps):
502
+
503
+ mostlyclean-libtool:
504
+ -rm -f *.lo
505
+
506
+ clean-libtool:
507
+ -rm -rf .libs _libs
508
+ style-local:
509
+ tags TAGS:
510
+
511
+ ctags CTAGS:
512
+
513
+ cscope cscopelist:
514
+
515
+
516
+ distdir-am: $(DISTFILES)
517
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
518
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
519
+ list='$(DISTFILES)'; \
520
+ dist_files=`for file in $$list; do echo $$file; done | \
521
+ sed -e "s|^$$srcdirstrip/||;t" \
522
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
523
+ case $$dist_files in \
524
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
525
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
526
+ sort -u` ;; \
527
+ esac; \
528
+ for file in $$dist_files; do \
529
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
530
+ if test -d $$d/$$file; then \
531
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
532
+ if test -d "$(distdir)/$$file"; then \
533
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
534
+ fi; \
535
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
536
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
537
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
538
+ fi; \
539
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
540
+ else \
541
+ test -f "$(distdir)/$$file" \
542
+ || cp -p $$d/$$file "$(distdir)/$$file" \
543
+ || exit 1; \
544
+ fi; \
545
+ done
546
+ check-am: all-am
547
+ check: check-am
548
+ all-am: Makefile
549
+ installdirs:
550
+ install: install-am
551
+ install-exec: install-exec-am
552
+ install-data: install-data-am
553
+ uninstall: uninstall-am
554
+
555
+ install-am: all-am
556
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
557
+
558
+ installcheck: installcheck-am
559
+ install-strip:
560
+ if test -z '$(STRIP)'; then \
561
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
562
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
563
+ install; \
564
+ else \
565
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
566
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
567
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
568
+ fi
569
+ mostlyclean-generic:
570
+
571
+ clean-generic:
572
+
573
+ distclean-generic:
574
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
575
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
576
+
577
+ maintainer-clean-generic:
578
+ @echo "This command is intended for maintainers to use"
579
+ @echo "it deletes files that may require special tools to rebuild."
580
+ clean: clean-am
581
+
582
+ clean-am: clean-generic clean-libtool clean-local mostlyclean-am
583
+
584
+ distclean: distclean-am
585
+ -rm -f Makefile
586
+ distclean-am: clean-am distclean-generic
587
+
588
+ dvi: dvi-am
589
+
590
+ dvi-am:
591
+
592
+ html: html-am
593
+
594
+ html-am:
595
+
596
+ info: info-am
597
+
598
+ info-am:
599
+
600
+ install-data-am:
601
+
602
+ install-dvi: install-dvi-am
603
+
604
+ install-dvi-am:
605
+
606
+ install-exec-am:
607
+
608
+ install-html: install-html-am
609
+
610
+ install-html-am:
611
+
612
+ install-info: install-info-am
613
+
614
+ install-info-am:
615
+
616
+ install-man:
617
+
618
+ install-pdf: install-pdf-am
619
+
620
+ install-pdf-am:
621
+
622
+ install-ps: install-ps-am
623
+
624
+ install-ps-am:
625
+
626
+ installcheck-am:
627
+
628
+ maintainer-clean: maintainer-clean-am
629
+ -rm -f Makefile
630
+ maintainer-clean-am: distclean-am maintainer-clean-generic
631
+
632
+ mostlyclean: mostlyclean-am
633
+
634
+ mostlyclean-am: mostlyclean-generic mostlyclean-libtool
635
+
636
+ pdf: pdf-am
637
+
638
+ pdf-am:
639
+
640
+ ps: ps-am
641
+
642
+ ps-am:
643
+
644
+ style: style-am
645
+
646
+ style-am: style-local
647
+
648
+ uninstall-am:
649
+
650
+ .MAKE: install-am install-strip
651
+
652
+ .PHONY: all all-am check check-am clean clean-generic clean-libtool \
653
+ clean-local cscopelist-am ctags-am distclean distclean-generic \
654
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
655
+ install install-am install-data install-data-am install-dvi \
656
+ install-dvi-am install-exec install-exec-am install-html \
657
+ install-html-am install-info install-info-am install-man \
658
+ install-pdf install-pdf-am install-ps install-ps-am \
659
+ install-strip installcheck installcheck-am installdirs \
660
+ maintainer-clean maintainer-clean-generic mostlyclean \
661
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
662
+ style-am style-local tags-am uninstall uninstall-am
663
+
664
+ .PRECIOUS: Makefile
665
+
666
+
667
+ FUZZ_ASAN_OPTIONS ?= allocator_may_return_null=1:detect_leaks=0:use_sigaltstack=0
668
+ FUZZ_CC ?= clang
669
+ FUZZ_CXX ?= clang++
670
+ FUZZ_LDSHARED ?= $(FUZZ_CC) -shared
671
+ FUZZ_LDSHAREDXX ?= $(FUZZ_CXX) -shared
672
+ FUZZ_CFLAGS ?= -fsanitize=address,fuzzer-no-link -fno-omit-frame-pointer -fno-common -fPIC -g
673
+ FUZZ_CXXFLAGS ?= -fsanitize=address,fuzzer-no-link -fno-omit-frame-pointer -fno-common -fPIC -g
674
+ FUZZ_MAKE ?= make
675
+ FUZZ_MAKEFLAGS ?= --environment-overrides V=1
676
+
677
+ check: fuzz-prepare
678
+
679
+ fuzz-prepare: $(FUZZ_STUBS)
680
+ @for script in $(FUZZ_RUBY_FILES); do \
681
+ $(RUBY) -c $$script; \
682
+ done
683
+ cd $(FUZZ_RB_ROOT) && \
684
+ RUBYLIB="lib:test/fuzz/gen-rb" $(RUBY) -e 'require "thrift"; require "fuzz_test_types"; abort("Fuzz::FuzzTest is missing") unless defined?(Fuzz::FuzzTest)'
685
+
686
+ $(THRIFT):
687
+ $(MAKE) -C $(top_builddir)/compiler/cpp all
688
+
689
+ $(FUZZ_STUBS): $(top_srcdir)/test/FuzzTest.thrift $(THRIFT)
690
+ $(MKDIR_P) $(FUZZ_GEN_DIR)
691
+ $(THRIFT) --gen rb -o $(FUZZ_GEN_DIR) $(top_srcdir)/test/FuzzTest.thrift
692
+
693
+ fuzz-build-ext:
694
+ cd $(FUZZ_RB_ROOT)/ext && \
695
+ env MAKE="$(FUZZ_MAKE) $(FUZZ_MAKEFLAGS)" \
696
+ CC="$(FUZZ_CC)" \
697
+ CXX="$(FUZZ_CXX)" \
698
+ LDSHARED="$(FUZZ_LDSHARED)" \
699
+ LDSHAREDXX="$(FUZZ_LDSHAREDXX)" \
700
+ CFLAGS="$(FUZZ_CFLAGS)" \
701
+ CXXFLAGS="$(FUZZ_CXXFLAGS)" \
702
+ $(RUBY) extconf.rb && \
703
+ env MAKE="$(FUZZ_MAKE) $(FUZZ_MAKEFLAGS)" \
704
+ CC="$(FUZZ_CC)" \
705
+ CXX="$(FUZZ_CXX)" \
706
+ LDSHARED="$(FUZZ_LDSHARED)" \
707
+ LDSHAREDXX="$(FUZZ_LDSHAREDXX)" \
708
+ CFLAGS="$(FUZZ_CFLAGS)" \
709
+ CXXFLAGS="$(FUZZ_CXXFLAGS)" \
710
+ $(FUZZ_MAKE) $(FUZZ_MAKEFLAGS) clean all
711
+
712
+ fuzz-run: fuzz-prepare
713
+ @test -n "$(TARGET)" || { echo 'Set TARGET=<fuzz script name>'; exit 1; }
714
+ cd $(FUZZ_RB_ROOT) && \
715
+ ASAN_OPTIONS="$(FUZZ_ASAN_OPTIONS)" \
716
+ LD_PRELOAD=$$($(RUBY) -e 'require "ruzzy"; print Ruzzy::ASAN_PATH') \
717
+ $(RUBY) test/fuzz/$(TARGET) $(CORPUS) $(FUZZ_ARGS)
718
+
719
+ fuzz-parse-binary:
720
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-run TARGET=fuzz_parse_binary_protocol.rb CORPUS="$(CORPUS)" FUZZ_ARGS="$(FUZZ_ARGS)"
721
+
722
+ fuzz-parse-binary-accelerated: fuzz-build-ext
723
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-run TARGET=fuzz_parse_binary_protocol_accelerated.rb CORPUS="$(CORPUS)" FUZZ_ARGS="$(FUZZ_ARGS)"
724
+
725
+ fuzz-parse-compact:
726
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-run TARGET=fuzz_parse_compact_protocol.rb CORPUS="$(CORPUS)" FUZZ_ARGS="$(FUZZ_ARGS)"
727
+
728
+ fuzz-parse-json:
729
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-run TARGET=fuzz_parse_json_protocol.rb CORPUS="$(CORPUS)" FUZZ_ARGS="$(FUZZ_ARGS)"
730
+
731
+ fuzz-roundtrip-binary:
732
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-run TARGET=fuzz_roundtrip_binary_protocol.rb CORPUS="$(CORPUS)" FUZZ_ARGS="$(FUZZ_ARGS)"
733
+
734
+ fuzz-roundtrip-binary-accelerated: fuzz-build-ext
735
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-run TARGET=fuzz_roundtrip_binary_protocol_accelerated.rb CORPUS="$(CORPUS)" FUZZ_ARGS="$(FUZZ_ARGS)"
736
+
737
+ fuzz-roundtrip-compact:
738
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-run TARGET=fuzz_roundtrip_compact_protocol.rb CORPUS="$(CORPUS)" FUZZ_ARGS="$(FUZZ_ARGS)"
739
+
740
+ fuzz-roundtrip-json:
741
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-run TARGET=fuzz_roundtrip_json_protocol.rb CORPUS="$(CORPUS)" FUZZ_ARGS="$(FUZZ_ARGS)"
742
+
743
+ fuzz-smoke-parse-binary:
744
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-parse-binary CORPUS="$(CORPUS)" FUZZ_ARGS="-runs=100 $(FUZZ_ARGS)"
745
+
746
+ fuzz-smoke-parse-binary-accelerated:
747
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-parse-binary-accelerated CORPUS="$(CORPUS)" FUZZ_ARGS="-runs=100 $(FUZZ_ARGS)"
748
+
749
+ fuzz-smoke-parse-compact:
750
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-parse-compact CORPUS="$(CORPUS)" FUZZ_ARGS="-runs=100 $(FUZZ_ARGS)"
751
+
752
+ fuzz-smoke-parse-json:
753
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-parse-json CORPUS="$(CORPUS)" FUZZ_ARGS="-runs=100 $(FUZZ_ARGS)"
754
+
755
+ fuzz-smoke-roundtrip-binary:
756
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-roundtrip-binary CORPUS="$(CORPUS)" FUZZ_ARGS="-runs=100 $(FUZZ_ARGS)"
757
+
758
+ fuzz-smoke-roundtrip-binary-accelerated:
759
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-roundtrip-binary-accelerated CORPUS="$(CORPUS)" FUZZ_ARGS="-runs=100 $(FUZZ_ARGS)"
760
+
761
+ fuzz-smoke-roundtrip-compact:
762
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-roundtrip-compact CORPUS="$(CORPUS)" FUZZ_ARGS="-runs=100 $(FUZZ_ARGS)"
763
+
764
+ fuzz-smoke-roundtrip-json:
765
+ $(MAKE) $(AM_MAKEFLAGS) fuzz-roundtrip-json CORPUS="$(CORPUS)" FUZZ_ARGS="-runs=100 $(FUZZ_ARGS)"
766
+
767
+ clean-local:
768
+ -$(RM) -r $(FUZZ_GEN_DIR)/gen-rb
769
+
770
+ distdir:
771
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
772
+
773
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
774
+ # Otherwise a system limit (for SysV at least) may be exceeded.
775
+ .NOEXPORT: