forked from protocolbuffers/protobuf
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add makefile for extended tests to be run before release.
- Loading branch information
1 parent
2113840
commit 7db148f
Showing
1 changed file
with
41 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Additional tests to run before releasing a package. | ||
# | ||
# Run like: | ||
# make PACKAGE=/path/to/protobuf-VERSION.tar.gz | ||
# | ||
# Some of these tests require tools or make assumptions that may not be | ||
# available on end-user machines, so these cannot be part of "make check". For | ||
# example, we test that the headers compile with strict warning settings, but | ||
# since different compilers produce wildly different warnings we cannot assume | ||
# that this test will pass everywhere. If we ran it as part of "make check", | ||
# it could unnecessarily block users from running the real tests just because | ||
# their compiler produces some extra warnings that probably aren't a big deal. | ||
# So we run it separately. | ||
|
||
all: header_warning_test | ||
|
||
clean: | ||
rm -rf src target header_warning_test.cc header_warning_test.o header_warning_test | ||
|
||
# Unpack the package into src, then install it into target. | ||
PACKAGE=protobuf.tar.gz | ||
|
||
src: $(PACKAGE) | ||
tar zxvf $(PACKAGE) | ||
mv `basename $(PACKAGE) .tar.gz` src | ||
|
||
target: src | ||
(cd src && ./configure --prefix=$$PWD/../target --disable-shared) | ||
(cd src && make -j4 check) | ||
(cd src && make install) | ||
|
||
# Verify that headers produce no warnings even under strict settings. | ||
header_warning_test.cc: target | ||
( (cd target/include && find google/protobuf -name '*.h') | \ | ||
awk '{print "#include \""$$1"\""} ' > header_warning_test.cc ) | ||
|
||
header_warning_test: header_warning_test.cc | ||
# TODO(kenton): Consider adding -pedantic and -Weffc++. Currently these | ||
# produce tons of extra warnings so we'll need to do some work first. | ||
g++ -Itarget/include -Wall -Werror -Wsign-compare -O2 -c header_warning_test.cc | ||
touch header_warning_test |