GNU bug report logs - #67613
Introduce unit tests for oci-container-service-type.

Previous Next

Package: guix-patches;

Reported by: paul <goodoldpaul <at> autistici.org>

Date: Sun, 3 Dec 2023 21:55:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ludovic Courtès <ludo <at> gnu.org>
To: Giacomo Leidi <goodoldpaul <at> autistici.org>
Cc: 67613 <at> debbugs.gnu.org
Subject: [bug#67613] Introduce unit tests for oci-container-service-type.
Date: Sun, 10 Dec 2023 22:47:01 +0100
Hello,

Giacomo Leidi <goodoldpaul <at> autistici.org> skribis:

> This patch is a followup to issue #66160 and issue #67574. It introduces
> unit tests for the oci-container-service-type. 8 out 11 tests depend on
> issue #67574 being merged since issue #66160 was merged with a blocking
> bug from the beginning.
>
> * gnu/services/docker.scm: Export
> oci-container-configuration-container-user and
> oci-container-configuration-workdir.
> * tests/services/docker.scm: New file.
> * Makefile.am (SCM_TESTS): Register it.
>
> Change-Id: I47ed0fe36060ba84dd50b548a66f36e3df8a3710

Thanks for working on this!

To me, what’s really helpful is a system test: a test that spins up a VM
running an OCI service and makes sure said service is functional.
Apologies if I wasn’t clear!

Unit tests can be interesting too, but only if their “bug-finding
performance” is good.  The tests below, for instance, are likely to be
mirroring the implementation too closely to be really able to find bugs:

> +  (test-equal "environment"
> +    (list "--env" '(string-append "key" "=" "value")
> +          "--env" '(string-append "environment" "=" "variable"))
> +    (oci-container-configuration->options
> +     (oci-container-configuration
> +      (inherit config)
> +      (environment
> +       '(("key" . "value")
> +         ("environment" . "variable"))))))
> +
> +  (test-equal "network"
> +    (list "--network" "host")
> +    (oci-container-configuration->options
> +     (oci-container-configuration
> +      (inherit config)
> +      (network "host"))))
> +
> +  (test-equal "container-user"
> +    (list "--user" "service-account")
> +    (oci-container-configuration->options
> +     (oci-container-configuration
> +      (inherit config)
> +      (container-user "service-account"))))

Thus my suggestion would be to instead focus on a system test, like
those in (gnu tests docker).

Does that make sense?  WDYT?

Ludo’.




This bug report was last modified 1 year and 57 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.