Fix TAP tests to use only standard command-line argument ordering.

Some of the TAP tests were supposing that PG programs would accept switches
after non-switch arguments on their command lines.  While GNU getopt_long()
does allow that, our own implementation does not, and it's nowhere
suggested in our documentation that such cases should work.  Adjust the
tests to use only the documented syntax.

Back-patch to 9.4, since without this the TAP tests fail when run with
src/port's getopt_long() implementation.

Michael Paquier
This commit is contained in:
Tom Lane 2015-04-04 13:34:23 -04:00
parent 368b7c601e
commit c67a86f7da
4 changed files with 10 additions and 10 deletions

View File

@ -20,7 +20,7 @@ command_ok([ 'initdb', "$tempdir/data4" ], 'existing empty data directory');
system_or_bail "rm -rf '$tempdir'/*"; system_or_bail "rm -rf '$tempdir'/*";
command_ok([ 'initdb', "$tempdir/data", '-X', "$tempdir/pgxlog" ], command_ok([ 'initdb', '-X', "$tempdir/pgxlog", "$tempdir/data" ],
'separate xlog directory'); 'separate xlog directory');
system_or_bail "rm -rf '$tempdir'/*"; system_or_bail "rm -rf '$tempdir'/*";
@ -30,15 +30,15 @@ command_fails(
system_or_bail "rm -rf '$tempdir'/*"; system_or_bail "rm -rf '$tempdir'/*";
mkdir "$tempdir/pgxlog"; mkdir "$tempdir/pgxlog";
command_ok([ 'initdb', "$tempdir/data", '-X', "$tempdir/pgxlog" ], command_ok([ 'initdb', '-X', "$tempdir/pgxlog", "$tempdir/data" ],
'existing empty xlog directory'); 'existing empty xlog directory');
system_or_bail "rm -rf '$tempdir'/*"; system_or_bail "rm -rf '$tempdir'/*";
mkdir "$tempdir/pgxlog"; mkdir "$tempdir/pgxlog";
mkdir "$tempdir/pgxlog/lost+found"; mkdir "$tempdir/pgxlog/lost+found";
command_fails([ 'initdb', "$tempdir/data", '-X', "$tempdir/pgxlog" ], command_fails([ 'initdb', '-X', "$tempdir/pgxlog", "$tempdir/data" ],
'existing nonempty xlog directory'); 'existing nonempty xlog directory');
system_or_bail "rm -rf '$tempdir'/*"; system_or_bail "rm -rf '$tempdir'/*";
command_ok([ 'initdb', "$tempdir/data", '-T', 'german' ], command_ok([ 'initdb', '-T', 'german', "$tempdir/data" ],
'select default dictionary'); 'select default dictionary');

View File

@ -21,6 +21,6 @@ command_fails([ 'clusterdb', '-t', 'nonexistent', 'postgres' ],
psql 'postgres', psql 'postgres',
'CREATE TABLE test1 (a int); CREATE INDEX test1x ON test1 (a); CLUSTER test1 USING test1x'; 'CREATE TABLE test1 (a int); CREATE INDEX test1x ON test1 (a); CLUSTER test1 USING test1x';
issues_sql_like( issues_sql_like(
[ 'clusterdb', 'postgres', '-t', 'test1' ], [ 'clusterdb', '-t', 'test1', 'postgres' ],
qr/statement: CLUSTER test1;/, qr/statement: CLUSTER test1;/,
'cluster specific table'); 'cluster specific table');

View File

@ -15,7 +15,7 @@ issues_sql_like(
qr/statement: CREATE DATABASE foobar1/, qr/statement: CREATE DATABASE foobar1/,
'SQL CREATE DATABASE run'); 'SQL CREATE DATABASE run');
issues_sql_like( issues_sql_like(
[ 'createdb', 'foobar2', '-l', 'C', '-E', 'LATIN1', '-T', 'template0' ], [ 'createdb', '-l', 'C', '-E', 'LATIN1', '-T', 'template0', 'foobar2' ],
qr/statement: CREATE DATABASE foobar2 ENCODING 'LATIN1'/, qr/statement: CREATE DATABASE foobar2 ENCODING 'LATIN1'/,
'create database with encoding'); 'create database with encoding');

View File

@ -20,18 +20,18 @@ issues_sql_like(
psql 'postgres', psql 'postgres',
'CREATE TABLE test1 (a int); CREATE INDEX test1x ON test1 (a);'; 'CREATE TABLE test1 (a int); CREATE INDEX test1x ON test1 (a);';
issues_sql_like( issues_sql_like(
[ 'reindexdb', 'postgres', '-t', 'test1' ], [ 'reindexdb', '-t', 'test1', 'postgres' ],
qr/statement: REINDEX TABLE test1;/, qr/statement: REINDEX TABLE test1;/,
'reindex specific table'); 'reindex specific table');
issues_sql_like( issues_sql_like(
[ 'reindexdb', 'postgres', '-i', 'test1x' ], [ 'reindexdb', '-i', 'test1x', 'postgres' ],
qr/statement: REINDEX INDEX test1x;/, qr/statement: REINDEX INDEX test1x;/,
'reindex specific index'); 'reindex specific index');
issues_sql_like( issues_sql_like(
[ 'reindexdb', 'postgres', '-S', 'pg_catalog' ], [ 'reindexdb', '-S', 'pg_catalog', 'postgres' ],
qr/statement: REINDEX SCHEMA pg_catalog;/, qr/statement: REINDEX SCHEMA pg_catalog;/,
'reindex specific schema'); 'reindex specific schema');
issues_sql_like( issues_sql_like(
[ 'reindexdb', 'postgres', '-s' ], [ 'reindexdb', '-s', 'postgres' ],
qr/statement: REINDEX SYSTEM postgres;/, qr/statement: REINDEX SYSTEM postgres;/,
'reindex system tables'); 'reindex system tables');