[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#50359] [PATCH 3/3] import: Add 'generic-git' updater.
From: |
Ludovic Courtès |
Subject: |
[bug#50359] [PATCH 3/3] import: Add 'generic-git' updater. |
Date: |
Mon, 13 Sep 2021 10:07:03 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Xinglu Chen <public@yoctocell.xyz> skribis:
> * guix/git.scm (ls-remote-refs): New procedure.
> * tests/git.scm ("remote-refs" "remote-refs: only tags"): New tests.
> * guix/import/git.scm: New file.
> * doc/guix.texi (Invoking guix refresh): Document it.
> * tests/import-git.scm: New test file.
> * Makefile.am (MODULES, SCM_TESTS): Register the new files.
>
> Co-authored-by: Sarah Morgensen <iskarian@mgsn.dev>
Nice, thanks for writing the tests!
> +++ b/tests/git.scm
> @@ -1,5 +1,6 @@
> ;;; GNU Guix --- Functional package management for GNU
> ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
> +;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -161,4 +162,29 @@
> (commit-relation master1 merge)
> (commit-relation merge master1))))))
>
> +(test-equal "remote-refs"
> + '("refs/heads/develop" "refs/heads/master"
> + "refs/tags/v1.0" "refs/tags/v1.1")
> + (with-temporary-git-repository directory
> + '((add "a.txt" "A")
> + (commit "First commit")
> + (tag "v1.0" "release-1.0")
> + (branch "develop")
> + (checkout "develop")
> + (add "b.txt" "B")
> + (commit "Second commit")
> + (tag "v1.1" "release-1.1"))
> + (remote-refs directory)))
[...]
> +(test-equal "latest-git-tag-version: no custom prefix, suffix, and delimiter"
> + "1.0.1"
> + (with-temporary-git-repository directory
> + '((add "a.txt" "A")
> + (commit "First commit")
> + (tag "1.0.1" "Release 1.0.1"))
> + (let ((package (make-package directory "1.0.0")))
> + (latest-git-tag-version package))))
I think that for each of these tests that uses the ‘git’ command under
the hood, you’ll need something like what ‘tests/git.scm’ does:
(unless (which (git-command)) (test-skip 1))
(test-equal …)
It’d admittedly annoying to have this boilerplate, but I can’t think of
a better solution.
Could you send an updated version? Then we’ll be all set!
Thank you,
Ludo’.
- [bug#50359] [PATCH] import: Add 'generic-git' updater., (continued)
[bug#50359] [PATCH] import: Add 'generic-git' updater., Xinglu Chen, 2021/09/05
[bug#50359] [PATCH 0/3] Add 'generic-git' updater., Xinglu Chen, 2021/09/10
[bug#50359] [PATCH 1/3] tests: git: Don't read from the users global Git config file., Xinglu Chen, 2021/09/10
[bug#50359] [PATCH v3 0/3] Add 'generic-git' updater, Xinglu Chen, 2021/09/17