aboutsummaryrefslogtreecommitdiff
path: root/gnu/build
ModeNameSize
-rw-r--r--activation.scm17796logplainabout
-rw-r--r--bootloader.scm1334logplainabout
-rw-r--r--cross-toolchain.scm7362logplainabout
-rw-r--r--file-systems.scm23300logplainabout
-rw-r--r--install.scm9008logplainabout
-rw-r--r--linux-boot.scm20328logplainabout
-rw-r--r--linux-container.scm13933logplainabout
-rw-r--r--linux-initrd.scm5439logplainabout
-rw-r--r--linux-modules.scm14084logplainabout
-rw-r--r--marionette.scm11367logplainabout
-rw-r--r--shepherd.scm6957logplainabout
-rw-r--r--svg.scm3124logplainabout
-rw-r--r--vm.scm21206logplainabout
urce->sexp upstream-source) (define url (upstream-source-urls upstream-source)) (unless (git-reference? url) (error "a <git-reference> is expected")) `(,(upstream-source-package upstream-source) ,(upstream-source-version upstream-source) ,(git-reference-url url) ,(git-reference-commit url))) (define* (expected-sexp new-version new-commit) `("foomatics" ,new-version "https://github.com/foo/foomatics" ,new-commit)) (define (example-package old-version old-commit) (package (name "foomatics") (version old-version) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/foo/foomatics") (commit old-commit))) (sha256 #f) ; not important for following tests (file-name (git-file-name name version)))) (build-system #f) (license #f) (synopsis #f) (description #f) (home-page #f))) (define* (found-sexp old-version old-commit tags releases) (and=> (call-with-releases (lambda () ((upstream-updater-import %github-updater) (example-package old-version old-commit))) tags releases) upstream-source->sexp)) (define-syntax-rule (test-release test-case old-version old-commit new-version new-commit tags releases) (test-equal test-case (expected-sexp new-version new-commit) (found-sexp old-version old-commit tags releases))) (test-release "newest release is choosen" "1.0.0" "v1.0.0" "1.9" "v1.9" #() ;; a mixture of current, older and newer versions #((("tag_name" . "v0.0")) (("tag_name" . "v1.0.1")) (("tag_name" . "v1.9")) (("tag_name" . "v1.0.0")) (("tag_name" . "v1.0.2")))) (test-release "tags are used when there are no formal releases" "1.0.0" "v1.0.0" "1.9" "v1.9" ;; a mixture of current, older and newer versions #((("name" . "v0.0")) (("name" . "v1.0.1")) (("name" . "v1.9")) (("name" . "v1.0.0")) (("name" . "v1.0.2"))) #()) (test-release "\"version-\" prefixes are recognised" "1.0.0" "v1.0.0" "1.9" "version-1.9" #((("name" . "version-1.9"))) #()) (test-release "prefixes are optional" "1.0.0" "v1.0.0" "1.9" "1.9" #((("name" . "1.9"))) #()) (test-release "prefixing by package name is acceptable" "1.0.0" "v1.0.0" "1.9" "foomatics-1.9" #((("name" . "foomatics-1.9"))) #()) (test-release "not all prefixes are acceptable" "1.0.0" "v1.0.0" "1.0.0" "v1.0.0" #((("name" . "v1.0.0")) (("name" . "barstatics-1.9"))) #()) (test-end "github")