mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-05-25 18:41:54 +02:00
import/cran: Reduce false positives in extracting imports.
* tests/import/cran.scm: Add tests for extract-imports. * guix/import/cran.scm (extract-imports): New procedure, extracted from... (needed-test-inputs-in-directory): ...this procedure, which now uses it. (import-pattern): Update regex pattern. Change-Id: I07ac3f685ff08a0fa7da3c25cf1f63fbca18b95f
This commit is contained in:
+17
-2
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -20,6 +20,7 @@
|
||||
(define-module (test-cran)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (guix import cran)
|
||||
#:use-module (guix sets)
|
||||
#:use-module (guix tests)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-64)
|
||||
@@ -88,7 +89,21 @@ Date/Publication: 2015-07-14 14:15:16
|
||||
'()
|
||||
((@@ (guix import cran) listify) simple-alist "BadList"))
|
||||
|
||||
(test-equal "r-mininal is not a cran package"
|
||||
(test-equal "extract-imports: finds data.table"
|
||||
(list "data.table")
|
||||
(set->list ((@ (guix import cran) extract-imports) "abc + data.table::some_procedure()")))
|
||||
|
||||
(test-equal "extract-imports: ignores text inside strings"
|
||||
(list)
|
||||
(set->list ((@ (guix import cran) extract-imports)
|
||||
"\"hello::world\", \"this is not data.table::some_procedure(), actually\"")))
|
||||
|
||||
(test-equal "extract-imports: ignores other colon separated things"
|
||||
(list)
|
||||
(set->list ((@ (guix import cran) extract-imports)
|
||||
"this:is:not::a:procedure")))
|
||||
|
||||
(test-equal "r-minimal is not a cran package"
|
||||
#f
|
||||
((@@ (guix import cran) cran-package?) r-minimal))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user