diff options
Diffstat (limited to 'tests/lint.scm')
-rw-r--r-- | tests/lint.scm | 48 |
1 files changed, 40 insertions, 8 deletions
diff --git a/tests/lint.scm b/tests/lint.scm index e96265a55a..76c2a70b3a 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -107,7 +107,7 @@ "Texinfo markup in description is invalid" (single-lint-warning-message (check-description-style - (dummy-package "x" (description "f{oo}b@r"))))) + (dummy-package "x" (description (identity "f{oo}b@r")))))) (test-equal "description: does not start with an upper-case letter" "description should start with an upper-case letter or digit" @@ -177,6 +177,20 @@ (description "Whitespace. ")))) (check-description-style pkg)))) +(test-equal "description: pluralized 'This package'" + "description contains typo 'This packages', should be 'This package'" + (single-lint-warning-message + (let ((pkg (dummy-package "x" + (description "This packages is a typo.")))) + (check-description-style pkg)))) + +(test-equal "description: grammar 'allows to'" + "description contains typo 'allows to'" + (single-lint-warning-message + (let ((pkg (dummy-package "x" + (description "This package allows to do stuff.")))) + (check-description-style pkg)))) + (test-equal "synopsis: not a string" "invalid synopsis: #f" (single-lint-warning-message @@ -195,7 +209,7 @@ "Texinfo markup in synopsis is invalid" (single-lint-warning-message (check-synopsis-style - (dummy-package "x" (synopsis "Bad $@ texinfo"))))) + (dummy-package "x" (synopsis (identity "Bad $@ texinfo")))))) (test-equal "synopsis: does not start with an upper-case letter" "synopsis should start with an upper-case letter or digit" @@ -366,6 +380,20 @@ `(("python-setuptools" ,python-setuptools)))))) (check-inputs-should-not-be-an-input-at-all pkg)))) +(test-assert "input labels: no warnings" + (let ((pkg (dummy-package "x" + (inputs `(("glib" ,glib) + ("pkg-config" ,pkg-config)))))) + (null? (check-input-labels pkg)))) + +(test-equal "input labels: one warning" + "label 'pkgkonfig' does not match package name 'pkg-config'" + (single-lint-warning-message + (let ((pkg (dummy-package "x" + (inputs `(("glib" ,glib) + ("pkgkonfig" ,pkg-config)))))) + (check-input-labels pkg)))) + (test-equal "explicit #:sh argument to 'wrap-program' is acceptable" '() (let* ((phases @@ -492,17 +520,17 @@ (file-name "x.patch"))))))))) (check-patch-file-names pkg))) -(test-equal "patches: file name too long" +(test-equal "patches: file name too long, which may break 'make dist'" (string-append "x-" - (make-string 100 #\a) - ".patch: file name is too long") + (make-string 152 #\a) + ".patch: file name is too long, which may break 'make dist'") (single-lint-warning-message (let ((pkg (dummy-package "x" (source (dummy-origin (patches (list (string-append "x-" - (make-string 100 #\a) + (make-string 152 #\a) ".patch")))))))) (check-patch-file-names pkg)))) @@ -572,7 +600,7 @@ (single-lint-warning-message (check-patch-headers pkg))))) (test-equal "derivation: invalid arguments" - "failed to create x86_64-linux derivation: (wrong-type-arg \"map\" \"Wrong type argument: ~S\" (invalid-module) ())" + "failed to create x86_64-linux derivation: (match-error \"match\" \"no matching pattern\" invalid-module)" (match (let ((pkg (dummy-package "x" (arguments '(#:imported-modules (invalid-module)))))) @@ -1319,7 +1347,11 @@ (let* ((stackage (string-append "{ \"packages\": [{" " \"name\":\"pandoc\"," " \"synopsis\":\"synopsis\"," - " \"version\":\"1.0\" }]}")) + " \"version\":\"1.0\" }]," + " \"snapshot\": {" + " \"ghc\": \"8.6.5\"," + " \"name\": \"lts-14.27\"" + " }}")) (packages (map (lambda (version) (dummy-package "ghc-pandoc" |