--- /dev/null
+++ b/test/Makefile
@@ -0,0 +1,4 @@
+PG_CONFIG = pg_config
+REGRESS = init job
+PGXS = $(shell $(PG_CONFIG) --pgxs)
+include $(PGXS)
--- /dev/null
+++ b/test/expected/init.out
@@ -0,0 +1 @@
+CREATE EXTENSION pgagent;
--- /dev/null
+++ b/test/sql/init.sql
@@ -0,0 +1 @@
+CREATE EXTENSION pgagent;
--- /dev/null
+++ b/test/expected/job.out
@@ -0,0 +1,23 @@
+CREATE TABLE t (
+ t timestamptz
+);
+WITH
+ id AS
+ (INSERT INTO pgagent.pga_job (jobjclid, jobname, jobdesc, jobenabled, jobhostagent)
+  SELECT jcl.jclid, 'job1', '', true, ''
+   FROM pgagent.pga_jobclass jcl WHERE jclname='Routine Maintenance'
+  RETURNING jobid),
+ insertstep AS
+ (INSERT INTO pgagent.pga_jobstep (jstjobid, jstname, jstdesc, jstenabled, jstkind, jstonerror, jstcode, jstdbname, jstconnstr)
+  SELECT id.jobid, 'step1', '', true, 's', 'f', 'INSERT INTO t VALUES (now())', 'contrib_regression', ''
+   FROM id)
+INSERT INTO pgagent.pga_schedule (jscjobid, jscname, jscdesc, jscminutes, jschours, jscweekdays, jscmonthdays, jscmonths, jscenabled, jscstart, jscend)
+ SELECT id.jobid, 'schedule1', '', '{t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t}', '{t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t}', '{t,t,t,t,t,t,t}', '{t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t}', '{t,t,t,t,t,t,t,t,t,t,t,t}', true, '2000-01-01 00:00:00', '2099-12-31 00:00:00'
+  FROM id;
+\! timeout 80 pgagent -f -l 2 -s pgagent.out "user=$PGUSER dbname=contrib_regression" 2>/dev/null
+SELECT count(*) > 0 AS job_run FROM t;
+ job_run 
+---------
+ t
+(1 row)
+
--- /dev/null
+++ b/test/sql/job.sql
@@ -0,0 +1,23 @@
+CREATE TABLE t (
+ t timestamptz
+);
+
+WITH
+ id AS
+ (INSERT INTO pgagent.pga_job (jobjclid, jobname, jobdesc, jobenabled, jobhostagent)
+  SELECT jcl.jclid, 'job1', '', true, ''
+   FROM pgagent.pga_jobclass jcl WHERE jclname='Routine Maintenance'
+  RETURNING jobid),
+
+ insertstep AS
+ (INSERT INTO pgagent.pga_jobstep (jstjobid, jstname, jstdesc, jstenabled, jstkind, jstonerror, jstcode, jstdbname, jstconnstr)
+  SELECT id.jobid, 'step1', '', true, 's', 'f', 'INSERT INTO t VALUES (now())', 'contrib_regression', ''
+   FROM id)
+
+INSERT INTO pgagent.pga_schedule (jscjobid, jscname, jscdesc, jscminutes, jschours, jscweekdays, jscmonthdays, jscmonths, jscenabled, jscstart, jscend)
+ SELECT id.jobid, 'schedule1', '', '{t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t}', '{t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t}', '{t,t,t,t,t,t,t}', '{t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t}', '{t,t,t,t,t,t,t,t,t,t,t,t}', true, '2000-01-01 00:00:00', '2099-12-31 00:00:00'
+  FROM id;
+
+\! timeout 80 pgagent -f -l 2 -s pgagent.out "user=$PGUSER dbname=contrib_regression" 2>/dev/null
+
+SELECT count(*) > 0 AS job_run FROM t;
