Re: Writing new unit tests with PostgresNode

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Craig Ringer <craig(at)2ndquadrant(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Writing new unit tests with PostgresNode
Date: 2016-02-22 12:21:45
Message-ID: CAB7nPqSi7ULpGdromvsLvVKLTdJ=y3P7fmYdy+ivBsHj7sQ5cA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Feb 22, 2016 at 7:55 PM, Craig Ringer <craig(at)2ndquadrant(dot)com> wrote:
> Er, the patch is attached this time.

top_builddir = ../..
include $(top_builddir)/src/Makefile.global

-SUBDIRS = regress isolation modules
+SUBDIRS = regress isolation modules example_suite

I have no problem with a test suite to be included in SUBDIRS, but if
that's a template test it would be better if added in ALWAYS_SUBDIRS.
I think as well that having it in src/test/perl/example_suite would
make more sense.

--- /dev/null
+++ b/src/test/README
@@ -0,0 +1,37 @@
+This directory contains a variety of test infrastructure as well as some of the
+tests in PostgreSQL. Not all tests are here - in particular, there are more in
+individual contrib/ modules and in src/bin.
The usual format for README files is more like that:
path/to/README

Nice title
========

Text, blah.

I think that it would be better to stick with the common style in
place. Except that this file is definitely a good addition.

+ use strict;
+ use warnings;
+ use 5.8.8;
+ use PostgresNode;
+ use TestLib;
I am -1 for including a forced version number in the list of
inclusions. We have been careful about not using routines that are not
supported with perl < 5.8.8. Let's continue like that. Simply
mentioning in the README this minimal requirement is enough IMO.

+
+=pod
+
+=head2 Set up a node
pod format... Do we really want that? Considering that those modules
are only aimed at being dedicated for in-core testing, I would say no.

diff --git a/src/test/mb/.gitignore b/src/test/mb/.gitignore
new file mode 100644
index 0000000..6628455
--- /dev/null
+++ b/src/test/mb/.gitignore
@@ -0,0 +1 @@
+/results/
This should be a separate patch.

--- /dev/null
+++ b/src/test/modules/README
@@ -0,0 +1,10 @@
+src/test/modules contains PostgreSQL extensions that are primarily or entirely
+intended for testing PostgreSQL and/or to serve as example code. The extensions
+here aren't intended to be installed in a production server and aren't useful
+for "real work".
Header format should be reworked here as well.

This patch is going a bit more far than I expected first, I thought
that this would be only a set of README files added into core. And it
is not completely clear what we would gain by using perlpod in the
case of those in-core modules.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fabien COELHO 2016-02-22 13:11:05 Re: checkpointer continuous flushing - V18
Previous Message Rushabh Lathia 2016-02-22 11:13:20 Re: Optimization for updating foreign tables in Postgres FDW