Re: Adding CI to our tree

Поиск
Список
Период
Сортировка
От Justin Pryzby
Тема Re: Adding CI to our tree
Дата
Msg-id 20220109191649.GL14051@telsasoft.com
обсуждение исходный текст
Ответ на Re: Adding CI to our tree  (Andres Freund <andres@anarazel.de>)
Ответы Re: Adding CI to our tree  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
I noticed a patch failing in cfbot everywhere except windows:

https://commitfest.postgresql.org/36/3476/
| Invalid relcache when ADD PRIMARY KEY USING INDEX

It's because vcregress skips tests which have NO_INSTALLCHECK=1.

Is it desirable to enable more module/contrib tests for windows CI ?

This does a few, but there's a few others which would require the server to
be restarted to set shared_preload_libraries for each module.

diff --git a/.cirrus.yml b/.cirrus.yml
index 19b3737fa11..c427b468334 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -390,7 +390,7 @@ task:
     - perl src/tools/msvc/vcregress.pl check parallel
   startcreate_script:
     # paths to binaries need backslashes
-    - tmp_install\bin\pg_ctl.exe initdb -D tmp_check/db -l tmp_check/initdb.log
+    - tmp_install\bin\pg_ctl.exe initdb -D tmp_check/db -l tmp_check/initdb.log --options=--no-sync
     - echo include '%TEMP_CONFIG%' >> tmp_check/db/postgresql.conf
     - tmp_install\bin\pg_ctl.exe start -D tmp_check/db -l tmp_check/postmaster.log
   test_pl_script:
diff --git a/contrib/test_decoding/Makefile b/contrib/test_decoding/Makefile
index 9a31e0b8795..14fd847ba7f 100644
--- a/contrib/test_decoding/Makefile
+++ b/contrib/test_decoding/Makefile
@@ -10,7 +10,7 @@ ISOLATION = mxact delayed_startup ondisk_startup concurrent_ddl_dml \
     oldest_xmin snapshot_transfer subxact_without_top concurrent_stream \
     twophase_snapshot
 
-REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf
+REGRESS_OPTS = --temp-config=$(top_srcdir)/contrib/test_decoding/logical.conf
 ISOLATION_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf
 
 # Disabled because these tests require "wal_level=logical", which
diff --git a/src/tools/ci/pg_ci_base.conf b/src/tools/ci/pg_ci_base.conf
index d8faa9c26c1..52cdb697a57 100644
--- a/src/tools/ci/pg_ci_base.conf
+++ b/src/tools/ci/pg_ci_base.conf
@@ -12,3 +12,24 @@ log_connections = true
 log_disconnections = true
 log_line_prefix = '%m [%p][%b] %q[%a][%v:%x] '
 log_lock_waits = true
+
+# test_decoding
+wal_level = logical
+max_replication_slots = 4
+logical_decoding_work_mem = 64kB
+
+# commit_ts
+track_commit_timestamp = on
+
+## worker_spi
+#shared_preload_libraries = worker_spi
+#worker_spi.database = contrib_regression
+
+## pg_stat_statements
+##shared_preload_libraries=pg_stat_statements
+
+## test_rls_hooks
+#shared_preload_libraries=test_rls_hooks
+
+## snapshot_too_old
+#old_snapshot_threshold = 60min
diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl
index 8f3e3fa937b..7e2cc971a42 100644
--- a/src/tools/msvc/vcregress.pl
+++ b/src/tools/msvc/vcregress.pl
@@ -443,6 +443,7 @@ sub plcheck
 sub subdircheck
 {
     my $module = shift;
+    my $obey_installcheck = shift || 1;
 
     if (   !-d "$module/sql"
         || !-d "$module/expected"
@@ -452,7 +453,7 @@ sub subdircheck
     }
 
     chdir $module;
-    my @tests = fetchTests();
+    my @tests = fetchTests($obey_installcheck);
 
     # Leave if no tests are listed in the module.
     if (scalar @tests == 0)
@@ -516,6 +517,14 @@ sub contribcheck
         my $status = $? >> 8;
         $mstat ||= $status;
     }
+
+    subdircheck('test_decoding', -1);
+    $mstat ||= $? >> 8;
+
+    # The DB would need to be restarted
+    #subdircheck('pg_stat_statements', -1);
+    #$mstat ||= $? >> 8;
+
     exit $mstat if $mstat;
     return;
 }
@@ -530,6 +539,19 @@ sub modulescheck
         my $status = $? >> 8;
         $mstat ||= $status;
     }
+
+    subdircheck('commit_ts', -1);
+    $mstat ||= $? >> 8;
+
+    subdircheck('test_rls_hooks', -1);
+    $mstat ||= $? >> 8;
+
+    ## The DB would need to be restarted
+    #subdircheck('worker_spi', -1);
+    #$mstat ||= $? >> 8;
+
+    # src/test/modules/snapshot_too_old/Makefile
+
     exit $mstat if $mstat;
     return;
 }
@@ -726,6 +748,7 @@ sub fetchTests
     my $m = <$handle>;
     close($handle);
     my $t = "";
+    my $obey_installcheck = shift || 1;
 
     $m =~ s{\\\r?\n}{}g;
 
@@ -733,7 +756,7 @@ sub fetchTests
     # so bypass its run by returning an empty set of tests.
     if ($m =~ /^\s*NO_INSTALLCHECK\s*=\s*\S+/m)
     {
-        return ();
+        return () if $obey_installcheck == 1;
     }
 
     if ($m =~ /^REGRESS\s*=\s*(.*)$/gm)



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Non-superuser subscription owners
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Adding CI to our tree