diff options
author | Jörg Thalheim <joerg@thalheim.io> | 2018-01-02 09:08:38 +0100 |
---|---|---|
committer | Jörg Thalheim <joerg@thalheim.io> | 2018-01-29 14:14:57 +0000 |
commit | 8a5f77ffbc8896a1f06ff4d2d61bb48d419cf66b (patch) | |
tree | b01872b481981b891e684039f8e6353fcb9aba01 | |
parent | 57ecb3a8f02010c7dd0d5aa1ee33929286966dcf (diff) | |
download | nixlib-8a5f77ffbc8896a1f06ff4d2d61bb48d419cf66b.tar nixlib-8a5f77ffbc8896a1f06ff4d2d61bb48d419cf66b.tar.gz nixlib-8a5f77ffbc8896a1f06ff4d2d61bb48d419cf66b.tar.bz2 nixlib-8a5f77ffbc8896a1f06ff4d2d61bb48d419cf66b.tar.lz nixlib-8a5f77ffbc8896a1f06ff4d2d61bb48d419cf66b.tar.xz nixlib-8a5f77ffbc8896a1f06ff4d2d61bb48d419cf66b.tar.zst nixlib-8a5f77ffbc8896a1f06ff4d2d61bb48d419cf66b.zip |
nixos/borgbackup: add test
We had problems to get borg's own test suite running. This test is intended to perform a quick smoke test to see whether we have missed not any important dependency necessary to create backups with borg. tested with: $ nix-build nixos/release.nix -A tests.borgbackup.x86_64-linux
-rw-r--r-- | nixos/release.nix | 1 | ||||
-rw-r--r-- | nixos/tests/borgbackup.nix | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/nixos/release.nix b/nixos/release.nix index 7c2e5b6415c5..972c89c1a411 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -227,6 +227,7 @@ in rec { tests.blivet = callTest tests/blivet.nix {}; tests.boot = callSubTests tests/boot.nix {}; tests.boot-stage1 = callTest tests/boot-stage1.nix {}; + tests.borgbackup = callTest tests/borgbackup.nix {}; tests.cadvisor = callTestOnTheseSystems ["x86_64-linux"] tests/cadvisor.nix {}; tests.chromium = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/chromium.nix {}).stable; tests.cjdns = callTest tests/cjdns.nix {}; diff --git a/nixos/tests/borgbackup.nix b/nixos/tests/borgbackup.nix new file mode 100644 index 000000000000..123b02be7251 --- /dev/null +++ b/nixos/tests/borgbackup.nix @@ -0,0 +1,21 @@ +import ./make-test.nix ({ pkgs, ...}: { + name = "borgbackup"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ mic92 ]; + }; + + nodes = { + machine = { config, pkgs, ... }: { + environment.systemPackages = [ pkgs.borgbackup ]; + }; + }; + + testScript = '' + my $borg = "BORG_PASSPHRASE=supersecret borg"; + $machine->succeed("$borg init --encryption=repokey /tmp/backup"); + $machine->succeed("mkdir /tmp/data/ && echo 'data' >/tmp/data/file"); + $machine->succeed("$borg create --stats /tmp/backup::test /tmp/data"); + $machine->succeed("$borg extract /tmp/backup::test"); + $machine->succeed('c=$(cat data/file) && echo "c = $c" >&2 && [[ "$c" == "data" ]]'); + ''; +}) |