diff --git a/.travis.yml b/.travis.yml index 7866e5ab2..c001152f5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,12 +12,13 @@ matrix: os: linux sudo: false - - env: Ubu=12.04cont Cmd="make zlibwrapper && make clean && make -C tests test-zstd-nolegacy && make clean && make clean && make cmaketest && make clean && make -C contrib/pzstd googletest && make -C contrib/pzstd all && make -C contrib/pzstd check && make -C contrib/pzstd clean" + - env: Ubu=12.04cont Cmd="make zlibwrapper && make clean && make -C tests test-zstd-nolegacy && make clean && make clean && make cmaketest && make clean && make -C contrib/pzstd googletest pzstd tests check && make -C contrib/pzstd clean" os: linux sudo: false language: cpp install: - export CXX="g++-4.8" CC="gcc-4.8" + - export TESTFLAGS='--gtest_filter=-*ExtremelyLarge*' addons: apt: sources: @@ -25,11 +26,11 @@ matrix: packages: - gcc-4.8 - g++-4.8 - + - env: Ubu=12.04cont Cmd="make usan" os: linux sudo: false - + - env: Ubu=12.04cont Cmd="make asan" os: linux sudo: false @@ -39,7 +40,7 @@ matrix: - env: Ubu=12.04 Cmd="make -C programs zstd-small && make -C programs zstd-decompress && make -C programs zstd-compress && make -C programs clean && make -C tests versionsTest" os: linux sudo: required - + - env: Ubu=12.04 Cmd="make asan32" os: linux sudo: required @@ -50,7 +51,7 @@ matrix: packages: - libc6-dev-i386 - gcc-multilib - + - env: Ubu=12.04 Cmd='cd contrib/pzstd && make googletest && make tsan && make check && make clean && make asan && make check && make clean && cd ../..' os: linux sudo: required @@ -65,8 +66,8 @@ matrix: packages: - gcc-6 - g++-6 - - + + # Ubuntu 14.04 LTS Server Edition 64 bit - env: Ubu=14.04 Cmd="make armtest && make clean && make aarch64test" dist: trusty @@ -99,7 +100,7 @@ matrix: apt: packages: - valgrind - + - env: Ubu=14.04 Cmd="make gpptest && make clean && make gnu90test && make clean && make c99test && make clean && make gnu99test && make clean && make clangtest && make clean && make -C contrib/pzstd googletest32 && make -C contrib/pzstd all32 && make -C contrib/pzstd check && make -C contrib/pzstd clean" os: linux dist: trusty @@ -115,7 +116,7 @@ matrix: - gcc-4.8-multilib - g++-4.8 - g++-4.8-multilib - + - env: Ubu=14.04 Cmd="make -C tests test32" os: linux dist: trusty @@ -125,7 +126,7 @@ matrix: packages: - libc6-dev-i386 - gcc-multilib - + - env: Ubu=14.04 Cmd="make gcc5test && make clean && make gcc6test" os: linux dist: trusty diff --git a/appveyor.yml b/appveyor.yml index e131b2ca1..6c1e0bc2c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -51,7 +51,8 @@ build_script: ECHO *** Building pzstd for %PLATFORM% && ECHO *** && make -C contrib\pzstd googletest-mingw64 && - make -C contrib\pzstd all && + make -C contrib\pzstd pzstd.exe && + make -C contrib\pzstd tests && make -C contrib\pzstd check && make -C contrib\pzstd clean ) diff --git a/contrib/pzstd/Makefile b/contrib/pzstd/Makefile index ad0e55673..99d955e94 100644 --- a/contrib/pzstd/Makefile +++ b/contrib/pzstd/Makefile @@ -34,7 +34,7 @@ LDFLAGS ?= PZSTD_INC = -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(PROGDIR) -I. GTEST_INC = -isystem googletest/googletest/include -PZSTD_CPPFLAGS = $(PZSTD_INC) $(GTEST_INC) +PZSTD_CPPFLAGS = $(PZSTD_INC) PZSTD_CCXXFLAGS = PZSTD_CFLAGS = $(PZSTD_CCXXFLAGS) PZSTD_CXXFLAGS = $(PZSTD_CCXXFLAGS) @@ -47,10 +47,10 @@ ALL_LDFLAGS = $(EXTRA_FLAGS) $(LDFLAGS) $(PZSTD_LDFLAGS) # gtest libraries need to go before "-lpthread" because they depend on it. GTEST_LIB = -L googletest/build/googlemock/gtest -LIBS = $(GTEST_LIB) -lpthread +LIBS = # Compilation commands -LD_COMMAND = $(CXX) $^ $(ALL_LDFLAGS) $(LIBS) -o $@ +LD_COMMAND = $(CXX) $^ $(ALL_LDFLAGS) $(LIBS) -lpthread -o $@ CC_COMMAND = $(CC) $(DEPFLAGS) $(ALL_CFLAGS) -c $< -o $@ CXX_COMMAND = $(CXX) $(DEPFLAGS) $(ALL_CXXFLAGS) -c $< -o $@ @@ -109,7 +109,7 @@ uninstall: # Targets for many different builds .PHONY: all all: PZSTD_CPPFLAGS += -DNDEBUG -all: pzstd$(EXT) tests roundtrip +all: pzstd$(EXT) .PHONY: debug debug: EXTRA_FLAGS += -g @@ -130,7 +130,7 @@ ubsan: debug .PHONY: all32 all32: EXTRA_FLAGS += -m32 -all32: all +all32: all tests roundtrip .PHONY: debug32 debug32: EXTRA_FLAGS += -m32 @@ -177,12 +177,14 @@ test/RoundTripTest$(EXT): test/RoundTripTest.o $(PROGDIR)/datagen.o Options.o \ Pzstd.o SkippableFrame.o $(ZSTDDIR)/libzstd.a $(LD_COMMAND) -test/%Test$(EXT): GTEST_LIB += -lgtest -lgtest_main +test/%Test$(EXT): PZSTD_LDFLAGS += $(GTEST_LIB) +test/%Test$(EXT): LIBS += -lgtest -lgtest_main test/%Test$(EXT): test/%Test.o $(PROGDIR)/datagen.o Options.o Pzstd.o \ SkippableFrame.o $(ZSTDDIR)/libzstd.a $(LD_COMMAND) -utils/test/%Test$(EXT): GTEST_LIB += -lgtest -lgtest_main +utils/test/%Test$(EXT): PZSTD_LDFLAGS += $(GTEST_LIB) +utils/test/%Test$(EXT): LIBS += -lgtest -lgtest_main utils/test/%Test$(EXT): utils/test/%Test.o $(LD_COMMAND) @@ -233,10 +235,12 @@ $(PROGDIR)/%.o: $(PROGDIR)/%.c $(CXX_COMMAND) $(POSTCOMPILE) +test/%.o: PZSTD_CPPFLAGS += $(GTEST_INC) test/%.o: test/%.cpp $(CXX_COMMAND) $(POSTCOMPILE) +utils/test/%.o: PZSTD_CPPFLAGS += $(GTEST_INC) utils/test/%.o: utils/test/%.cpp $(CXX_COMMAND) $(POSTCOMPILE) diff --git a/contrib/pzstd/README.md b/contrib/pzstd/README.md index 3fe7b0b9d..84d945815 100644 --- a/contrib/pzstd/README.md +++ b/contrib/pzstd/README.md @@ -51,5 +51,6 @@ Pigz cannot do parallel decompression, it simply does each of reading, decompres ## Tests Tests require that you have [gtest](https://github.com/google/googletest) installed. -Modify `GTEST_INC` and `GTEST_LIB` in `test/Makefile` and `utils/test/Makefile` to work for your install of gtest. -Then run `make test` in the `contrib/pzstd` directory. +Set `GTEST_INC` and `GTEST_LIB` in `Makefile` to specify the location of the gtest headers and libraries. +Alternatively, run `make googletest`, which will clone googletest and build it. +Run `make tests && make check` to run tests.