blob: e51ab80af9e23aed4a8b6d536436319741d11148 [file] [log] [blame]
Brian Silverman9c614bc2016-02-15 20:20:02 -05001## Process this file with automake to produce Makefile.in
2
3conformance_protoc_inputs = \
Austin Schuh40c16522018-10-28 20:27:54 -07004 conformance.proto \
5 $(top_srcdir)/src/google/protobuf/test_messages_proto3.proto
6
7# proto2 input files, should be separated with proto3, as we
8# can't generate proto2 files for ruby, php and objc
9conformance_proto2_protoc_inputs = \
10 $(top_srcdir)/src/google/protobuf/test_messages_proto2.proto
Brian Silverman9c614bc2016-02-15 20:20:02 -050011
12well_known_type_protoc_inputs = \
13 $(top_srcdir)/src/google/protobuf/any.proto \
14 $(top_srcdir)/src/google/protobuf/duration.proto \
15 $(top_srcdir)/src/google/protobuf/field_mask.proto \
16 $(top_srcdir)/src/google/protobuf/struct.proto \
17 $(top_srcdir)/src/google/protobuf/timestamp.proto \
18 $(top_srcdir)/src/google/protobuf/wrappers.proto
19
20
21protoc_outputs = \
22 conformance.pb.cc \
23 conformance.pb.h
24
25other_language_protoc_outputs = \
Brian Silverman9c614bc2016-02-15 20:20:02 -050026 conformance_pb2.py \
27 Conformance.pbobjc.h \
Austin Schuh40c16522018-10-28 20:27:54 -070028 Conformance.pbobjc.m \
29 conformance_pb.js \
30 conformance_pb.rb \
31 com/google/protobuf/Any.java \
32 com/google/protobuf/AnyOrBuilder.java \
33 com/google/protobuf/AnyProto.java \
34 com/google/protobuf/BoolValue.java \
35 com/google/protobuf/BoolValueOrBuilder.java \
36 com/google/protobuf/BytesValue.java \
37 com/google/protobuf/BytesValueOrBuilder.java \
38 com/google/protobuf/conformance/Conformance.java \
39 com/google/protobuf/DoubleValue.java \
40 com/google/protobuf/DoubleValueOrBuilder.java \
41 com/google/protobuf/Duration.java \
42 com/google/protobuf/DurationOrBuilder.java \
43 com/google/protobuf/DurationProto.java \
44 com/google/protobuf/FieldMask.java \
45 com/google/protobuf/FieldMaskOrBuilder.java \
46 com/google/protobuf/FieldMaskProto.java \
47 com/google/protobuf/FloatValue.java \
48 com/google/protobuf/FloatValueOrBuilder.java \
49 com/google/protobuf/Int32Value.java \
50 com/google/protobuf/Int32ValueOrBuilder.java \
51 com/google/protobuf/Int64Value.java \
52 com/google/protobuf/Int64ValueOrBuilder.java \
53 com/google/protobuf/ListValue.java \
54 com/google/protobuf/ListValueOrBuilder.java \
55 com/google/protobuf/NullValue.java \
56 com/google/protobuf/StringValue.java \
57 com/google/protobuf/StringValueOrBuilder.java \
58 com/google/protobuf/Struct.java \
59 com/google/protobuf/StructOrBuilder.java \
60 com/google/protobuf/StructProto.java \
61 com/google/protobuf/Timestamp.java \
62 com/google/protobuf/TimestampOrBuilder.java \
63 com/google/protobuf/TimestampProto.java \
64 com/google/protobuf/UInt32Value.java \
65 com/google/protobuf/UInt32ValueOrBuilder.java \
66 com/google/protobuf/UInt64Value.java \
67 com/google/protobuf/UInt64ValueOrBuilder.java \
68 com/google/protobuf/Value.java \
69 com/google/protobuf/ValueOrBuilder.java \
70 com/google/protobuf/WrappersProto.java \
71 com/google/protobuf_test_messages/proto3/TestMessagesProto3.java \
72 com/google/protobuf_test_messages/proto2/TestMessagesProto2.java \
73 google/protobuf/any.pb.cc \
74 google/protobuf/any.pb.h \
75 google/protobuf/any.rb \
76 google/protobuf/any_pb2.py \
77 google/protobuf/duration.pb.cc \
78 google/protobuf/duration.pb.h \
79 google/protobuf/duration.rb \
80 google/protobuf/duration_pb2.py \
81 google/protobuf/field_mask.pb.cc \
82 google/protobuf/field_mask.pb.h \
83 google/protobuf/field_mask.rb \
84 google/protobuf/field_mask_pb2.py \
85 google/protobuf/struct.pb.cc \
86 google/protobuf/struct.pb.h \
87 google/protobuf/struct.rb \
88 google/protobuf/struct_pb2.py \
89 google/protobuf/TestMessagesProto2.pbobjc.h \
90 google/protobuf/TestMessagesProto2.pbobjc.m \
91 google/protobuf/TestMessagesProto3.pbobjc.h \
92 google/protobuf/TestMessagesProto3.pbobjc.m \
93 google/protobuf/test_messages_proto3.pb.cc \
94 google/protobuf/test_messages_proto3.pb.h \
95 google/protobuf/test_messages_proto2.pb.cc \
96 google/protobuf/test_messages_proto2.pb.h \
97 google/protobuf/test_messages_proto3_pb.rb \
98 google/protobuf/test_messages_proto3_pb2.py \
99 google/protobuf/test_messages_proto2_pb2.py \
100 google/protobuf/timestamp.pb.cc \
101 google/protobuf/timestamp.pb.h \
102 google/protobuf/timestamp.rb \
103 google/protobuf/timestamp_pb2.py \
104 google/protobuf/wrappers.pb.cc \
105 google/protobuf/wrappers.pb.h \
106 google/protobuf/wrappers.rb \
107 google/protobuf/wrappers_pb2.py \
108 Conformance/ConformanceRequest.php \
109 Conformance/ConformanceResponse.php \
110 Conformance/WireFormat.php \
111 GPBMetadata/Conformance.php \
112 GPBMetadata/Google/Protobuf/Any.php \
113 GPBMetadata/Google/Protobuf/Duration.php \
114 GPBMetadata/Google/Protobuf/FieldMask.php \
115 GPBMetadata/Google/Protobuf/Struct.php \
116 GPBMetadata/Google/Protobuf/TestMessagesProto3.php \
117 GPBMetadata/Google/Protobuf/Timestamp.php \
118 GPBMetadata/Google/Protobuf/Wrappers.php \
119 Google/Protobuf/Any.php \
120 Google/Protobuf/BoolValue.php \
121 Google/Protobuf/BytesValue.php \
122 Google/Protobuf/DoubleValue.php \
123 Google/Protobuf/Duration.php \
124 Google/Protobuf/FieldMask.php \
125 Google/Protobuf/FloatValue.php \
126 Google/Protobuf/Int32Value.php \
127 Google/Protobuf/Int64Value.php \
128 Google/Protobuf/ListValue.php \
129 Google/Protobuf/NullValue.php \
130 Google/Protobuf/StringValue.php \
131 Google/Protobuf/Struct.php \
132 Google/Protobuf/Timestamp.php \
133 Google/Protobuf/UInt32Value.php \
134 Google/Protobuf/UInt64Value.php \
135 Google/Protobuf/Value.php \
136 Protobuf_test_messages/Proto3/ForeignEnum.php \
137 Protobuf_test_messages/Proto3/ForeignMessage.php \
138 Protobuf_test_messages/Proto3/TestAllTypes_NestedEnum.php \
139 Protobuf_test_messages/Proto3/TestAllTypes_NestedMessage.php \
140 Protobuf_test_messages/Proto3/TestAllTypes.php
141 # lite/com/google/protobuf/Any.java \
142 # lite/com/google/protobuf/AnyOrBuilder.java \
143 # lite/com/google/protobuf/AnyProto.java \
144 # lite/com/google/protobuf/BoolValue.java \
145 # lite/com/google/protobuf/BoolValueOrBuilder.java \
146 # lite/com/google/protobuf/BytesValue.java \
147 # lite/com/google/protobuf/BytesValueOrBuilder.java \
148 # lite/com/google/protobuf/conformance/Conformance.java \
149 # lite/com/google/protobuf/DoubleValue.java \
150 # lite/com/google/protobuf/DoubleValueOrBuilder.java \
151 # lite/com/google/protobuf/Duration.java \
152 # lite/com/google/protobuf/DurationOrBuilder.java \
153 # lite/com/google/protobuf/DurationProto.java \
154 # lite/com/google/protobuf/FieldMask.java \
155 # lite/com/google/protobuf/FieldMaskOrBuilder.java \
156 # lite/com/google/protobuf/FieldMaskProto.java \
157 # lite/com/google/protobuf/FloatValue.java \
158 # lite/com/google/protobuf/FloatValueOrBuilder.java \
159 # lite/com/google/protobuf/Int32Value.java \
160 # lite/com/google/protobuf/Int32ValueOrBuilder.java \
161 # lite/com/google/protobuf/Int64Value.java \
162 # lite/com/google/protobuf/Int64ValueOrBuilder.java \
163 # lite/com/google/protobuf/ListValue.java \
164 # lite/com/google/protobuf/ListValueOrBuilder.java \
165 # lite/com/google/protobuf/NullValue.java \
166 # lite/com/google/protobuf/StringValue.java \
167 # lite/com/google/protobuf/StringValueOrBuilder.java \
168 # lite/com/google/protobuf/Struct.java \
169 # lite/com/google/protobuf/StructOrBuilder.java \
170 # lite/com/google/protobuf/StructProto.java \
171 # lite/com/google/protobuf/Timestamp.java \
172 # lite/com/google/protobuf/TimestampOrBuilder.java \
173 # lite/com/google/protobuf/TimestampProto.java \
174 # lite/com/google/protobuf/UInt32Value.java \
175 # lite/com/google/protobuf/UInt32ValueOrBuilder.java \
176 # lite/com/google/protobuf/UInt64Value.java \
177 # lite/com/google/protobuf/UInt64ValueOrBuilder.java \
178 # lite/com/google/protobuf/Value.java \
179 # lite/com/google/protobuf/ValueOrBuilder.java \
180 # lite/com/google/protobuf/WrappersProto.java
Brian Silverman9c614bc2016-02-15 20:20:02 -0500181
182bin_PROGRAMS = conformance-test-runner conformance-cpp
183
184# All source files excepet C++/Objective-C ones should be explicitly listed
185# here because the autoconf tools don't include files of other languages
186# automatically.
187EXTRA_DIST = \
188 ConformanceJava.java \
Austin Schuh40c16522018-10-28 20:27:54 -0700189 ConformanceJavaLite.java \
Brian Silverman9c614bc2016-02-15 20:20:02 -0500190 README.md \
191 conformance.proto \
192 conformance_python.py \
193 conformance_ruby.rb \
Austin Schuh40c16522018-10-28 20:27:54 -0700194 conformance_php.php \
Brian Silverman9c614bc2016-02-15 20:20:02 -0500195 failure_list_cpp.txt \
196 failure_list_csharp.txt \
197 failure_list_java.txt \
Austin Schuh40c16522018-10-28 20:27:54 -0700198 failure_list_js.txt \
Brian Silverman9c614bc2016-02-15 20:20:02 -0500199 failure_list_objc.txt \
200 failure_list_python.txt \
201 failure_list_python_cpp.txt \
202 failure_list_python-post26.txt \
Austin Schuh40c16522018-10-28 20:27:54 -0700203 failure_list_ruby.txt \
204 failure_list_php.txt \
205 failure_list_php_c.txt
Brian Silverman9c614bc2016-02-15 20:20:02 -0500206
207conformance_test_runner_LDADD = $(top_srcdir)/src/libprotobuf.la
208conformance_test_runner_SOURCES = conformance_test.h conformance_test.cc \
209 conformance_test_runner.cc \
210 third_party/jsoncpp/json.h \
211 third_party/jsoncpp/jsoncpp.cpp
Austin Schuh40c16522018-10-28 20:27:54 -0700212nodist_conformance_test_runner_SOURCES = conformance.pb.cc google/protobuf/test_messages_proto3.pb.cc google/protobuf/test_messages_proto2.pb.cc
Brian Silverman9c614bc2016-02-15 20:20:02 -0500213conformance_test_runner_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir)
214conformance_test_runner_CXXFLAGS = -std=c++11
215# Explicit deps beacuse BUILT_SOURCES are only done before a "make all/check"
216# so a direct "make test_cpp" could fail if parallel enough.
217conformance_test_runner-conformance_test.$(OBJEXT): conformance.pb.h
218conformance_test_runner-conformance_test_runner.$(OBJEXT): conformance.pb.h
219
220conformance_cpp_LDADD = $(top_srcdir)/src/libprotobuf.la
221conformance_cpp_SOURCES = conformance_cpp.cc
Austin Schuh40c16522018-10-28 20:27:54 -0700222nodist_conformance_cpp_SOURCES = conformance.pb.cc google/protobuf/test_messages_proto3.pb.cc google/protobuf/test_messages_proto2.pb.cc
Brian Silverman9c614bc2016-02-15 20:20:02 -0500223conformance_cpp_CPPFLAGS = -I$(top_srcdir)/src
224# Explicit dep beacuse BUILT_SOURCES are only done before a "make all/check"
225# so a direct "make test_cpp" could fail if parallel enough.
226conformance_cpp-conformance_cpp.$(OBJEXT): conformance.pb.h
227
228if OBJC_CONFORMANCE_TEST
229
230bin_PROGRAMS += conformance-objc
231
232conformance_objc_SOURCES = conformance_objc.m ../objectivec/GPBProtocolBuffers.m
Austin Schuh40c16522018-10-28 20:27:54 -0700233nodist_conformance_objc_SOURCES = Conformance.pbobjc.m google/protobuf/TestMessagesProto2.pbobjc.m google/protobuf/TestMessagesProto3.pbobjc.m
Brian Silverman9c614bc2016-02-15 20:20:02 -0500234# On travis, the build fails without the isysroot because whatever system
235# headers are being found don't include generics support for
236# NSArray/NSDictionary, the only guess is their image at one time had an odd
237# setup for Xcode and old frameworks are being found.
238conformance_objc_CPPFLAGS = -I$(top_srcdir)/objectivec -isysroot `xcrun --sdk macosx --show-sdk-path`
239conformance_objc_LDFLAGS = -framework Foundation
240# Explicit dep beacuse BUILT_SOURCES are only done before a "make all/check"
241# so a direct "make test_objc" could fail if parallel enough.
Austin Schuh40c16522018-10-28 20:27:54 -0700242conformance_objc-conformance_objc.$(OBJEXT): Conformance.pbobjc.h google/protobuf/TestMessagesProto2.pbobjc.h google/protobuf/TestMessagesProto3.pbobjc.h
Brian Silverman9c614bc2016-02-15 20:20:02 -0500243
244endif
245
Austin Schuh40c16522018-10-28 20:27:54 -0700246# JavaScript well-known types are expected to be in a directory called
247# google-protobuf, because they are usually in the google-protobuf npm
248# package. But we want to use the sources from our tree, so we recreate
249# that directory structure here.
250google-protobuf:
251 mkdir google-protobuf
252
Brian Silverman9c614bc2016-02-15 20:20:02 -0500253if USE_EXTERNAL_PROTOC
254
255# Some implementations include pre-generated versions of well-known types.
Austin Schuh40c16522018-10-28 20:27:54 -0700256protoc_middleman: $(conformance_protoc_inputs) $(conformance_proto2_protoc_inputs) $(well_known_type_protoc_inputs) google-protobuf
257 $(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. --java_out=. --ruby_out=. --objc_out=. --python_out=. --php_out=. --js_out=import_style=commonjs,binary:. $(conformance_protoc_inputs)
258 $(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. --java_out=. --objc_out=. --python_out=. --js_out=import_style=commonjs,binary:. $(conformance_proto2_protoc_inputs)
259 $(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. --java_out=. --ruby_out=. --python_out=. --js_out=import_style=commonjs,binary:google-protobuf $(well_known_type_protoc_inputs)
260 ## $(PROTOC) -I$(srcdir) -I$(top_srcdir) --java_out=lite:lite $(conformance_protoc_inputs) $(well_known_type_protoc_inputs)
Brian Silverman9c614bc2016-02-15 20:20:02 -0500261 touch protoc_middleman
262
263else
264
265# We have to cd to $(srcdir) before executing protoc because $(protoc_inputs) is
266# relative to srcdir, which may not be the same as the current directory when
267# building out-of-tree.
Austin Schuh40c16522018-10-28 20:27:54 -0700268protoc_middleman: $(top_srcdir)/src/protoc$(EXEEXT) $(conformance_protoc_inputs) $(conformance_proto2_protoc_inputs) $(well_known_type_protoc_inputs) google-protobuf
269 oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd --java_out=$$oldpwd --ruby_out=$$oldpwd --objc_out=$$oldpwd --python_out=$$oldpwd --php_out=$$oldpwd --js_out=import_style=commonjs,binary:$$oldpwd $(conformance_protoc_inputs) )
270 oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd --java_out=$$oldpwd --objc_out=. --python_out=$$oldpwd --js_out=import_style=commonjs,binary:$$oldpwd $(conformance_proto2_protoc_inputs) )
271 oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd --java_out=$$oldpwd --ruby_out=$$oldpwd --python_out=$$oldpwd --js_out=import_style=commonjs,binary:$$oldpwd/google-protobuf $(well_known_type_protoc_inputs) )
272 ## @mkdir -p lite
273 ## oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --java_out=lite:$$oldpwd/lite $(conformance_protoc_inputs) $(well_known_type_protoc_inputs) )
Brian Silverman9c614bc2016-02-15 20:20:02 -0500274 touch protoc_middleman
275
276endif
277
278$(protoc_outputs): protoc_middleman
279
280$(other_language_protoc_outputs): protoc_middleman
281
Austin Schuh40c16522018-10-28 20:27:54 -0700282CLEANFILES = $(protoc_outputs) protoc_middleman javac_middleman conformance-java javac_middleman_lite conformance-java-lite conformance-csharp conformance-php conformance-php-c $(other_language_protoc_outputs)
Brian Silverman9c614bc2016-02-15 20:20:02 -0500283
284MAINTAINERCLEANFILES = \
285 Makefile.in
286
287javac_middleman: ConformanceJava.java protoc_middleman $(other_language_protoc_outputs)
Austin Schuh40c16522018-10-28 20:27:54 -0700288 jar=`ls ../java/util/target/*jar-with-dependencies.jar` && javac -classpath ../java/target/classes:$$jar ConformanceJava.java com/google/protobuf/conformance/Conformance.java com/google/protobuf_test_messages/proto3/TestMessagesProto3.java com/google/protobuf_test_messages/proto2/TestMessagesProto2.java
Brian Silverman9c614bc2016-02-15 20:20:02 -0500289 @touch javac_middleman
290
291conformance-java: javac_middleman
292 @echo "Writing shortcut script conformance-java..."
293 @echo '#! /bin/sh' > conformance-java
294 @jar=`ls ../java/util/target/*jar-with-dependencies.jar` && echo java -classpath .:../java/target/classes:$$jar ConformanceJava '$$@' >> conformance-java
295 @chmod +x conformance-java
296
Austin Schuh40c16522018-10-28 20:27:54 -0700297javac_middleman_lite: ConformanceJavaLite.java protoc_middleman $(other_language_protoc_outputs)
298 javac -classpath ../java/lite/target/classes:lite ConformanceJavaLite.java lite/com/google/protobuf/conformance/Conformance.java
299 @touch javac_middleman_lite
300
301conformance-java-lite: javac_middleman_lite
302 @echo "Writing shortcut script conformance-java-lite..."
303 @echo '#! /bin/sh' > conformance-java-lite
304 @echo java -classpath .:../java/lite/target/classes:lite ConformanceJavaLite '$$@' >> conformance-java-lite
305 @chmod +x conformance-java-lite
306
Brian Silverman9c614bc2016-02-15 20:20:02 -0500307# Currently the conformance code is alongside the rest of the C#
308# source, as it's easier to maintain there. We assume we've already
309# built that, so we just need a script to run it.
310conformance-csharp: $(other_language_protoc_outputs)
311 @echo "Writing shortcut script conformance-csharp..."
312 @echo '#! /bin/sh' > conformance-csharp
Austin Schuh40c16522018-10-28 20:27:54 -0700313 @echo 'dotnet ../csharp/src/Google.Protobuf.Conformance/bin/Release/netcoreapp1.0/Google.Protobuf.Conformance.dll "$$@"' >> conformance-csharp
Brian Silverman9c614bc2016-02-15 20:20:02 -0500314 @chmod +x conformance-csharp
315
Austin Schuh40c16522018-10-28 20:27:54 -0700316conformance-php:
317 @echo "Writing shortcut script conformance-php..."
318 @echo '#! /bin/sh' > conformance-php
319 @echo 'php -d auto_prepend_file=autoload.php ./conformance_php.php' >> conformance-php
320 @chmod +x conformance-php
321
322conformance-php-c:
323 @echo "Writing shortcut script conformance-php-c..."
324 @echo '#! /bin/sh' > conformance-php-c
325 @echo 'php -dextension=../php/ext/google/protobuf/modules/protobuf.so ./conformance_php.php' >> conformance-php-c
326 @chmod +x conformance-php-c
327
Brian Silverman9c614bc2016-02-15 20:20:02 -0500328# Targets for actually running tests.
329test_cpp: protoc_middleman conformance-test-runner conformance-cpp
Austin Schuh40c16522018-10-28 20:27:54 -0700330 ./conformance-test-runner --enforce_recommended --failure_list failure_list_cpp.txt ./conformance-cpp
Brian Silverman9c614bc2016-02-15 20:20:02 -0500331
332test_java: protoc_middleman conformance-test-runner conformance-java
Austin Schuh40c16522018-10-28 20:27:54 -0700333 ./conformance-test-runner --enforce_recommended --failure_list failure_list_java.txt ./conformance-java
334
335test_java_lite: protoc_middleman conformance-test-runner conformance-java-lite
336 ./conformance-test-runner --enforce_recommended ./conformance-java-lite
Brian Silverman9c614bc2016-02-15 20:20:02 -0500337
338test_csharp: protoc_middleman conformance-test-runner conformance-csharp
Austin Schuh40c16522018-10-28 20:27:54 -0700339 ./conformance-test-runner --enforce_recommended --failure_list failure_list_csharp.txt ./conformance-csharp
Brian Silverman9c614bc2016-02-15 20:20:02 -0500340
341test_ruby: protoc_middleman conformance-test-runner $(other_language_protoc_outputs)
Austin Schuh40c16522018-10-28 20:27:54 -0700342 RUBYLIB=../ruby/lib:. ./conformance-test-runner --enforce_recommended --failure_list failure_list_ruby.txt ./conformance_ruby.rb
343
344test_php: protoc_middleman conformance-test-runner conformance-php $(other_language_protoc_outputs)
345 ./conformance-test-runner --enforce_recommended --failure_list failure_list_php.txt ./conformance-php
346
347test_php_c: protoc_middleman conformance-test-runner conformance-php-c $(other_language_protoc_outputs)
348 ./conformance-test-runner --enforce_recommended --failure_list failure_list_php_c.txt ./conformance-php-c
349
350test_php_zts_c: protoc_middleman conformance-test-runner conformance-php-c $(other_language_protoc_outputs)
351 ./conformance-test-runner --enforce_recommended --failure_list failure_list_php_zts_c.txt ./conformance-php-c
Brian Silverman9c614bc2016-02-15 20:20:02 -0500352
353# These depend on library paths being properly set up. The easiest way to
354# run them is to just use "tox" from the python dir.
355test_python: protoc_middleman conformance-test-runner
Austin Schuh40c16522018-10-28 20:27:54 -0700356 ./conformance-test-runner --enforce_recommended --failure_list failure_list_python.txt ./conformance_python.py
Brian Silverman9c614bc2016-02-15 20:20:02 -0500357
358test_python_cpp: protoc_middleman conformance-test-runner
Austin Schuh40c16522018-10-28 20:27:54 -0700359 ./conformance-test-runner --enforce_recommended --failure_list failure_list_python_cpp.txt ./conformance_python.py
360
361test_nodejs: protoc_middleman conformance-test-runner $(other_language_protoc_outputs)
362 NODE_PATH=../js:. ./conformance-test-runner --enforce_recommended --failure_list failure_list_js.txt ./conformance_nodejs.js
Brian Silverman9c614bc2016-02-15 20:20:02 -0500363
364if OBJC_CONFORMANCE_TEST
365
366test_objc: protoc_middleman conformance-test-runner conformance-objc
Austin Schuh40c16522018-10-28 20:27:54 -0700367 ./conformance-test-runner --enforce_recommended --failure_list failure_list_objc.txt ./conformance-objc
Brian Silverman9c614bc2016-02-15 20:20:02 -0500368
369endif