M guix/scripts/lint.scm => guix/scripts/lint.scm +2 -1
@@ 47,7 47,8 @@
check-inputs-should-be-native
check-patches
check-synopsis-style
- check-home-page))
+ check-home-page
+ check-source))
;;;
M tests/lint.scm => tests/lint.scm +33 -0
@@ 46,6 46,11 @@
(string-append "http://localhost:" (number->string %http-server-port)
"/foo/bar"))
+(define %null-sha256
+ ;; SHA256 of the empty string.
+ (base32
+ "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73"))
+
(define %http-server-socket
;; Socket used by the Web server.
(catch 'system-error
@@ 363,6 368,34 @@ requests."
(check-home-page pkg))))
"not reachable: 404")))
+(test-skip (if %http-server-socket 0 1))
+(test-equal "source: 200"
+ ""
+ (with-warnings
+ (with-http-server 200
+ (let ((pkg (package
+ (inherit (dummy-package "x"))
+ (source (origin
+ (method url-fetch)
+ (uri %local-url)
+ (sha256 %null-sha256))))))
+ (check-source pkg)))))
+
+(test-skip (if %http-server-socket 0 1))
+(test-assert "source: 404"
+ (->bool
+ (string-contains
+ (with-warnings
+ (with-http-server 404
+ (let ((pkg (package
+ (inherit (dummy-package "x"))
+ (source (origin
+ (method url-fetch)
+ (uri %local-url)
+ (sha256 %null-sha256))))))
+ (check-source pkg))))
+ "not reachable: 404")))
+
(test-end "lint")