aboutsummaryrefslogtreecommitdiff
path: root/tests/channels.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-09-21 21:29:30 +0200
committerLudovic Courtès <ludo@gnu.org>2019-09-23 10:38:44 +0200
commit9719e8d37aaa63e1c8f9d4ab1e28d49e2e56d85b (patch)
tree0069ed50d061dadb41a64354db8995c0a8603cf7 /tests/channels.scm
parent8ba7fd3cd6962f1c1aaaa5f71eed7f9222094f25 (diff)
downloadpatches-9719e8d37aaa63e1c8f9d4ab1e28d49e2e56d85b.tar
patches-9719e8d37aaa63e1c8f9d4ab1e28d49e2e56d85b.tar.gz
channels: Allow news entries to refer to a tag.
Suggested by Ricardo Wurmus <rekado@elephly.net>. * guix/channels.scm (<channel-news-entry>)[tag]: New field. (sexp->channel-news-entry): Accept either 'commit' or 'tag' in 'entry' forms. (resolve-channel-news-entry-tag): New procedure. (channel-news-for-commit): Move 'with-repository' form one level higher. Call 'resolve-channel-news-entry-tag' on all the news entries. * guix/tests/git.scm (populate-git-repository): Add clause for 'tag'. * tests/channels.scm ("channel-news, one entry"): Create a tag and add an entry with a tag. Check that the tag is resolved and also visible in the <channel-news-entry> record. * doc/guix.texi (Channels): Mention tags in news entries.
Diffstat (limited to 'tests/channels.scm')
-rw-r--r--tests/channels.scm9
1 files changed, 7 insertions, 2 deletions
diff --git a/tests/channels.scm b/tests/channels.scm
index 58101bcb72..f5a7955483 100644
--- a/tests/channels.scm
+++ b/tests/channels.scm
@@ -272,6 +272,7 @@
(commit "first commit")
(add "src/a.txt" "A")
(commit "second commit")
+ (tag "tag-for-first-news-entry")
(add "news.scm"
,(lambda (repository)
(let ((previous
@@ -299,7 +300,7 @@
(entry (commit ,(oid->string previous))
(title (en "Another file!"))
(body (en "Yeah, b.txt.")))
- (entry (commit ,(oid->string second))
+ (entry (tag "tag-for-first-news-entry")
(title (en "Old news.")
(eo "Malnovaĵoj."))
(body (en "For a.txt"))))))))
@@ -343,6 +344,10 @@
(lset= string=?
(map channel-news-entry-commit
(channel-news-for-commit channel commit5 commit1))
- (list commit4 commit2)))))))
+ (list commit4 commit2))
+ (lset= equal?
+ (map channel-news-entry-tag
+ (channel-news-for-commit channel commit5 commit1))
+ '(#f "tag-for-first-news-entry")))))))
(test-end "channels")