From 02f1ff69c647daa150cbff9d93fee25a6b43e152 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Wed, 17 Sep 2025 00:56:15 +0200 Subject: import: git: Move tests to tests/import/git.scm. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tests/import-git.scm: Move to tests/import/git.scm. * Makefile.am: Refresh it. Signed-off-by: Ludovic Courtès --- Makefile.am | 2 +- tests/import-git.scm | 240 --------------------------------------------------- tests/import/git.scm | 240 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 241 insertions(+), 241 deletions(-) delete mode 100644 tests/import-git.scm create mode 100644 tests/import/git.scm diff --git a/Makefile.am b/Makefile.am index da46ac28695..472909a62a2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -570,12 +570,12 @@ SCM_TESTS = \ tests/import/egg.scm \ tests/import/elm.scm \ tests/import/gem.scm \ + tests/import/git.scm \ tests/import/hackage.scm \ tests/import/pypi.scm \ tests/home-import.scm \ tests/home-services.scm \ tests/http-client.scm \ - tests/import-git.scm \ tests/import-github.scm \ tests/import-utils.scm \ tests/inferior.scm \ diff --git a/tests/import-git.scm b/tests/import-git.scm deleted file mode 100644 index a532070a8d5..00000000000 --- a/tests/import-git.scm +++ /dev/null @@ -1,240 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Xinglu Chen . - -(define-module (test-import-git) - #:use-module (git) - #:use-module (guix git) - #:use-module (guix tests) - #:use-module (guix packages) - #:use-module (guix import git) - #:use-module ((guix import utils) #:select (find-version)) - #:use-module (guix git-download) - #:use-module (guix tests git) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-64)) - -;; Test the (guix import git) tools. - -(test-begin "git") - -(define* (make-package directory version #:optional (properties '())) - (dummy-package "test-package" - (version version) - (properties properties) - (source - (origin - (method git-fetch) - (uri (git-reference - (url (string-append "file://" directory)) - (commit version))) - (sha256 - (base32 - "0000000000000000000000000000000000000000000000000000")))))) - -(define (latest-git-tag-version package) - (find-version (map car ((@@ (guix import git) get-package-tags) package)))) - -(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)))) - -(test-equal "latest-git-tag-version: custom prefix, no suffix and delimiter" - "1.0.1" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "prefix-1.0.1" "Release 1.0.1")) - (let ((package (make-package directory "1.0.0" - '((release-tag-prefix . "prefix-"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: custom suffix, no prefix and delimiter" - "1.0.1" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "1.0.1-suffix-123" "Release 1.0.1")) - (let ((package (make-package directory "1.0.0" - '((release-tag-suffix . "-suffix-[0-9]*"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: custom delimiter, no prefix and suffix" - "2021.09.07" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "2021-09-07" "Release 2021-09-07")) - (let ((package (make-package directory "2021-09-06" - '((release-tag-version-delimiter . "-"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: empty delimiter, no prefix and suffix" - "20210907" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "20210907" "Release 20210907")) - (let ((package (make-package directory "20210906" - '((release-tag-version-delimiter . ""))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: custom prefix and suffix, no delimiter" - "2.0.0" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "Release-2.0.0suffix-1" "Release 2.0.0")) - (let ((package (make-package directory "1.0.0" - '((release-tag-prefix . "Release-") - (release-tag-suffix . "suffix-[0-9]"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: custom prefix, suffix, and delimiter" - "2.0.0" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "Release-2_0_0suffix-1" "Release 2.0.0")) - (let ((package (make-package directory "1.0.0" - '((release-tag-prefix . "Release-") - (release-tag-suffix . "suffix-[0-9]") - (release-tag-version-delimiter . "_"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: only pre-releases available" - #f - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "2.0.0-rc1" "Release candidate for 2.0.0")) - (let ((package (make-package directory "1.0.0"))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: accept pre-releases" - "2.0.0-rc1" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "2.0.0-rc1" "Release candidate for 2.0.0")) - (let ((package (make-package directory "1.0.0" - '((accept-pre-releases? . #t))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: accept pre-releases, and custom prefix" - "2.0.0-rc1" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "version-2.0.0-rc1" "Release candidate for 2.0.0")) - (let ((package (make-package directory "1.0.0" - '((accept-pre-releases? . #t) - (release-tag-prefix . "version-"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: accept pre-releases, and custom suffix" - "2.0.0-rc1" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "2.0.0-rc1-suffix" "Release candidate for 2.0.0")) - (let ((package (make-package directory "1.0.0" - '((accept-pre-releases? . #t) - (release-tag-suffix . "-suffix"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: accept pre-releases, delimiter conflicts with pre-release part" - "2.0.0_alpha" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "2_0_0_alpha" "Alpha release for 2.0.0")) - (let ((package (make-package directory "1.0.0" - '((accept-pre-releases? . #t) - (release-tag-version-delimiter . "_"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: accept pre-releases, and custom suffix and prefix" - "2.0.0-alpha" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "prefix123-2.0.0-alpha-suffix" "Alpha release for 2.0.0")) - (let ((package (make-package directory "1.0.0" - '((accept-pre-releases? . #t) - (release-tag-prefix . "prefix[0-9]{3}-") - (release-tag-suffix . "-suffix"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: accept pre-releases, and custom suffix, prefix, and delimiter" - "2.0.0-alpha" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "prefix123-2-0-0-alpha-suffix" "Alpha release for 2.0.0")) - (let ((package (make-package directory "1.0.0" - '((accept-pre-releases? . #t) - (release-tag-prefix . "prefix[0-9]{3}-") - (release-tag-suffix . "-suffix") - (release-tag-version-delimiter . "-"))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: accept pre-releases, no delimiter, and custom suffix, prefix" - "2alpha" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "prefix123-2alpha-suffix" "Alpha release for version 2")) - (let ((package (make-package directory "1.0.0" - '((accept-pre-releases? . #t) - (release-tag-prefix . "prefix[0-9]{3}-") - (release-tag-suffix . "-suffix") - (release-tag-version-delimiter . ""))))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: no tags found" - #f - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit")) - (let ((package (make-package directory "1.0.0"))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: no valid tags found" - #f - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "Test" "Test tag")) - (let ((package (make-package directory "1.0.0"))) - (latest-git-tag-version package)))) - -(test-equal "latest-git-tag-version: prefix contains pre-release words" - "1.0.1" - (with-temporary-git-repository directory - '((add "a.txt" "A") - (commit "First commit") - (tag "libdevx-1.0.1" "Release 1.0.1")) - (let ((package (make-package directory "1.0.0"))) - (latest-git-tag-version package)))) - -(test-end "git") diff --git a/tests/import/git.scm b/tests/import/git.scm new file mode 100644 index 00000000000..a532070a8d5 --- /dev/null +++ b/tests/import/git.scm @@ -0,0 +1,240 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Xinglu Chen . + +(define-module (test-import-git) + #:use-module (git) + #:use-module (guix git) + #:use-module (guix tests) + #:use-module (guix packages) + #:use-module (guix import git) + #:use-module ((guix import utils) #:select (find-version)) + #:use-module (guix git-download) + #:use-module (guix tests git) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-64)) + +;; Test the (guix import git) tools. + +(test-begin "git") + +(define* (make-package directory version #:optional (properties '())) + (dummy-package "test-package" + (version version) + (properties properties) + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append "file://" directory)) + (commit version))) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))))) + +(define (latest-git-tag-version package) + (find-version (map car ((@@ (guix import git) get-package-tags) package)))) + +(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)))) + +(test-equal "latest-git-tag-version: custom prefix, no suffix and delimiter" + "1.0.1" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "prefix-1.0.1" "Release 1.0.1")) + (let ((package (make-package directory "1.0.0" + '((release-tag-prefix . "prefix-"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: custom suffix, no prefix and delimiter" + "1.0.1" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "1.0.1-suffix-123" "Release 1.0.1")) + (let ((package (make-package directory "1.0.0" + '((release-tag-suffix . "-suffix-[0-9]*"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: custom delimiter, no prefix and suffix" + "2021.09.07" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "2021-09-07" "Release 2021-09-07")) + (let ((package (make-package directory "2021-09-06" + '((release-tag-version-delimiter . "-"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: empty delimiter, no prefix and suffix" + "20210907" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "20210907" "Release 20210907")) + (let ((package (make-package directory "20210906" + '((release-tag-version-delimiter . ""))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: custom prefix and suffix, no delimiter" + "2.0.0" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "Release-2.0.0suffix-1" "Release 2.0.0")) + (let ((package (make-package directory "1.0.0" + '((release-tag-prefix . "Release-") + (release-tag-suffix . "suffix-[0-9]"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: custom prefix, suffix, and delimiter" + "2.0.0" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "Release-2_0_0suffix-1" "Release 2.0.0")) + (let ((package (make-package directory "1.0.0" + '((release-tag-prefix . "Release-") + (release-tag-suffix . "suffix-[0-9]") + (release-tag-version-delimiter . "_"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: only pre-releases available" + #f + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "2.0.0-rc1" "Release candidate for 2.0.0")) + (let ((package (make-package directory "1.0.0"))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: accept pre-releases" + "2.0.0-rc1" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "2.0.0-rc1" "Release candidate for 2.0.0")) + (let ((package (make-package directory "1.0.0" + '((accept-pre-releases? . #t))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: accept pre-releases, and custom prefix" + "2.0.0-rc1" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "version-2.0.0-rc1" "Release candidate for 2.0.0")) + (let ((package (make-package directory "1.0.0" + '((accept-pre-releases? . #t) + (release-tag-prefix . "version-"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: accept pre-releases, and custom suffix" + "2.0.0-rc1" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "2.0.0-rc1-suffix" "Release candidate for 2.0.0")) + (let ((package (make-package directory "1.0.0" + '((accept-pre-releases? . #t) + (release-tag-suffix . "-suffix"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: accept pre-releases, delimiter conflicts with pre-release part" + "2.0.0_alpha" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "2_0_0_alpha" "Alpha release for 2.0.0")) + (let ((package (make-package directory "1.0.0" + '((accept-pre-releases? . #t) + (release-tag-version-delimiter . "_"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: accept pre-releases, and custom suffix and prefix" + "2.0.0-alpha" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "prefix123-2.0.0-alpha-suffix" "Alpha release for 2.0.0")) + (let ((package (make-package directory "1.0.0" + '((accept-pre-releases? . #t) + (release-tag-prefix . "prefix[0-9]{3}-") + (release-tag-suffix . "-suffix"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: accept pre-releases, and custom suffix, prefix, and delimiter" + "2.0.0-alpha" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "prefix123-2-0-0-alpha-suffix" "Alpha release for 2.0.0")) + (let ((package (make-package directory "1.0.0" + '((accept-pre-releases? . #t) + (release-tag-prefix . "prefix[0-9]{3}-") + (release-tag-suffix . "-suffix") + (release-tag-version-delimiter . "-"))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: accept pre-releases, no delimiter, and custom suffix, prefix" + "2alpha" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "prefix123-2alpha-suffix" "Alpha release for version 2")) + (let ((package (make-package directory "1.0.0" + '((accept-pre-releases? . #t) + (release-tag-prefix . "prefix[0-9]{3}-") + (release-tag-suffix . "-suffix") + (release-tag-version-delimiter . ""))))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: no tags found" + #f + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit")) + (let ((package (make-package directory "1.0.0"))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: no valid tags found" + #f + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "Test" "Test tag")) + (let ((package (make-package directory "1.0.0"))) + (latest-git-tag-version package)))) + +(test-equal "latest-git-tag-version: prefix contains pre-release words" + "1.0.1" + (with-temporary-git-repository directory + '((add "a.txt" "A") + (commit "First commit") + (tag "libdevx-1.0.1" "Release 1.0.1")) + (let ((package (make-package directory "1.0.0"))) + (latest-git-tag-version package)))) + +(test-end "git") -- cgit v1.3