From 1dd6feaf8da706242a500e56aecc8b408039fbd4 Mon Sep 17 00:00:00 2001
From: Pavel Raiskup <praiskup@redhat.com>
Date: Mon, 18 Dec 2017 14:17:35 +0100
Subject: [PATCH] tests: add 'make test' target
Proposed in https://github.com/plv8/plv8/pull/247
---
.gitignore | 4 ++++
.travis.yml | 2 +-
Makefile | 11 +++++++++++
expected/init-local.out.in | 19 +++++++++++++++++++
4 files changed, 35 insertions(+), 1 deletion(-)
create mode 100644 expected/init-local.out.in
diff --git a/.gitignore b/.gitignore
index 34a4f7a..a1dc8e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,5 +21,9 @@
# Test results
/results
+# Test helpers
+init-local.sql
+init-local.out
+
# For packaging
plv8-*.zip
diff --git a/.travis.yml b/.travis.yml
index 2b2ba53..7e1e14f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -64,7 +64,7 @@ sudo: required
dist: trusty
script:
- - make && sudo make install && make installcheck
+ - make && make test && sudo make install && make installcheck
after_script:
- cat regression.diffs || true
diff --git a/Makefile b/Makefile
index f410301..75f5543 100644
--- a/Makefile
+++ b/Makefile
@@ -173,5 +173,16 @@ endif
installcheck: integritycheck
+.PHONY: expected/init-local.out sql/init-local.sql
+
+expected/init-local.out: expected/init-local.out.in
+ sed "s|MODULE_PATHNAME|$(shell pwd)/plv8|g" $< > $@
+
+sql/init-local.sql: plv8.sql.common
+ sed -e 's/@LANG_NAME@/plv8/g' $< | sed -e "s|MODULE_PATHNAME|$(shell pwd)/plv8|g" | $(CC) -E -P $(CPPFLAGS) -DLANG_plv8 - > $@
+
+test: sql/init-local.sql expected/init-local.out $(EXTENSION).so
+ $(pg_regress_check) $(REGRESS_OPTS) init-local $(filter-out init-extension dialect, $(REGRESS))
+
.PHONY: subclean integritycheck
include $(PGXS)
diff --git a/expected/init-local.out.in b/expected/init-local.out.in
new file mode 100644
index 0000000..cdf6546
--- /dev/null
+++ b/expected/init-local.out.in
@@ -0,0 +1,19 @@
+CREATE FUNCTION plv8_call_handler() RETURNS language_handler
+ AS 'MODULE_PATHNAME' LANGUAGE C;
+CREATE FUNCTION plv8_inline_handler(internal) RETURNS void
+ AS 'MODULE_PATHNAME' LANGUAGE C;
+CREATE FUNCTION plv8_call_validator(oid) RETURNS void
+ AS 'MODULE_PATHNAME' LANGUAGE C;
+CREATE TRUSTED LANGUAGE plv8
+ HANDLER plv8_call_handler
+ INLINE plv8_inline_handler
+ VALIDATOR plv8_call_validator;
+CREATE DOMAIN plv8_int2array AS int2[];
+CREATE DOMAIN plv8_int4array AS int4[];
+CREATE DOMAIN plv8_float4array AS float4[];
+CREATE DOMAIN plv8_float8array AS float8[];
+CREATE OR REPLACE FUNCTION plv8_version ( )
+RETURNS TEXT AS
+$$
+ return "@PLV8_VERSION@";
+$$ LANGUAGE plv8;
--
2.14.3