From: Sarah Hoffmann Date: Tue, 2 Aug 2016 20:42:20 +0000 (+0200) Subject: Merge pull request #497 from lonvia/forbid-execution-from-sourcedir X-Git-Tag: v3.0.0~148 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/88d623b6319c4be9068f018390ad9e18b6eac3ad?hp=496d6bf168c1e454a7c292ac5222fca6cc4fc15e Merge pull request #497 from lonvia/forbid-execution-from-sourcedir fail on execution of util scripts from source directory --- diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..5a3adc28 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,24 @@ +--- +language: + - 'python' +sudo: required +dist: trusty +before_install: + - git submodule update --init --recursive +install: + - vagrant/install-on-travis-ci.sh +before_script: + - cd $TRAVIS_BUILD_DIR/build + - wget --no-verbose --output-document=../data/monaco.osm.pbf http://download.geofabrik.de/europe/monaco-latest.osm.pbf + - ./utils/setup.php --osm-file ../data/monaco.osm.pbf --osm2pgsql-cache 1000 --all 2>&1 | grep -v 'ETA (seconds)' + - ./utils/specialphrases.php --countries > ../data/specialphrases_countries.sql + - psql -d nominatim -f ../data/specialphrases_countries.sql +script: + - cd $TRAVIS_BUILD_DIR/tests-php + - phpunit ./ + - cd $TRAVIS_BUILD_DIR/tests + - #lettuce features/api --verbosity=1 + - lettuce features/db --verbosity=1 -t -Fail -t -RiverRhein -t -Tiger -t -poldi-only + - lettuce features/osm2pgsql --verbosity=1 -t -Fail +notifications: + email: false diff --git a/tests/features/db/import/linking.feature b/tests/features/db/import/linking.feature index 299087ae..57621700 100644 --- a/tests/features/db/import/linking.feature +++ b/tests/features/db/import/linking.feature @@ -16,6 +16,7 @@ Feature: Linking of places | R13 | None | N256 | None + @RiverRhein Scenario: Waterways are linked when in waterway relations Given the scene split-road And the place ways @@ -39,6 +40,7 @@ Feature: Linking of places | osm_type | R + @RiverRhein Scenario: Relations are not linked when in waterway relations Given the scene split-road And the place ways @@ -58,6 +60,7 @@ Feature: Linking of places | R1 | None | R2 | None + @RiverRhein Scenario: Empty waterway relations are handled correctly Given the scene split-road And the place ways @@ -71,6 +74,7 @@ Feature: Linking of places | object | linked_place_id | R1 | None + @RiverRhein Scenario: Waterways are not linked when waterway types don't match Given the scene split-road And the place ways @@ -91,6 +95,7 @@ Feature: Linking of places | 0 | R | 1 | W + @RiverRhein Scenario: Side streams are linked only when they have the same name Given the scene split-road And the place ways diff --git a/vagrant/install-on-travis-ci.sh b/vagrant/install-on-travis-ci.sh new file mode 100755 index 00000000..0bbf1cd4 --- /dev/null +++ b/vagrant/install-on-travis-ci.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +# This script runs in a travis-ci.org (or .com) virtual machine +# https://docs.travis-ci.com/user/trusty-ci-environment/ +# Ubuntu 14 (trusty) +# user 'travis' +# $TRAVIS_BUILD_DIR is /home/travis/build/twain47/Nominatim/, for more see +# https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables +# Postgres 9.2 installed and started. role 'travis' already superuser +# Python 2.7.10, pip 7.1.2 + +# Travis has a 4 MB, 10000 line output limit, so where possible we supress +# output from installation scripts +# Travis strips color from the output + +sudo service postgresql stop + +sudo apt-get update -qq +sudo apt-get install -y -qq libboost-dev libboost-system-dev \ + libboost-filesystem-dev libexpat1-dev zlib1g-dev libxml2-dev\ + libbz2-dev libpq-dev libgeos-c1 libgeos++-dev libproj-dev \ + postgresql-server-dev-9.3 postgresql-9.3-postgis-2.1 postgresql-contrib-9.3 \ + apache2 php5 php5-pgsql php-pear php-db + +sudo apt-get install -y -qq python-Levenshtein python-shapely \ + python-psycopg2 tidy python-nose python-tidylib \ + phpunit + +sudo -H pip install --quiet 'setuptools>=23.0.0' lettuce==0.2.18 'six>=1.9' haversine + +sudo service postgresql restart +sudo -u postgres createuser -S www-data + +# Make sure that system servers can read from the home directory: +chmod a+x $HOME +chmod a+x $TRAVIS_BUILD_DIR + + +sudo tee /etc/apache2/conf-available/nominatim.conf << EOFAPACHECONF > /dev/null + + Options FollowSymLinks MultiViews + AddType text/html .php + Require all granted + + + Alias /nominatim $TRAVIS_BUILD_DIR/build/website +EOFAPACHECONF + + +sudo a2enconf nominatim +sudo service apache2 restart + + +mkdir build +cd build +cmake $TRAVIS_BUILD_DIR +make + + +tee settings/local.php << EOF +