1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
TMPDIR ?= /tmp
TESTS = $(wildcard *.load)
OUT = $(TESTS:.load=.out)
REMOTE = archive.load bossa-all.load bossa.load census-places.load dbf-zip.load
LOCAL = $(filter-out $(REMOTE:.load=.out),$(OUT))
REGRESS= allcols.load \
csv-before-after.load \
csv-districts.load \
csv-parse-date.load \
csv-error.load \
csv-escape-mode.load \
csv-filename-pattern.load \
csv-guess.load \
csv-header.load \
csv-json.load \
csv-keep-extra-blanks.load \
csv-missing-col.load \
csv-non-printable.load \
csv-nulls.load \
csv-temp.load \
csv-trim-extra-blanks.load \
csv-using-sexp.load \
csv.load \
copy.load \
copy-hex.load \
dbf.load \
errors.load \
fixed.load \
fields-with-periods.load \
ixf.load \
overflow.load \
partial.load \
serial.load \
udc.load \
xzero.load
# Those are not included in the tests because CCL doesn't have the cp866
# encoding, and then PostgreSQL 9.6 lacks "create schema if not exists".
#
# dbf-memo.load
# dbf-31.load
# dbf-8b.load
PGLOADER ?= ../build/bin/pgloader
PGSUPERUSER ?= postgres
export DBPATH = sqlite/sqlite.db # needed by sqlite-env.load
export SOURCEFILE = data/2013_Gaz_113CDs_national.txt # needed by csv-districts-env.out
EXTRA_OPTS =
ifneq (,$(findstring ccl,$(CL)))
EXTRA_OPTS = --batch --heap-reserve 150g
endif
regress: clean-out $(addprefix regress/out/, $(REGRESS:.load=.out)) ;
clean clean-out:
rm -f regress/out/*
local: prepare $(LOCAL)
remote: prepare $(REMOTE:.load=.out)
all: prepare $(OUT)
prepare: bossa.sql
-dropdb -U $(PGSUPERUSER) pgloader
-dropdb -U $(PGSUPERUSER) stocks
-dropdb -U $(PGSUPERUSER) ip4r
-createuser -U $(PGSUPERUSER) --superuser `whoami`
createdb -U $(PGSUPERUSER) -O `whoami` pgloader
createdb -U $(PGSUPERUSER) -O `whoami` stocks
createdb -U $(PGSUPERUSER) -O `whoami` ip4r
psql -d pgloader -c 'create schema expected'
psql -U $(PGSUPERUSER) -d pgloader -c 'create extension ip4r'
psql -U $(PGSUPERUSER) -d ip4r -c 'create extension ip4r'
psql -d stocks -f bossa.sql
errors.out: errors.load
-$(PGLOADER) $<
@echo
nofile.out: nofile.load
-$(PGLOADER) $<
@echo
csv-hstore.out: csv-hstore.load
@echo skipping $@
# sakila needs preparing a MySQL database too
$(TMPDIR)/sakila-db/sakila-schema.sql: data/sakila-db.zip
rm -rf $(TMPDIR)/sakila-db
unzip $< -d $(TMPDIR)
sakila: $(TMPDIR)/sakila-db/sakila-schema.sql
-dropdb -U $(PGSUPERUSER) sakila
-createdb -U $(PGSUPERUSER) -O `whoami` sakila
-echo "DROP DATABASE sakila" | mysql -u root
echo "SOURCE $(TMPDIR)/sakila-db/sakila-schema.sql" | mysql -u root
echo "SOURCE $(TMPDIR)/sakila-db/sakila-data.sql" | mysql -u root
sakila.out: sakila sakila.load
-$(PGLOADER) sakila.load
@echo
csv-districts-stdin.out: csv-districts-stdin.load
cat data/2013_Gaz_113CDs_national.txt | $(PGLOADER) $^
ifneq (,$(findstring ccl,$(CL)))
regress/out/dbf.out: dbf.load
@echo "Skipping $@, CCL doesn't have CP850 encoding"
touch $@
else
$(PGLOADER) $(EXTRA_OPTS) --regress $<
touch $@
endif
# General case where we do NOT expect any error
%.out: %.load
$(PGLOADER) $<
@echo
# Regression tests
regress/out/%.out: %.load
$(PGLOADER) $(EXTRA_OPTS) --regress $<
touch $@
|