diff options
author | Fabián Heredia Montiel <303897+fabianhjr@users.noreply.github.com> | 2023-10-13 16:13:46 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-13 16:13:46 -0600 |
commit | d80ad25cf825dc37c90af1f8ebe4aff0e7d0f03d (patch) | |
tree | 3a2cd73d984cbcdfd0ec7849f91996399c9adae2 /nixos | |
parent | 10a2d008cf8eafbf3069b8503a9d9bcbe3be0cad (diff) | |
parent | cf8aa48605d68997be93f69ce853d76449ff68cc (diff) | |
download | nixlib-d80ad25cf825dc37c90af1f8ebe4aff0e7d0f03d.tar nixlib-d80ad25cf825dc37c90af1f8ebe4aff0e7d0f03d.tar.gz nixlib-d80ad25cf825dc37c90af1f8ebe4aff0e7d0f03d.tar.bz2 nixlib-d80ad25cf825dc37c90af1f8ebe4aff0e7d0f03d.tar.lz nixlib-d80ad25cf825dc37c90af1f8ebe4aff0e7d0f03d.tar.xz nixlib-d80ad25cf825dc37c90af1f8ebe4aff0e7d0f03d.tar.zst nixlib-d80ad25cf825dc37c90af1f8ebe4aff0e7d0f03d.zip |
Merge pull request #259792 from Luflosi/kubo-test-improvements
nixos/tests/kubo: various improvements
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/tests/all-tests.nix | 2 | ||||
-rw-r--r-- | nixos/tests/kubo/default.nix | 5 | ||||
-rw-r--r-- | nixos/tests/kubo/kubo-fuse.nix | 42 | ||||
-rw-r--r-- | nixos/tests/kubo/kubo.nix (renamed from nixos/tests/kubo.nix) | 32 |
4 files changed, 48 insertions, 33 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 3f19ed548121..443364f06e85 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -424,7 +424,7 @@ in { ksm = handleTest ./ksm.nix {}; kthxbye = handleTest ./kthxbye.nix {}; kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {}; - kubo = runTest ./kubo.nix; + kubo = import ./kubo { inherit recurseIntoAttrs runTest; }; ladybird = handleTest ./ladybird.nix {}; languagetool = handleTest ./languagetool.nix {}; latestKernel.login = handleTest ./login.nix { latestKernel = true; }; diff --git a/nixos/tests/kubo/default.nix b/nixos/tests/kubo/default.nix new file mode 100644 index 000000000000..629922fc366d --- /dev/null +++ b/nixos/tests/kubo/default.nix @@ -0,0 +1,5 @@ +{ recurseIntoAttrs, runTest }: +recurseIntoAttrs { + kubo = runTest ./kubo.nix; + kubo-fuse = runTest ./kubo-fuse.nix; +} diff --git a/nixos/tests/kubo/kubo-fuse.nix b/nixos/tests/kubo/kubo-fuse.nix new file mode 100644 index 000000000000..71a5bf61649f --- /dev/null +++ b/nixos/tests/kubo/kubo-fuse.nix @@ -0,0 +1,42 @@ +{ lib, ...} : { + name = "kubo-fuse"; + meta = with lib.maintainers; { + maintainers = [ mguentner Luflosi ]; + }; + + nodes.machine = { config, ... }: { + services.kubo = { + enable = true; + autoMount = true; + }; + users.users.alice = { + isNormalUser = true; + extraGroups = [ config.services.kubo.group ]; + }; + users.users.bob = { + isNormalUser = true; + }; + }; + + testScript = '' + start_all() + + with subtest("FUSE mountpoint"): + machine.fail("echo a | su bob -l -c 'ipfs add --quieter'") + # The FUSE mount functionality is broken as of v0.13.0 and v0.17.0. + # See https://github.com/ipfs/kubo/issues/9044. + # Workaround: using CID Version 1 avoids that. + ipfs_hash = machine.succeed( + "echo fnord3 | su alice -l -c 'ipfs add --quieter --cid-version=1'" + ).strip() + + machine.succeed(f"cat /ipfs/{ipfs_hash} | grep fnord3") + + with subtest("Unmounting of /ipns and /ipfs"): + # Force Kubo to crash and wait for it to restart + machine.systemctl("kill --signal=SIGKILL ipfs.service") + machine.wait_for_unit("ipfs.service", timeout = 30) + + machine.succeed(f"cat /ipfs/{ipfs_hash} | grep fnord3") + ''; +} diff --git a/nixos/tests/kubo.nix b/nixos/tests/kubo/kubo.nix index 496f409a40a9..7965ad277385 100644 --- a/nixos/tests/kubo.nix +++ b/nixos/tests/kubo/kubo.nix @@ -18,20 +18,6 @@ }; }; - nodes.fuse = { config, ... }: { - services.kubo = { - enable = true; - autoMount = true; - }; - users.users.alice = { - isNormalUser = true; - extraGroups = [ config.services.kubo.group ]; - }; - users.users.bob = { - isNormalUser = true; - }; - }; - testScript = '' start_all() @@ -63,23 +49,5 @@ with subtest("Setting dataDir works properly with the hardened systemd unit"): machine.succeed("test -e /mnt/ipfs/config") machine.succeed("test ! -e /var/lib/ipfs/") - - with subtest("FUSE mountpoint"): - fuse.fail("echo a | su bob -l -c 'ipfs add --quieter'") - # The FUSE mount functionality is broken as of v0.13.0 and v0.17.0. - # See https://github.com/ipfs/kubo/issues/9044. - # Workaround: using CID Version 1 avoids that. - ipfs_hash = fuse.succeed( - "echo fnord3 | su alice -l -c 'ipfs add --quieter --cid-version=1'" - ).strip() - - fuse.succeed(f"cat /ipfs/{ipfs_hash} | grep fnord3") - - with subtest("Unmounting of /ipns and /ipfs"): - # Force Kubo to crash and wait for it to restart - fuse.systemctl("kill --signal=SIGKILL ipfs.service") - fuse.wait_for_unit("ipfs.service", timeout = 30) - - fuse.succeed(f"cat /ipfs/{ipfs_hash} | grep fnord3") ''; } |