From 2383e145185efb2e6f99931707ec93d65d166432 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 17 Oct 2022 23:12:07 +0200 Subject: lint: source: Add check for over HTTP(S). * guix/lint.scm (svn-reference-uri-with-userinfo): New procedure. (check-source): Add 'svn-reference?' clause. * tests/lint.scm ("source: svn-reference, HTTP 200") ("source: svn-reference, HTTP 404"): New tests. --- tests/lint.scm | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/lint.scm b/tests/lint.scm index 8be74d2604..b848e32aee 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Cyril Roelandt ;;; Copyright © 2014, 2015, 2016 Eric Bavier -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2014-2022 Ludovic Courtès ;;; Copyright © 2015, 2016 Mathieu Lirzin ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017 Alex Kost @@ -35,6 +35,7 @@ (define-module (test-lint) #:use-module (guix tests http) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix svn-download) #:use-module (guix build-system texlive) #:use-module (guix build-system emacs) #:use-module (guix build-system gnu) @@ -1085,6 +1086,35 @@ (define (package-with-phase-changes changes) (and (? lint-warning?) second-warning)) (lint-warning-message second-warning))))))))) +(test-equal "source: svn-reference, HTTP 200" + '() + (with-http-server `((200 ,%long-string)) + (let ((pkg (package + (inherit (dummy-package "x")) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (%local-url)) + (revision 1234))) + (sha256 %null-sha256)))))) + (check-source pkg)))) + +(with-http-server `((404 ,%long-string)) + (test-equal "source: svn-reference, HTTP 404" + (format #f "URI ~a not reachable: 404 (\"Such is life\")" + (%local-url)) + (let ((pkg (package + (inherit (dummy-package "x")) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (%local-url)) + (revision 1234))) + (sha256 %null-sha256)))))) + (match (check-source pkg) + ((warning) + (lint-warning-message warning)))))) + (test-equal "mirror-url" '() (let ((source (origin -- cgit v1.2.3