Cleanup the topology regress dir Makefile. Have load_topology.sql generated to allow for specifying different SRIDs.

git-svn-id: http://svn.osgeo.org/postgis/trunk@6695 b70326c6-7e19-0410-871a-916f4a2858ee
This commit is contained in:
Sandro Santilli 2011-01-22 18:08:34 +00:00
parent 73bb371e4a
commit 14cbbbd617
2 changed files with 54 additions and 110 deletions

View file

@ -4,76 +4,20 @@ PSQL=psql
all:
@echo "Use 'make check' to run all tests"
# @echo "make initdb - create the regress database"
# @echo "make inittopo - create topology routines"
# @echo
# @echo "make load - load 'city_data' topology and feature tables"
# @echo "make loadmore - define more TopoGeoms from the topology"
# @echo "make validate - validate 'city_data' loaded topology"
# @echo
# @echo "make hier - define some hierarchical TopoGeoms"
# @echo
# @echo "make edit - test sqlmm editing functions"
# @echo
# @echo "make cache - create geom caches for features tables"
# @echo "make topopred - run predicates on topogeoms"
# @echo "make geompred - run predicates on geometries"
# @echo
# @echo "make invalid - create an invalid topology, and validate it"
# @echo "make sqlmm - test SQL/MM functions (exceptions are expected)"
# @echo
pred:
@make geompred | grep -v make > /tmp/geompred.out
@make topopred | grep -v make > /tmp/topopred.out
@diff /tmp/geompred.out /tmp/topopred.out
@diff /tmp/geompred.out predicate.expected
# TODO: make edit_topology.sql into a proper test
edit:
$(PSQL) -X -f edit_topology.sql $(DATABASE)
test: inittopo load loadmore hier cache pred invalid edit
initdb:
createdb $(DATABASE)
createlang plpgsql $(DATABASE)
$(PSQL) -X -f ../../postgis/postgis.sql $(DATABASE)
inittopo:
$(PSQL) -X -f ../topology.sql $(DATABASE)
load:
$(PSQL) -X -f load_topology.sql $(DATABASE)
loadmore:
$(PSQL) -X -f more_features.sql $(DATABASE)
hier:
$(PSQL) -X -f hierarchy.sql $(DATABASE)
validate:
$(PSQL) -X -f validate_topology.sql $(DATABASE)
cache:
$(PSQL) -X -f cache_geometries.sql $(DATABASE)
invalid:
$(PSQL) -X -f invalid_topology.sql $(DATABASE)
topopred: topo_predicates.sql
@$(PSQL) -X -tf topo_predicates.sql $(DATABASE)
geompred: geom_predicates.sql
@$(PSQL) -X -tf geom_predicates.sql $(DATABASE)
topo_predicates.sql: predicates.sql.in
@cpp -P -traditional-cpp predicates.sql.in | sed -e 's:@COLUMN@:feature:g;s:@SCHEMA@:topology.:g' > topo_predicates.sql
geom_predicates.sql: predicates.sql.in
@cpp -P -traditional-cpp predicates.sql.in | sed -e 's:@COLUMN@:the_geom:g;s:@SCHEMA@::g' > geom_predicates.sql
edit:
$(PSQL) -X -f edit_topology.sql $(DATABASE)
load_topology.sql: load_topology.sql.in
@cpp -P -traditional-cpp load_topology.sql.in | sed -e 's:@SRID@:-1:g' > load_topology.sql
clean distclean:
rm -f geom_predicates.sql topo_predicates.sql
rm -f topo_predicates.sql load_topology.sql
TESTS = regress/legacy_validate.sql regress/legacy_predicate.sql \
regress/legacy_invalid.sql regress/sqlmm.sql \
@ -84,6 +28,6 @@ TESTS = regress/legacy_validate.sql regress/legacy_predicate.sql \
regress/topoelementarray_agg.sql \
regress/droptopology.sql
check: topo_predicates.sql
check: topo_predicates.sql load_topology.sql
$(MAKE) -C ../../regress postgis.sql staged-install
@USE_VERSION=$(POSTGIS_PGSQL_VERSION) ../../regress/run_test --topology $(TESTS)

View file

@ -25,7 +25,7 @@ BEGIN;
-- topologies where created in the regress database
-- so we just check it's a number greater than 0
--
SELECT topology.CreateTopology('city_data') > 0;
SELECT topology.CreateTopology('city_data', @SRID@) > 0;
-- 2. Load topology data (node, edge, and face tables).
-- Use INSERT statements here instead of a bulk-load utility.
@ -48,70 +48,70 @@ SELECT setval('city_data.face_face_id_seq', 8);
-- 2B. Insert data into <topology_name>.NODE table.
-- N1
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(1, 'POINT(8 30)', NULL);
VALUES(1, 'SRID=@SRID@;POINT(8 30)', NULL);
-- N2
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(2, 'POINT(25 30)', NULL);
VALUES(2, 'SRID=@SRID@;POINT(25 30)', NULL);
-- N3
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(3, 'POINT(25 35)', NULL);
VALUES(3, 'SRID=@SRID@;POINT(25 35)', NULL);
-- N4
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(4, 'POINT(20 37)', 2);
VALUES(4, 'SRID=@SRID@;POINT(20 37)', 2);
-- N5
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(5, 'POINT(36 38)', NULL);
VALUES(5, 'SRID=@SRID@;POINT(36 38)', NULL);
-- N6
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(6, 'POINT(57 33)', NULL);
VALUES(6, 'SRID=@SRID@;POINT(57 33)', NULL);
-- N7
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(7, 'POINT(41 40)', NULL);
VALUES(7, 'SRID=@SRID@;POINT(41 40)', NULL);
-- N8
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(8, 'POINT(9 6)', NULL);
VALUES(8, 'SRID=@SRID@;POINT(9 6)', NULL);
-- N9
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(9, 'POINT(21 6)', NULL);
VALUES(9, 'SRID=@SRID@;POINT(21 6)', NULL);
-- N10
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(10, 'POINT(35 6)', NULL);
VALUES(10, 'SRID=@SRID@;POINT(35 6)', NULL);
-- N11
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(11, 'POINT(47 6)', NULL);
VALUES(11, 'SRID=@SRID@;POINT(47 6)', NULL);
-- N12
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(12, 'POINT(47 14)', NULL);
VALUES(12, 'SRID=@SRID@;POINT(47 14)', NULL);
-- N13
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(13, 'POINT(35 14)', NULL);
VALUES(13, 'SRID=@SRID@;POINT(35 14)', NULL);
-- N14
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(14, 'POINT(21 14)', NULL);
VALUES(14, 'SRID=@SRID@;POINT(21 14)', NULL);
-- N15
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(15, 'POINT(9 14)', NULL);
VALUES(15, 'SRID=@SRID@;POINT(9 14)', NULL);
-- N16
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(16, 'POINT(9 22)', NULL);
VALUES(16, 'SRID=@SRID@;POINT(9 22)', NULL);
-- N17
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(17, 'POINT(21 22)', NULL);
VALUES(17, 'SRID=@SRID@;POINT(21 22)', NULL);
-- N18
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(18, 'POINT(35 22)', NULL);
VALUES(18, 'SRID=@SRID@;POINT(35 22)', NULL);
-- N19
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(19, 'POINT(47 22)', NULL);
VALUES(19, 'SRID=@SRID@;POINT(47 22)', NULL);
-- N20
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(20, 'POINT(4 31)', NULL);
VALUES(20, 'SRID=@SRID@;POINT(4 31)', NULL);
-- N21
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(21, 'POINT(9 35)', NULL);
VALUES(21, 'SRID=@SRID@;POINT(9 35)', NULL);
-- N22
INSERT INTO city_data.node(node_id, geom, containing_face)
VALUES(22, 'POINT(13 35)', NULL);
VALUES(22, 'SRID=@SRID@;POINT(13 35)', NULL);
-- UPDATE Node id sequence
SELECT setval('city_data.node_node_id_seq', 22);
@ -119,76 +119,76 @@ SELECT setval('city_data.node_node_id_seq', 22);
-- 2C. Insert data into <topology_name>.EDGE table.
-- E1
INSERT INTO city_data.edge VALUES(1, 1, 1, 1, -1, 1, 0,
'LINESTRING(8 30, 16 30, 16 38, 3 38, 3 30, 8 30)');
'SRID=@SRID@;LINESTRING(8 30, 16 30, 16 38, 3 38, 3 30, 8 30)');
-- E2
INSERT INTO city_data.edge VALUES(2, 2, 2, -3, -2, 2, 0,
'LINESTRING(25 30, 31 30, 31 40, 17 40, 17 30, 25 30)');
'SRID=@SRID@;LINESTRING(25 30, 31 30, 31 40, 17 40, 17 30, 25 30)');
-- E3
INSERT INTO city_data.edge VALUES(3, 2, 3, -3, 2, 2, 2,
'LINESTRING(25 30, 25 35)');
'SRID=@SRID@;LINESTRING(25 30, 25 35)');
-- E4
INSERT INTO city_data.edge VALUES(4, 5, 6, -5, 4, 0, 0,
'LINESTRING(36 38, 38 35, 41 34, 42 33, 45 32, 47 28, 50 28, 52 32, 57 33)');
'SRID=@SRID@;LINESTRING(36 38, 38 35, 41 34, 42 33, 45 32, 47 28, 50 28, 52 32, 57 33)');
-- E5
INSERT INTO city_data.edge VALUES(5, 7, 6, -4, 5, 0, 0,
'LINESTRING(41 40, 45 40, 47 42, 62 41, 61 38, 59 39, 57 36, 57 33)');
'SRID=@SRID@;LINESTRING(41 40, 45 40, 47 42, 62 41, 61 38, 59 39, 57 36, 57 33)');
-- E6
INSERT INTO city_data.edge VALUES(6, 16, 17, 7, -21, 0, 3,
'LINESTRING(9 22, 21 22)');
'SRID=@SRID@;LINESTRING(9 22, 21 22)');
-- E7
INSERT INTO city_data.edge VALUES(7, 17, 18, 8, -19, 0, 4,
'LINESTRING(21 22, 35 22)');
'SRID=@SRID@;LINESTRING(21 22, 35 22)');
-- E8
INSERT INTO city_data.edge VALUES(8, 18, 19, -15, -17, 0, 5,
'LINESTRING(35 22, 47 22)');
'SRID=@SRID@;LINESTRING(35 22, 47 22)');
-- E9
INSERT INTO city_data.edge VALUES(9, 15, 14, 19, -22, 3, 6,
'LINESTRING(9 14, 21 14)');
'SRID=@SRID@;LINESTRING(9 14, 21 14)');
-- E10
INSERT INTO city_data.edge VALUES(10, 13, 14, -20, 17, 7, 4,
'LINESTRING(35 14, 21 14)');
'SRID=@SRID@;LINESTRING(35 14, 21 14)');
-- E11
INSERT INTO city_data.edge VALUES(11, 13, 12, 15, -18, 5, 8,
'LINESTRING(35 14, 47 14)');
'SRID=@SRID@;LINESTRING(35 14, 47 14)');
-- E12
INSERT INTO city_data.edge VALUES(12, 8, 9, 20, 22, 6, 0,
'LINESTRING(9 6, 21 6)');
'SRID=@SRID@;LINESTRING(9 6, 21 6)');
-- E13
INSERT INTO city_data.edge VALUES(13, 9, 10, 18, -12, 7, 0,
'LINESTRING(21 6, 35 6)');
'SRID=@SRID@;LINESTRING(21 6, 35 6)');
-- E14
INSERT INTO city_data.edge VALUES(14, 10, 11, 16, -13, 8, 0,
'LINESTRING(35 6, 47 6)');
'SRID=@SRID@;LINESTRING(35 6, 47 6)');
-- E15
INSERT INTO city_data.edge VALUES(15, 12, 19, -8, -16, 5, 0,
'LINESTRING(47 14, 47 22)');
'SRID=@SRID@;LINESTRING(47 14, 47 22)');
-- E16
INSERT INTO city_data.edge VALUES(16, 11, 12, -11, -14, 8, 0,
'LINESTRING(47 6, 47 14)');
'SRID=@SRID@;LINESTRING(47 6, 47 14)');
-- E17
INSERT INTO city_data.edge VALUES(17, 13, 18, -7, 11, 4, 5,
'LINESTRING(35 14, 35 22)');
'SRID=@SRID@;LINESTRING(35 14, 35 22)');
-- E18
INSERT INTO city_data.edge VALUES(18, 10, 13, 10, 14, 7, 8,
'LINESTRING(35 6, 35 14)');
'SRID=@SRID@;LINESTRING(35 6, 35 14)');
-- E19
INSERT INTO city_data.edge VALUES(19, 14, 17, -6, -10, 3, 4,
'LINESTRING(21 14, 21 22)');
'SRID=@SRID@;LINESTRING(21 14, 21 22)');
-- E20
INSERT INTO city_data.edge VALUES(20, 9, 14, -9, 13, 6, 7,
'LINESTRING(21 6, 21 14)');
'SRID=@SRID@;LINESTRING(21 6, 21 14)');
-- E21
INSERT INTO city_data.edge VALUES(21, 15, 16, 6, 9, 0, 3,
'LINESTRING(9 14, 9 22)');
'SRID=@SRID@;LINESTRING(9 14, 9 22)');
-- E22
INSERT INTO city_data.edge VALUES(22, 8, 15, 21, 12, 0, 6,
'LINESTRING(9 6, 9 14)');
'SRID=@SRID@;LINESTRING(9 6, 9 14)');
-- E25
INSERT INTO city_data.edge VALUES(25, 21, 22, -25, 25, 1, 1,
'LINESTRING(9 35, 13 35)');
'SRID=@SRID@;LINESTRING(9 35, 13 35)');
-- E26
INSERT INTO city_data.edge VALUES(26, 20, 20, 26, -26, 9, 1,
'LINESTRING(4 31, 7 31, 7 34, 4 34, 4 31)');
'SRID=@SRID@;LINESTRING(4 31, 7 31, 7 34, 4 34, 4 31)');
-- UPDATE Edge id sequence
SELECT setval('city_data.edge_data_edge_id_seq', 26);