diff --git a/.travis.yml b/.travis.yml index 89ab3d92..879837d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ matrix: # debug+leak+address-sanitizer build - os: linux compiler: clang - env: CLANG_VERSION='3.8.0' BUILDTYPE=Debug ASAN_OPTIONS=detect_leaks=1 CC="clang-3.8" CXX="clang++-3.8" CXXFLAGS="-fsanitize=address" CFLAGS="-fsanitize=address" LDFLAGS="-fsanitize=address" + env: CLANG_VERSION='3.8.0' BUILDTYPE=Debug ASAN_OPTIONS=detect_leaks=1 CC="clang-3.8" CXX="clang++-3.8" CXXFLAGS="-fsanitize=address" CFLAGS="-fsanitize=address" LDFLAGS="-fsanitize=address" FEWER=true addons: apt: sources: ['ubuntu-toolchain-r-test' ] @@ -71,7 +71,10 @@ install: script: - npm install geobuf - - BUILDTYPE=${BUILDTYPE} make test geobuf-test + - if [ -n "${FEWER}" ]; then + BUILDTYPE=${BUILDTYPE} make fewer-tests; else + BUILDTYPE=${BUILDTYPE} make test geobuf-test; + fi - if [ -n "${COVERAGE}" ]; then /usr/bin/llvm-cov-3.5 -lp *.o; pip install --user cpp-coveralls; diff --git a/Makefile b/Makefile index b265fa59..b4b2773d 100644 --- a/Makefile +++ b/Makefile @@ -93,6 +93,9 @@ test: tippecanoe tippecanoe-decode $(addsuffix .check,$(TESTS)) raw-tiles-test p geobuf-test: geojson2nd $(addsuffix .checkbuf,$(TESTS)) +# For quicker address sanitizer build, hope that regular JSON parsing is tested enough by parallel and join tests +fewer-tests: tippecanoe tippecanoe-decode geobuf-test raw-tiles-test parallel-test pbf-test join-test enumerate-test decode-test join-filter-test unit + # XXX Use proper makefile rules instead of a for loop %.json.checkbuf: for i in $(wildcard $(subst $(SPACE),/,$(wordlist 1,2,$(subst /, ,$@)))/*.json); do ./geojson2nd -w $$i | ./node_modules/geobuf/bin/json2geobuf > $$i.geobuf; done @@ -217,7 +220,7 @@ join-filter-test: ./tippecanoe -z0 -f -o tests/feature-filter/out/all.mbtiles tests/feature-filter/in.json ./tile-join -J tests/feature-filter/filter -f -o tests/feature-filter/out/filtered.mbtiles tests/feature-filter/out/all.mbtiles ./tippecanoe-decode tests/feature-filter/out/filtered.mbtiles > tests/feature-filter/out/filtered.json.check - cmp tests/feature-filter/out/filtered.json.check tests/feature-filter/out/filtered.json + cmp tests/feature-filter/out/filtered.json.check tests/feature-filter/out/filtered.json.standard rm -f tests/feature-filter/out/filtered.json.check tests/feature-filter/out/filtered.mbtiles tests/feature-filter/out/all.mbtiles # Use this target to regenerate the standards that the tests are compared against diff --git a/tests/feature-filter/out/filtered.json b/tests/feature-filter/out/filtered.json.standard similarity index 100% rename from tests/feature-filter/out/filtered.json rename to tests/feature-filter/out/filtered.json.standard