aboutsummaryrefslogtreecommitdiff
# GNU Guix --- Functional package management for GNU
# Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2023-2024 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

#
# Test the 'guix time-machine' command-line utility.
#

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

if [ -d "$abs_top_srcdir/.git" ]
then
    # Note: No "file://" prefix because that makes cloning much more expensive
    # for some reason.
    EXTRA_OPTIONS="--url=$abs_top_srcdir"
else
    EXTRA_OPTIONS=""
fi

# Visiting a commit older than v0.16.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
64255d8274a2caa68f7436'>gnu-maintenance: Add support to rewrite version in URL path....Fixes <https://issues.guix.gnu.org/64015>. Fixes <https://issues.guix.gnu.org/65304>. Previously, the generic HTML updater would only look for the list of files found at the parent of its current source URL, ignoring that the URL may embed the version elsewhere in its path. This could cause 'guix refresh' to report no updates available, while in fact there were, such as for 'libuv'. * guix/gnu-maintenance.scm (strip-trailing-slash): New procedure. (%version-rx): New variable. (rewrite-url): New procedure. (import-html-release): New rewrite-url? argument. When true, use the above procedure. (import-html-updatable-release): Call import-html-release with #:rewrite-url set to #t. * tests/gnu-maintenance.scm ("rewrite-url, to-version specified") ("rewrite-url, without to-version"): New tests. Maxim Cournoyer 2023-01-02tests: Fix gnu-maintenance tests....The regression was introduce with commit a274a6a1acb99738f02de7b226e6a0d3883ec353 ("upstream-updater: Rename record field.") * tests/tests/gnu-maintenance.scm: ("latest-html-release, scheme-less URIs", "latest-html-release, no signature", "latest-html-release, signature"): Replace upstream-updater-latest by upstream-updater-import. Reported-by: Ricardo Wurmus <rekado@elephly.net> Hartmut Goebel