diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2022-05-14 15:38:14 +0200 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2022-06-06 13:26:45 +0200 |
commit | f4763ec37df1aa03569ceff30192f5bf4bd736a8 (patch) | |
tree | 375e2a430fddc54632234fd64aa0bc55539434f0 /tests | |
parent | e3337f35afa83e746f0a66451fd4d2212c032b03 (diff) | |
download | guix-f4763ec37df1aa03569ceff30192f5bf4bd736a8.tar.gz |
import: cabal: Document failing syntax through tests.
* tests/hackage.scm (test-read-cabal-brackets-newline): New variable. (test-cabal-no-final-newline): Likewise. ("hackage->guix-package test without final newline", "read-cabal test: property brackets on new line"): New tests.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/hackage.scm | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/hackage.scm b/tests/hackage.scm index 98f9c34fd2..d7ecd0cc21 100644 --- a/tests/hackage.scm +++ b/tests/hackage.scm @@ -162,6 +162,16 @@ common defaults if os(foobar) { cc-options: -DBARBAZ } ") ; Intentional newline. +;; Test opening bracket on new line. +(define test-read-cabal-brackets-newline + "name: test-me +common defaults + build-depends: + { foobar + , barbaz + } +") + (test-begin "hackage") (define-syntax-rule (define-package-matcher name pattern) @@ -334,6 +344,21 @@ executable cabal (test-assert "hackage->guix-package test properties without space" (eval-test-with-cabal test-cabal-property-no-space match-ghc-foo)) +;; There may be no final newline terminating a property. +(define test-cabal-no-final-newline +"name: foo +version: 1.0.0 +homepage: http://test.org +synopsis: synopsis +description: description +license: BSD3 +executable cabal + build-depends: HTTP >= 4000.2.5 && < 4000.3, mtl >= 2.0 && < 3") + +(test-expect-fail 1) +(test-assert "hackage->guix-package test without final newline" + (eval-test-with-cabal test-cabal-no-final-newline match-ghc-foo)) + ;; Check if-elif-else statements (define test-cabal-if "name: foo @@ -509,6 +534,15 @@ executable cabal #t) (x (pk 'fail x #f)))) +(test-expect-fail 1) +(test-assert "read-cabal test: property brackets on new line" + (match (call-with-input-string test-read-cabal-brackets-newline read-cabal) + ((("name" ("test-me")) + ('section 'common "defaults" + (("build-depends" ("foobar , barbaz"))))) + #t) + (x (pk 'fail x #f)))) + (define test-cabal-import "name: foo version: 1.0.0 |