[R-pkg-devel] Does a file in tests/ know which package it is being run from?
Dirk Eddelbuettel
edd @end|ng |rom deb|@n@org
Sat Apr 17 01:05:51 CEST 2021
When a script in tests/ is being run by R CMD check and friends, can we know
what package it is currently being part of? I want to access some package
files via system.file(..., package=pkg) which works just fine, but it feels
redundant to assign the package name to the pkg variable.
Case in point is that I once again forgot to update the inst/NEWS.Rd file for
an upload today. As I use a structured format, I can fairly reliably extract
the most recent version therein, and DESCRIPTION has the current version. So
what follows works fine , but per the preceding paragraph, do I need really
need 'pkg <- "RcppAPT"' here or can I do better?
Thanks for any pointers, Dirk
---- tests/version.R for RcppAPT follows -----------------------------------
pkg <- "RcppAPT"
nrdfile <- system.file("NEWS.Rd", package = pkg)
if (file.exists(nrdfile)) {
nrd <- readLines(nrdfile)
ver <- as.package_version(gsub(".* ([0-9\\.]+) .*", "\\1", nrd[grepl("\\{Changes", nrd)]))
dcf <- read.dcf(system.file("DESCRIPTION", package = pkg))
cur <- as.package_version(dcf[[1,"Version"]])
if (cur != ver[1]) stop("Expected NEWS entry for ", cur, " but saw ", ver[1], call. = FALSE)
}
-----------------------------------------------------------------------------
--
https://dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
More information about the R-package-devel
mailing list