From 7ff16196de3716064cec12d1eeba39f320cab455 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Sat, 20 Sep 2025 17:55:59 +0200 Subject: [PATCH] nixos/tests/ipget: init Add a NixOS VM test for ipget. --- nixos/tests/all-tests.nix | 1 + nixos/tests/ipget.nix | 28 ++++++++++++++++++++++++++++ pkgs/by-name/ip/ipget/package.nix | 5 +++++ pkgs/by-name/ku/kubo/package.nix | 2 +- 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 nixos/tests/ipget.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 79e93ce3b7b3..d38fd6b6e990 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -745,6 +745,7 @@ in invoiceplane = runTest ./invoiceplane.nix; iodine = runTest ./iodine.nix; iosched = runTest ./iosched.nix; + ipget = runTest ./ipget.nix; ipv6 = runTest ./ipv6.nix; iscsi-multipath-root = runTest ./iscsi-multipath-root.nix; iscsi-root = runTest ./iscsi-root.nix; diff --git a/nixos/tests/ipget.nix b/nixos/tests/ipget.nix new file mode 100644 index 000000000000..3c1f26ed348a --- /dev/null +++ b/nixos/tests/ipget.nix @@ -0,0 +1,28 @@ +{ lib, ... }: +{ + name = "ipget"; + meta.maintainers = with lib.maintainers; [ + Luflosi + ]; + + nodes.machine = + { config, pkgs, ... }: + { + services.kubo.enable = true; + environment.systemPackages = with pkgs; [ ipget ]; + }; + + testScript = '' + start_all() + + with subtest("Add file to IPFS"): + ipfs_hash = machine.succeed( + "echo -n fnord | ipfs add --quieter" + ) + + with subtest("Download the file with ipget"): + machine.succeed(f"ipget --output file.txt /ipfs/{ipfs_hash}") + contents = machine.succeed("cat file.txt") + assert contents == "fnord", f"Unexpected file contents: {contents}" + ''; +} diff --git a/pkgs/by-name/ip/ipget/package.nix b/pkgs/by-name/ip/ipget/package.nix index 1a91414abf21..05e2c62631e7 100644 --- a/pkgs/by-name/ip/ipget/package.nix +++ b/pkgs/by-name/ip/ipget/package.nix @@ -2,6 +2,7 @@ lib, buildGoModule, fetchFromGitHub, + nixosTests, }: buildGoModule rec { @@ -24,6 +25,10 @@ buildGoModule rec { doCheck = false; + passthru.tests = { + inherit (nixosTests) ipget; + }; + meta = with lib; { description = "Retrieve files over IPFS and save them locally"; homepage = "https://ipfs.io/"; diff --git a/pkgs/by-name/ku/kubo/package.nix b/pkgs/by-name/ku/kubo/package.nix index 4c887e9c1dc2..fc6930a8dfe7 100644 --- a/pkgs/by-name/ku/kubo/package.nix +++ b/pkgs/by-name/ku/kubo/package.nix @@ -32,7 +32,7 @@ buildGoModule rec { subPackages = [ "cmd/ipfs" ]; passthru.tests = { - inherit (nixosTests) kubo; + inherit (nixosTests) kubo ipget; repoVersion = callPackage ./test-repoVersion.nix { }; };