diff options
author | Mario Rodas <marsam@users.noreply.github.com> | 2021-07-07 18:41:57 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-07 18:41:57 -0500 |
commit | bb1ff7da54b22be0b314c4dffb56212e9678e7db (patch) | |
tree | f555792776a1d62887633507b6012cd92757a0dd /nixos/tests | |
parent | 596f825533919ca114d04b92a640756b9ad84a7e (diff) | |
parent | 81c8189a841728a813bcde8604b80427fcf33522 (diff) | |
download | nixpkgs-bb1ff7da54b22be0b314c4dffb56212e9678e7db.tar nixpkgs-bb1ff7da54b22be0b314c4dffb56212e9678e7db.tar.gz nixpkgs-bb1ff7da54b22be0b314c4dffb56212e9678e7db.tar.bz2 nixpkgs-bb1ff7da54b22be0b314c4dffb56212e9678e7db.tar.lz nixpkgs-bb1ff7da54b22be0b314c4dffb56212e9678e7db.tar.xz nixpkgs-bb1ff7da54b22be0b314c4dffb56212e9678e7db.tar.zst nixpkgs-bb1ff7da54b22be0b314c4dffb56212e9678e7db.zip |
Merge pull request #125696 from hercules-ci/postgresql-backup-only-replace-if-successful
nixos/postgresqlBackup: only replace if successful
Diffstat (limited to 'nixos/tests')
-rw-r--r-- | nixos/tests/postgresql.nix | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index 091e64294ac..0369a070719 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -73,8 +73,30 @@ let machine.succeed( "systemctl start ${backupService}.service", "zcat /var/backup/postgresql/${backupName}.sql.gz | grep '<test>ok</test>'", + "ls -hal /var/backup/postgresql/ >/dev/console", "stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600", ) + with subtest("Backup service fails gracefully"): + # Sabotage the backup process + machine.succeed("rm /run/postgresql/.s.PGSQL.5432") + machine.fail( + "systemctl start ${backupService}.service", + ) + machine.succeed( + "ls -hal /var/backup/postgresql/ >/dev/console", + "zcat /var/backup/postgresql/${backupName}.prev.sql.gz | grep '<test>ok</test>'", + "stat /var/backup/postgresql/${backupName}.in-progress.sql.gz", + ) + # In a previous version, the second run would overwrite prev.sql.gz, + # so we test a second run as well. + machine.fail( + "systemctl start ${backupService}.service", + ) + machine.succeed( + "stat /var/backup/postgresql/${backupName}.in-progress.sql.gz", + "zcat /var/backup/postgresql/${backupName}.prev.sql.gz | grep '<test>ok</test>'", + ) + with subtest("Initdb works"): machine.succeed("sudo -u postgres initdb -D /tmp/testpostgres2") |