]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge pull request #497 from lonvia/forbid-execution-from-sourcedir
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 2 Aug 2016 20:42:20 +0000 (22:42 +0200)
committerGitHub <noreply@github.com>
Tue, 2 Aug 2016 20:42:20 +0000 (22:42 +0200)
fail on execution of util scripts from source directory

.travis.yml [new file with mode: 0644]
tests/features/db/import/linking.feature
vagrant/install-on-travis-ci.sh [new file with mode: 0755]

diff --git a/.travis.yml b/.travis.yml
new file mode 100644 (file)
index 0000000..5a3adc2
--- /dev/null
@@ -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
index 299087aef7e01fcbd93c6fe23317e7443440147a..576217007c6d2a0d4f8624dc0f480953444b425a 100644 (file)
@@ -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 (executable)
index 0000000..0bbf1cd
--- /dev/null
@@ -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
+    <Directory "$TRAVIS_BUILD_DIR/build/website">
+      Options FollowSymLinks MultiViews
+      AddType text/html   .php
+      Require all granted
+    </Directory>
+
+    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
+<?php
+ @define('CONST_Website_BaseURL', '/nominatim/');
+EOF
\ No newline at end of file