b6defa7c11
The tests are run from Travis in the same way as on other platforms. Currently some expected failures - but only expected in that they're what we got to start with. Will try to fix them in other pull requests.
79 lines
3.1 KiB
Makefile
79 lines
3.1 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
|
|
protoc_inputs = \
|
|
conformance.proto
|
|
|
|
protoc_outputs = \
|
|
conformance.pb.cc \
|
|
conformance.pb.h
|
|
|
|
bin_PROGRAMS = conformance-test-runner conformance-cpp
|
|
|
|
conformance_test_runner_LDADD = $(top_srcdir)/src/libprotobuf.la
|
|
conformance_test_runner_SOURCES = conformance_test.cc conformance_test_runner.cc
|
|
nodist_conformance_test_runner_SOURCES = conformance.pb.cc
|
|
conformance_test_runner_CPPFLAGS = -I$(top_srcdir)/src
|
|
|
|
conformance_cpp_LDADD = $(top_srcdir)/src/libprotobuf.la
|
|
conformance_cpp_SOURCES = conformance_cpp.cc
|
|
nodist_conformance_cpp_SOURCES = conformance.pb.cc
|
|
conformance_cpp_CPPFLAGS = -I$(top_srcdir)/src
|
|
|
|
if USE_EXTERNAL_PROTOC
|
|
|
|
protoc_middleman: $(protoc_inputs)
|
|
$(PROTOC) -I$(srcdir) --cpp_out=. --java_out=. --ruby_out=. $^
|
|
touch protoc_middleman
|
|
|
|
else
|
|
|
|
# We have to cd to $(srcdir) before executing protoc because $(protoc_inputs) is
|
|
# relative to srcdir, which may not be the same as the current directory when
|
|
# building out-of-tree.
|
|
protoc_middleman: $(top_srcdir)/src/protoc$(EXEEXT) $(protoc_inputs)
|
|
oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. --cpp_out=$$oldpwd --java_out=$$oldpwd --ruby_out=$$oldpwd $(protoc_inputs) )
|
|
touch protoc_middleman
|
|
|
|
endif
|
|
|
|
$(protoc_outputs): protoc_middleman
|
|
|
|
BUILT_SOURCES = $(protoc_outputs)
|
|
|
|
CLEANFILES = $(protoc_outputs) protoc_middleman javac_middleman conformance-java conformance-csharp
|
|
|
|
MAINTAINERCLEANFILES = \
|
|
Makefile.in
|
|
|
|
javac_middleman: ConformanceJava.java protoc_middleman
|
|
javac -classpath ../java/target/classes ConformanceJava.java com/google/protobuf/conformance/Conformance.java
|
|
@touch javac_middleman
|
|
|
|
conformance-java: javac_middleman
|
|
@echo "Writing shortcut script conformance-java..."
|
|
@echo '#! /bin/sh' > conformance-java
|
|
@echo 'java -classpath .:../java/target/classes ConformanceJava "$$@"' >> conformance-java
|
|
@chmod +x conformance-java
|
|
|
|
# Currently the conformance code is alongside the rest of the C#
|
|
# source, as it's easier to maintain there. We assume we've already
|
|
# built that, so we just need a script to run it.
|
|
conformance-csharp:
|
|
@echo "Writing shortcut script conformance-csharp..."
|
|
@echo '#! /bin/sh' > conformance-csharp
|
|
@echo 'mono ../csharp/src/Google.Protobuf.Conformance/bin/Release/Google.Protobuf.Conformance.exe "$$@"' >> conformance-csharp
|
|
@chmod +x conformance-csharp
|
|
|
|
# Targets for actually running tests.
|
|
test_cpp: protoc_middleman conformance-test-runner conformance-cpp
|
|
./conformance-test-runner --failure_list failure_list_cpp.txt ./conformance-cpp
|
|
|
|
test_java: protoc_middleman conformance-test-runner conformance-java
|
|
./conformance-test-runner ./conformance-java
|
|
|
|
test_csharp: protoc_middleman conformance-test-runner conformance-csharp
|
|
./conformance-test-runner --failure_list failure_list_csharp.txt ./conformance-csharp
|
|
|
|
test_ruby: protoc_middleman conformance-test-runner
|
|
RUBYLIB=../ruby/lib:. ./conformance-test-runner --failure_list failure_list_ruby.txt ./conformance_ruby.rb
|