nixosTests.postgresql: run nixfmt
Because with as many changes as in here anybody working on those test files will have merge conflicts anyway.
This commit is contained in:
@@ -1,16 +1,20 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
makeTestFor = package:
|
makeTestFor =
|
||||||
|
package:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "postgresql_anonymizer-${package.name}";
|
name = "postgresql_anonymizer-${package.name}";
|
||||||
meta.maintainers = lib.teams.flyingcircus.members;
|
meta.maintainers = lib.teams.flyingcircus.members;
|
||||||
|
|
||||||
nodes.machine = { pkgs, ... }: {
|
nodes.machine =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
environment.systemPackages = [ pkgs.pg-dump-anon ];
|
environment.systemPackages = [ pkgs.pg-dump-anon ];
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
inherit package;
|
inherit package;
|
||||||
@@ -103,7 +107,9 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
lib.recurseIntoAttrs (
|
lib.recurseIntoAttrs (
|
||||||
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.anonymizer.meta.broken) pkgs.postgresqlVersions)
|
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (
|
||||||
|
lib.filterAttrs (_: p: !p.pkgs.anonymizer.meta.broken) pkgs.postgresqlVersions
|
||||||
|
)
|
||||||
// {
|
// {
|
||||||
passthru.override = p: makeTestFor p;
|
passthru.override = p: makeTestFor p;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +1,38 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
makeTestFor = package:
|
makeTestFor =
|
||||||
|
package:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "pgjwt-${package.name}";
|
name = "pgjwt-${package.name}";
|
||||||
meta = with lib.maintainers; {
|
meta = with lib.maintainers; {
|
||||||
maintainers = [ spinus willibutz ];
|
maintainers = [
|
||||||
|
spinus
|
||||||
|
willibutz
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes.master = { ... }:
|
nodes.master =
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
inherit package;
|
inherit package;
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPlugins = ps: with ps; [ pgjwt pgtap ];
|
extraPlugins =
|
||||||
|
ps: with ps; [
|
||||||
|
pgjwt
|
||||||
|
pgtap
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = { nodes, ... }:
|
testScript =
|
||||||
|
{ nodes, ... }:
|
||||||
let
|
let
|
||||||
sqlSU = "${nodes.master.services.postgresql.superUser}";
|
sqlSU = "${nodes.master.services.postgresql.superUser}";
|
||||||
pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}";
|
pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}";
|
||||||
@@ -37,7 +48,9 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
lib.recurseIntoAttrs (
|
lib.recurseIntoAttrs (
|
||||||
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.pgjwt.meta.broken) pkgs.postgresqlVersions)
|
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (
|
||||||
|
lib.filterAttrs (_: p: !p.pkgs.pgjwt.meta.broken) pkgs.postgresqlVersions
|
||||||
|
)
|
||||||
// {
|
// {
|
||||||
passthru.override = p: makeTestFor p;
|
passthru.override = p: makeTestFor p;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@@ -22,26 +23,30 @@ let
|
|||||||
('a thin dog sat on a mat and ate a thin rat', '[10, 11, 12]');
|
('a thin dog sat on a mat and ate a thin rat', '[10, 11, 12]');
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeTestFor = postgresqlPackage:
|
makeTestFor =
|
||||||
|
postgresqlPackage:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "pgvecto-rs-${postgresqlPackage.name}";
|
name = "pgvecto-rs-${postgresqlPackage.name}";
|
||||||
meta = with lib.maintainers; {
|
meta = with lib.maintainers; {
|
||||||
maintainers = [ diogotcorreia ];
|
maintainers = [ diogotcorreia ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes.machine = { ... }:
|
nodes.machine =
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = postgresqlPackage;
|
package = postgresqlPackage;
|
||||||
extraPlugins = ps: with ps; [
|
extraPlugins =
|
||||||
|
ps: with ps; [
|
||||||
pgvecto-rs
|
pgvecto-rs
|
||||||
];
|
];
|
||||||
settings.shared_preload_libraries = "vectors";
|
settings.shared_preload_libraries = "vectors";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = { nodes, ... }:
|
testScript =
|
||||||
|
{ nodes, ... }:
|
||||||
let
|
let
|
||||||
inherit (nodes.machine.services.postgresql.package.pkgs) pgvecto-rs;
|
inherit (nodes.machine.services.postgresql.package.pkgs) pgvecto-rs;
|
||||||
in
|
in
|
||||||
@@ -67,7 +72,9 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
lib.recurseIntoAttrs (
|
lib.recurseIntoAttrs (
|
||||||
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.pgvecto-rs.meta.broken) pkgs.postgresqlVersions)
|
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (
|
||||||
|
lib.filterAttrs (_: p: !p.pkgs.pgvecto-rs.meta.broken) pkgs.postgresqlVersions
|
||||||
|
)
|
||||||
// {
|
// {
|
||||||
passthru.override = p: makeTestFor p;
|
passthru.override = p: makeTestFor p;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,20 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
makeTestFor = package:
|
makeTestFor =
|
||||||
|
package:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "postgresql-jit-${package.name}";
|
name = "postgresql-jit-${package.name}";
|
||||||
meta.maintainers = with lib.maintainers; [ ma27 ];
|
meta.maintainers = with lib.maintainers; [ ma27 ];
|
||||||
|
|
||||||
nodes.machine = { pkgs, ... }: {
|
nodes.machine =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
inherit package;
|
inherit package;
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -45,7 +49,9 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
lib.recurseIntoAttrs (
|
lib.recurseIntoAttrs (
|
||||||
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (n: _: lib.hasSuffix "_jit" n) pkgs.postgresqlVersions)
|
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (
|
||||||
|
lib.filterAttrs (n: _: lib.hasSuffix "_jit" n) pkgs.postgresqlVersions
|
||||||
|
)
|
||||||
// {
|
// {
|
||||||
passthru.override = p: makeTestFor p;
|
passthru.override = p: makeTestFor p;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,46 +1,44 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
runWithOpenSSL = file: cmd: pkgs.runCommand file
|
runWithOpenSSL =
|
||||||
{
|
file: cmd:
|
||||||
|
pkgs.runCommand file {
|
||||||
buildInputs = [ pkgs.openssl ];
|
buildInputs = [ pkgs.openssl ];
|
||||||
}
|
} cmd;
|
||||||
cmd;
|
|
||||||
caKey = runWithOpenSSL "ca.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out";
|
caKey = runWithOpenSSL "ca.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out";
|
||||||
caCert = runWithOpenSSL
|
caCert = runWithOpenSSL "ca.crt" ''
|
||||||
"ca.crt"
|
|
||||||
''
|
|
||||||
openssl req -new -x509 -sha256 -key ${caKey} -out $out -subj "/CN=test.example" -days 36500
|
openssl req -new -x509 -sha256 -key ${caKey} -out $out -subj "/CN=test.example" -days 36500
|
||||||
'';
|
'';
|
||||||
serverKey =
|
serverKey = runWithOpenSSL "server.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out";
|
||||||
runWithOpenSSL "server.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out";
|
|
||||||
serverKeyPath = "/var/lib/postgresql";
|
serverKeyPath = "/var/lib/postgresql";
|
||||||
serverCert =
|
serverCert = runWithOpenSSL "server.crt" ''
|
||||||
runWithOpenSSL "server.crt" ''
|
|
||||||
openssl req -new -sha256 -key ${serverKey} -out server.csr -subj "/CN=db.test.example"
|
openssl req -new -sha256 -key ${serverKey} -out server.csr -subj "/CN=db.test.example"
|
||||||
openssl x509 -req -in server.csr -CA ${caCert} -CAkey ${caKey} \
|
openssl x509 -req -in server.csr -CA ${caCert} -CAkey ${caKey} \
|
||||||
-CAcreateserial -out $out -days 36500 -sha256
|
-CAcreateserial -out $out -days 36500 -sha256
|
||||||
'';
|
'';
|
||||||
clientKey =
|
clientKey = runWithOpenSSL "client.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out";
|
||||||
runWithOpenSSL "client.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out";
|
clientCert = runWithOpenSSL "client.crt" ''
|
||||||
clientCert =
|
|
||||||
runWithOpenSSL "client.crt" ''
|
|
||||||
openssl req -new -sha256 -key ${clientKey} -out client.csr -subj "/CN=test"
|
openssl req -new -sha256 -key ${clientKey} -out client.csr -subj "/CN=test"
|
||||||
openssl x509 -req -in client.csr -CA ${caCert} -CAkey ${caKey} \
|
openssl x509 -req -in client.csr -CA ${caCert} -CAkey ${caKey} \
|
||||||
-CAcreateserial -out $out -days 36500 -sha256
|
-CAcreateserial -out $out -days 36500 -sha256
|
||||||
'';
|
'';
|
||||||
clientKeyPath = "/root";
|
clientKeyPath = "/root";
|
||||||
|
|
||||||
makeTestFor = package:
|
makeTestFor =
|
||||||
|
package:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "postgresql-tls-client-cert-${package.name}";
|
name = "postgresql-tls-client-cert-${package.name}";
|
||||||
meta.maintainers = with lib.maintainers; [ erictapen ];
|
meta.maintainers = with lib.maintainers; [ erictapen ];
|
||||||
|
|
||||||
nodes.server = { ... }: {
|
nodes.server =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
system.activationScripts = {
|
system.activationScripts = {
|
||||||
keyPlacement.text = ''
|
keyPlacement.text = ''
|
||||||
mkdir -p '${serverKeyPath}'
|
mkdir -p '${serverKeyPath}'
|
||||||
@@ -73,14 +71,19 @@ let
|
|||||||
networking = {
|
networking = {
|
||||||
interfaces.eth1 = {
|
interfaces.eth1 = {
|
||||||
ipv6.addresses = [
|
ipv6.addresses = [
|
||||||
{ address = "fc00::1"; prefixLength = 120; }
|
{
|
||||||
|
address = "fc00::1";
|
||||||
|
prefixLength = 120;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
firewall.allowedTCPPorts = [ 5432 ];
|
firewall.allowedTCPPorts = [ 5432 ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes.client = { ... }: {
|
nodes.client =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
system.activationScripts = {
|
system.activationScripts = {
|
||||||
keyPlacement.text = ''
|
keyPlacement.text = ''
|
||||||
mkdir -p '${clientKeyPath}'
|
mkdir -p '${clientKeyPath}'
|
||||||
@@ -105,10 +108,15 @@ let
|
|||||||
networking = {
|
networking = {
|
||||||
interfaces.eth1 = {
|
interfaces.eth1 = {
|
||||||
ipv6.addresses = [
|
ipv6.addresses = [
|
||||||
{ address = "fc00::2"; prefixLength = 120; }
|
{
|
||||||
|
address = "fc00::2";
|
||||||
|
prefixLength = 120;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
hosts = { "fc00::1" = [ "db.test.example" ]; };
|
hosts = {
|
||||||
|
"fc00::1" = [ "db.test.example" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
makeTestFor = package:
|
makeTestFor =
|
||||||
|
package:
|
||||||
let
|
let
|
||||||
postgresqlDataDir = "/var/lib/postgresql/${package.psqlSchema}";
|
postgresqlDataDir = "/var/lib/postgresql/${package.psqlSchema}";
|
||||||
replicationUser = "wal_receiver_user";
|
replicationUser = "wal_receiver_user";
|
||||||
@@ -19,7 +21,9 @@ let
|
|||||||
name = "postgresql-wal-receiver-${package.name}";
|
name = "postgresql-wal-receiver-${package.name}";
|
||||||
meta.maintainers = with lib.maintainers; [ pacien ];
|
meta.maintainers = with lib.maintainers; [ pacien ];
|
||||||
|
|
||||||
nodes.machine = { ... }: {
|
nodes.machine =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"d /var/cache/wals 0750 postgres postgres - -"
|
"d /var/cache/wals 0750 postgres postgres - -"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
makeTestFor = package:
|
makeTestFor =
|
||||||
|
package:
|
||||||
lib.recurseIntoAttrs {
|
lib.recurseIntoAttrs {
|
||||||
postgresql = makeTestForWithBackupAll package false;
|
postgresql = makeTestForWithBackupAll package false;
|
||||||
postgresql-backup-all = makeTestForWithBackupAll package true;
|
postgresql-backup-all = makeTestForWithBackupAll package true;
|
||||||
@@ -26,17 +28,19 @@ let
|
|||||||
INSERT INTO xmltest (doc) VALUES ('<test>ok</test>'); -- check if libxml2 enabled
|
INSERT INTO xmltest (doc) VALUES ('<test>ok</test>'); -- check if libxml2 enabled
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeTestForWithBackupAll = package: backupAll:
|
makeTestForWithBackupAll =
|
||||||
|
package: backupAll:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "postgresql${lib.optionalString backupAll "-backup-all"}-${package.name}";
|
name = "postgresql${lib.optionalString backupAll "-backup-all"}-${package.name}";
|
||||||
meta = with lib.maintainers; {
|
meta = with lib.maintainers; {
|
||||||
maintainers = [ zagy ];
|
maintainers = [ zagy ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes.machine = {...}:
|
nodes.machine =
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
inherit (package);
|
inherit (package) ;
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -46,11 +50,13 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = let
|
testScript =
|
||||||
|
let
|
||||||
backupName = if backupAll then "all" else "postgres";
|
backupName = if backupAll then "all" else "postgres";
|
||||||
backupService = if backupAll then "postgresqlBackup" else "postgresqlBackup-postgres";
|
backupService = if backupAll then "postgresqlBackup" else "postgresqlBackup-postgres";
|
||||||
backupFileBase = "/var/backup/postgresql/${backupName}";
|
backupFileBase = "/var/backup/postgresql/${backupName}";
|
||||||
in ''
|
in
|
||||||
|
''
|
||||||
def check_count(statement, lines):
|
def check_count(statement, lines):
|
||||||
return 'test $(sudo -u postgres psql postgres -tAc "{}"|wc -l) -eq {}'.format(
|
return 'test $(sudo -u postgres psql postgres -tAc "{}"|wc -l) -eq {}'.format(
|
||||||
statement, lines
|
statement, lines
|
||||||
@@ -138,14 +144,16 @@ let
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
makeEnsureTestFor = package:
|
makeEnsureTestFor =
|
||||||
|
package:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "postgresql-clauses-${package.name}";
|
name = "postgresql-clauses-${package.name}";
|
||||||
meta = with lib.maintainers; {
|
meta = with lib.maintainers; {
|
||||||
maintainers = [ zagy ];
|
maintainers = [ zagy ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes.machine = {...}:
|
nodes.machine =
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
inherit package;
|
inherit package;
|
||||||
@@ -170,9 +178,11 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = let
|
testScript =
|
||||||
getClausesQuery = user: lib.concatStringsSep " "
|
let
|
||||||
[
|
getClausesQuery =
|
||||||
|
user:
|
||||||
|
lib.concatStringsSep " " [
|
||||||
"SELECT row_to_json(row)"
|
"SELECT row_to_json(row)"
|
||||||
"FROM ("
|
"FROM ("
|
||||||
"SELECT"
|
"SELECT"
|
||||||
@@ -187,7 +197,8 @@ let
|
|||||||
"WHERE rolname = '${user}'"
|
"WHERE rolname = '${user}'"
|
||||||
") row;"
|
") row;"
|
||||||
];
|
];
|
||||||
in ''
|
in
|
||||||
|
''
|
||||||
import json
|
import json
|
||||||
machine.start()
|
machine.start()
|
||||||
machine.wait_for_unit("postgresql")
|
machine.wait_for_unit("postgresql")
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@@ -38,23 +39,28 @@ let
|
|||||||
SELECT * FROM sth;
|
SELECT * FROM sth;
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeTestFor = package:
|
makeTestFor =
|
||||||
|
package:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "timescaledb-${package.name}";
|
name = "timescaledb-${package.name}";
|
||||||
meta = with lib.maintainers; {
|
meta = with lib.maintainers; {
|
||||||
maintainers = [ typetetris ];
|
maintainers = [ typetetris ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes.machine = { ... }:
|
nodes.machine =
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
inherit package;
|
inherit package;
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPlugins = ps: with ps; [
|
extraPlugins =
|
||||||
|
ps: with ps; [
|
||||||
timescaledb
|
timescaledb
|
||||||
timescaledb_toolkit
|
timescaledb_toolkit
|
||||||
];
|
];
|
||||||
settings = { shared_preload_libraries = "timescaledb, timescaledb_toolkit"; };
|
settings = {
|
||||||
|
shared_preload_libraries = "timescaledb, timescaledb_toolkit";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -85,7 +91,9 @@ in
|
|||||||
# To run these tests:
|
# To run these tests:
|
||||||
# NIXPKGS_ALLOW_UNFREE=1 nix-build -A nixosTests.postgresql.timescaledb
|
# NIXPKGS_ALLOW_UNFREE=1 nix-build -A nixosTests.postgresql.timescaledb
|
||||||
lib.dontRecurseIntoAttrs (
|
lib.dontRecurseIntoAttrs (
|
||||||
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.timescaledb.meta.broken) pkgs.postgresqlVersions)
|
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (
|
||||||
|
lib.filterAttrs (_: p: !p.pkgs.timescaledb.meta.broken) pkgs.postgresqlVersions
|
||||||
|
)
|
||||||
// {
|
// {
|
||||||
passthru.override = p: makeTestFor p;
|
passthru.override = p: makeTestFor p;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,27 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
makeTestFor = package:
|
makeTestFor =
|
||||||
|
package:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "tsja-${package.name}";
|
name = "tsja-${package.name}";
|
||||||
meta = {
|
meta = {
|
||||||
maintainers = with lib.maintainers; [ chayleaf ];
|
maintainers = with lib.maintainers; [ chayleaf ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes.master = { ... }:
|
nodes.master =
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
inherit package;
|
inherit package;
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPlugins = ps: with ps; [
|
extraPlugins =
|
||||||
|
ps: with ps; [
|
||||||
tsja
|
tsja
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -37,7 +41,9 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
lib.recurseIntoAttrs (
|
lib.recurseIntoAttrs (
|
||||||
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.tsja.meta.broken) pkgs.postgresqlVersions)
|
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (
|
||||||
|
lib.filterAttrs (_: p: !p.pkgs.tsja.meta.broken) pkgs.postgresqlVersions
|
||||||
|
)
|
||||||
// {
|
// {
|
||||||
passthru.override = p: makeTestFor p;
|
passthru.override = p: makeTestFor p;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
{ pkgs
|
{
|
||||||
, makeTest
|
pkgs,
|
||||||
|
makeTest,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
makeTestFor = package:
|
makeTestFor =
|
||||||
|
package:
|
||||||
makeTest {
|
makeTest {
|
||||||
name = "wal2json-${package.name}";
|
name = "wal2json-${package.name}";
|
||||||
meta.maintainers = with pkgs.lib.maintainers; [ euank ];
|
meta.maintainers = with pkgs.lib.maintainers; [ euank ];
|
||||||
@@ -41,7 +43,9 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
lib.recurseIntoAttrs (
|
lib.recurseIntoAttrs (
|
||||||
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.wal2json.meta.broken) pkgs.postgresqlVersions)
|
lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (
|
||||||
|
lib.filterAttrs (_: p: !p.pkgs.wal2json.meta.broken) pkgs.postgresqlVersions
|
||||||
|
)
|
||||||
// {
|
// {
|
||||||
passthru.override = p: makeTestFor p;
|
passthru.override = p: makeTestFor p;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user