diff options
author | Silvan Mosberger <infinisil@icloud.com> | 2019-01-23 21:40:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-23 21:40:39 +0100 |
commit | d9f39b7252b082800fe634ca223eacfc0332b83a (patch) | |
tree | 33e2646a8e6bfc0202121c8f2517d6fc66884a73 /nixos/tests/postgresql.nix | |
parent | f561acc48ebde1c29e870ad15f0fba6ad8a8a3ae (diff) | |
parent | 1af4f366ca0bb3860a18b8435dad8a23d5ea7b62 (diff) | |
download | nixlib-d9f39b7252b082800fe634ca223eacfc0332b83a.tar nixlib-d9f39b7252b082800fe634ca223eacfc0332b83a.tar.gz nixlib-d9f39b7252b082800fe634ca223eacfc0332b83a.tar.bz2 nixlib-d9f39b7252b082800fe634ca223eacfc0332b83a.tar.lz nixlib-d9f39b7252b082800fe634ca223eacfc0332b83a.tar.xz nixlib-d9f39b7252b082800fe634ca223eacfc0332b83a.tar.zst nixlib-d9f39b7252b082800fe634ca223eacfc0332b83a.zip |
Merge pull request #54310 from Mic92/postgresq-backup
nixos/postgresqlBackup: add backupAll option
Diffstat (limited to 'nixos/tests/postgresql.nix')
-rw-r--r-- | nixos/tests/postgresql.nix | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index 1d434b62a5cb..975ba7f488e2 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -21,7 +21,7 @@ let CREATE TABLE xmltest ( doc xml ); INSERT INTO xmltest (doc) VALUES ('<test>ok</test>'); -- check if libxml2 enabled ''; - make-postgresql-test = postgresql-name: postgresql-package: makeTest { + make-postgresql-test = postgresql-name: postgresql-package: backup-all: makeTest { name = postgresql-name; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ zagy ]; @@ -29,14 +29,17 @@ let machine = {...}: { - services.postgresql.package=postgresql-package; + services.postgresql.package = postgresql-package; services.postgresql.enable = true; services.postgresqlBackup.enable = true; - services.postgresqlBackup.databases = [ "postgres" ]; + services.postgresqlBackup.databases = optional (!backup-all) "postgres"; }; - testScript = '' + testScript = let + backupName = if backup-all then "all" else "postgres"; + backupService = if backup-all then "postgresqlBackup" else "postgresqlBackup-postgres"; + in '' sub check_count { my ($select, $nlines) = @_; return 'test $(sudo -u postgres psql postgres -tAc "' . $select . '"|wc -l) -eq ' . $nlines; @@ -56,12 +59,20 @@ let $machine->succeed(check_count("SELECT xpath(\'/test/text()\', doc) FROM xmltest;", 1)); # Check backup service - $machine->succeed("systemctl start postgresqlBackup-postgres.service"); - $machine->succeed("zcat /var/backup/postgresql/postgres.sql.gz | grep '<test>ok</test>'"); - $machine->succeed("stat -c '%a' /var/backup/postgresql/postgres.sql.gz | grep 600"); + $machine->succeed("systemctl start ${backupService}.service"); + $machine->succeed("zcat /var/backup/postgresql/${backupName}.sql.gz | grep '<test>ok</test>'"); + $machine->succeed("stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600"); $machine->shutdown; ''; }; in - mapAttrs' (p-name: p-package: {name=p-name; value=make-postgresql-test p-name p-package;}) postgresql-versions + (mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // ( + # just pick one version for the dump all test + let + first = head (attrNames postgresql-versions); + name = "${first}-backup-all"; + in { + ${name} = make-postgresql-test name postgresql-versions.${first} true; + } + ) |