Subject: [bug#66793] [PATCH 1/3] tests: Make ‘guix time-machine’ test effective.

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 31 Oct 2023 11:06:25 -0400

Hi,

Ludovic Courtès <[email-masked]> writes:

> The test as added in 79ec651a286c71a3d4c72be33a1f80e76a560031 had no
> effect: first because ‘guix time-machine --commit=X’, not followed by a
> command, does nothing, and second because the “! COMMAND” shell stanza
> does not have the desired effect (see <https://issues.guix.gnu.org/62406>).

Interesting.  I had tested it, but I guess not with that script :-).

[...]

> -guix time-machine --version
> +if [ -d "$abs_top_srcdir/.git" ] \
> +   || guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null
> +then
> +    guix time-machine --version
> +else
> +    echo "This test requires networking or a local Git checkout; skipping." >&2
> +    exit 77
> +fi
>  
> -# Visiting a commit older than v1.0.0 fails.
> -! guix time-machine --commit=v0.15.0
> +if [ -d "$abs_top_srcdir/.git" ]
> +then
> +    EXTRA_OPTIONS="--url=$abs_top_srcdir"

Should the --url valE here be prefixed with "file://", just to make it
extra clear we are cloning from a local file?

> +else
> +    EXTRA_OPTIONS=""
> +fi
>  
> -exit 0
> +# Visiting a commit older than v1.0.0 must fail (this test is expensive
> +# because it clones the whole repository).
> +guix time-machine -q --commit=v0.15.0 $EXTRA_OPTIONS -- describe && false
> +
> +true

Otherwise LGTM.

-- 
Thanks,
Maxim