Add more regression tests for pg_ls_dir()
This system function was being triggered once in the main regression test suite to check its SRF configuration, and more in other test modules but nothing checked the behavior of the options missing_ok and include_dot_dirs. This commit adds some tests for both options, to avoid mistakes if this code is manipulated in the future. Extracted from a larger patch by the same author, with a few tweaks by me. Author: Justin Pryzby Discussion: https://postgr.es/m/20191227170220.GE12890@telsasoft.com
This commit is contained in:
parent
c6f2f01611
commit
ff8b37ba80
2 changed files with 31 additions and 0 deletions
|
@ -378,6 +378,29 @@ select * from (select pg_ls_dir('.') a) a where a = 'base' limit 1;
|
|||
base
|
||||
(1 row)
|
||||
|
||||
-- Test missing_ok (second argument)
|
||||
select pg_ls_dir('does not exist', false, false); -- error
|
||||
ERROR: could not open directory "does not exist": No such file or directory
|
||||
select pg_ls_dir('does not exist', true, false); -- ok
|
||||
pg_ls_dir
|
||||
-----------
|
||||
(0 rows)
|
||||
|
||||
-- Test include_dot_dirs (third argument)
|
||||
select count(*) = 1 as dot_found
|
||||
from pg_ls_dir('.', false, true) as ls where ls = '.';
|
||||
dot_found
|
||||
-----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
select count(*) = 1 as dot_found
|
||||
from pg_ls_dir('.', false, false) as ls where ls = '.';
|
||||
dot_found
|
||||
-----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
select * from (select (pg_timezone_names()).name) ptn where name='UTC' limit 1;
|
||||
name
|
||||
------
|
||||
|
|
|
@ -124,6 +124,14 @@ from (select pg_ls_waldir() w) ss where length((w).name) = 24 limit 1;
|
|||
select count(*) >= 0 as ok from pg_ls_archive_statusdir();
|
||||
|
||||
select * from (select pg_ls_dir('.') a) a where a = 'base' limit 1;
|
||||
-- Test missing_ok (second argument)
|
||||
select pg_ls_dir('does not exist', false, false); -- error
|
||||
select pg_ls_dir('does not exist', true, false); -- ok
|
||||
-- Test include_dot_dirs (third argument)
|
||||
select count(*) = 1 as dot_found
|
||||
from pg_ls_dir('.', false, true) as ls where ls = '.';
|
||||
select count(*) = 1 as dot_found
|
||||
from pg_ls_dir('.', false, false) as ls where ls = '.';
|
||||
|
||||
select * from (select (pg_timezone_names()).name) ptn where name='UTC' limit 1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue