1
0
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:
Ricardo Wurmus
2025-11-14 22:26:20 +01:00
parent 383fb009c8
commit ad87b718ed
2 changed files with 41 additions and 14 deletions
+17 -2
View File
@@ -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))