Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n6dgX-0001k5-TO for pgsql-hackers@arkaria.postgresql.org; Sun, 09 Jan 2022 19:16:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1n6dgW-0003lV-CG for pgsql-hackers@arkaria.postgresql.org; Sun, 09 Jan 2022 19:16:56 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n6dgV-0003lM-Uh for pgsql-hackers@lists.postgresql.org; Sun, 09 Jan 2022 19:16:56 +0000 Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1n6dgS-0004uK-Jk for pgsql-hackers@postgresql.org; Sun, 09 Jan 2022 19:16:54 +0000 Received: by mail-io1-xd2e.google.com with SMTP id w9so1732221iol.13 for ; Sun, 09 Jan 2022 11:16:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telsasoft-com.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=jgDlyI4vFEDM0yKFxbke9Gdi8fKOIrmivLsxyFUftdg=; b=AaUW2L0ud7LIprUneIZZJRRHhEsmP9zF2ScxAZFmwYk0wR2GbfJwkn0y57QyuJaHZO 2mnVaSlqLf/QneobMwMp5Iy4+CGz0xvU5cboWMCFvP3jIg371nO3BD8ZNpfVSCKu91eq adqZbYor9HeGXeUQkYb62TVXQBBKUJWvup3IhV3VLNxbWf1l5fuS9uq0MceZhauKqK0p RmkBoPIsKTaSiJX/C0iFkyfzbCp6n3UKFxSjq5Xiy0qRWzaK/v0OwCD/bnEw1mZV2apk OzQNh/LCNVdiwoVNz8QFP96SjfL8DOiKnv+QxKpCk6GJUDLCveDQCwNf1lZq/fmClUKv ZsDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=jgDlyI4vFEDM0yKFxbke9Gdi8fKOIrmivLsxyFUftdg=; b=h8kXY6S31mLINsQiiN4JZyv9jfUuKHzIgc6ruTe6OabX00qsho48QhzwIuGHWRVdOE j4CIadCM6AdAqjuTEYCLj0THqohm7ORO5S7qsXerNw5noywTASkQq/47zgmxuomfeTFI 7A2dDZ2H/wdB7z8W0aQDHxaTszV+UYRkduBLoJWkuF4I0LbY5mtb+vzNs8poNW8TM8Op bmDPFcWel+EzgkC7PWJNdpt0lf+VDvD8bCbgOmRDXN2dqKP+Wtl7LqvQiZV/BkKCl4n+ UH2FmaECuukbSGgqk2o+Ge52dtbWA/QOT06pa5sWJSB5fVwvOHyCiC04sN7t6M0Xib1D GsEg== X-Gm-Message-State: AOAM532sUJzC9WgXrR3ytoR+3xFD+8UI9v9xgwki8mUouTcP9udgFy82 2vu5ihIlHyFNZagGql150BHC2g== X-Google-Smtp-Source: ABdhPJxaxPANUxEcBiLy/hA4/UtwwDfaxbaigCpZt4k9na/Tet/cNucOUT64PpnlLiyuBFp6DvPWcA== X-Received: by 2002:a5d:9d1a:: with SMTP id j26mr34878034ioj.145.1641755811340; Sun, 09 Jan 2022 11:16:51 -0800 (PST) Received: from pryzbyj.telsasoft (charmander.telsasoft.com. [50.244.222.1]) by smtp.gmail.com with ESMTPSA id q17sm2897129ilm.32.2022.01.09.11.16.50 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 09 Jan 2022 11:16:50 -0800 (PST) Received: by pryzbyj.telsasoft (Postfix, from userid 1000) id 2497C800A78; Sun, 9 Jan 2022 13:16:50 -0600 (CST) Date: Sun, 9 Jan 2022 13:16:50 -0600 From: Justin Pryzby To: Andres Freund Cc: pgsql-hackers@postgresql.org, Thomas Munro , Andrew Dunstan , Melanie Plageman , Tom Lane , Peter Eisentraut , Daniel Gustafsson Subject: Re: Adding CI to our tree Message-ID: <20220109191649.GL14051@telsasoft.com> References: <20211001222752.wrz7erzh4cajvgp6@alap3.anarazel.de> <20211231014652.kgrdk2wytiallix3@alap3.anarazel.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20211231014652.kgrdk2wytiallix3@alap3.anarazel.de> User-Agent: Mutt/1.9.4 (2018-02-28) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk 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)