nixos/tests/ipget: init

Add a NixOS VM test for ipget.

Luflosi 7ff16196 52c03276

Changed files
+35 -1
nixos
pkgs
by-name
ip
ipget
ku
+1
nixos/tests/all-tests.nix
···
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;
+28
nixos/tests/ipget.nix
···
+
{ 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}"
+
'';
+
}
+5
pkgs/by-name/ip/ipget/package.nix
···
lib,
buildGoModule,
fetchFromGitHub,
+
nixosTests,
}:
buildGoModule rec {
···
'';
doCheck = false;
+
+
passthru.tests = {
+
inherit (nixosTests) ipget;
+
};
meta = with lib; {
description = "Retrieve files over IPFS and save them locally";
+1 -1
pkgs/by-name/ku/kubo/package.nix
···
subPackages = [ "cmd/ipfs" ];
passthru.tests = {
-
inherit (nixosTests) kubo;
+
inherit (nixosTests) kubo ipget;
repoVersion = callPackage ./test-repoVersion.nix { };
};