Should try() not stop those checks from forcing an error? I recognize that this is the failure -- it is indeed the check I'm trying to catch -- but I don't want tests of such checks to fail my package.
JN On 2019-06-07 9:31 a.m., Sebastian Meyer wrote: > The failure stated in the R CMD check failure report is: > >> --- failure: length > 1 in coercion to logical --- > > This comes from --as-cran performing useful extra checks via setting the > environment variable _R_CHECK_LENGTH_1_LOGIC2_, which means: > >> check if either argument of the binary operators && and || has length >> greater than one. > > (see https://cran.r-project.org/doc/manuals/r-release/R-ints.html#Tools) > > The failure report also states the source of the failure: > >> --- call from context --- >> fchk(x, benbad, trace = 3, y) >> --- call from argument --- >> is.infinite(fval) || is.na(fval) > > The problem is that both is.infinite(fval) and is.na(fval) return > vectors of length 10 in your test case: > >> --- value of length: 10 type: logical --- >> [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE > > The || operator works on length 1 Booleans. Since fval can be of length > greater than 1 at that point, the proper condition seems to be: > > any(is.infinite(fval)) || any(is.na(fval)) > > Best regards, > > Sebastian > > > Am 07.06.19 um 14:53 schrieb J C Nash: >> Sorry reply not quicker. For some reason I'm not getting anything in the >> thread I started! >> I found the responses in the archives. Perhaps cc: nas...@uottawa.ca please. >> >> I have prepared a tiny (2.8K) package at >> http://web.ncf.ca/nashjc/jfiles/fchk_2019-6.5.tar.gz >> >> R CMD check --> OK >> >> R CMD check --as-cran --> 1 ERROR, 1 NOTE >> >> The error is in an example: >> >>> benbad<-function(x, y){ >>> # y may be provided with different structures >>> f<-(x-y)^2 >>> } # very simple, but ... >>> >>> y<-1:10 >>> x<-c(1) >>> cat("test benbad() with y=1:10, x=c(1)\n") >>> tryfc01 <- try(fc01<-fchk(x, benbad, trace=3, y)) >>> print(tryfc01) >>> print(fc01) >> >> There's quite a lot of output, but it doesn't make much sense to me, as >> it refers to code that I didn't write. >> >> The function fchk is attempting to check if functions provided for >> optimization do not violate some conditions e.g., character rather than >> numeric etc. >> >> JN >> >> >> On 2019-06-07 8:44 a.m., J C Nash wrote: >>> Uwe Ligges ||gge@ @end|ng |rom @t@t|@t|k@tu-dortmund@de >>> Fri Jun 7 11:44:37 CEST 2019 >>> >>> Previous message (by thread): [R-pkg-devel] try() in R CMD check >>> --as-cran >>> Next message (by thread): [R-pkg-devel] using package data in package >>> code >>> Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] >>> >>> Right, what problem are you talking about? Can you tell us which check >>> it is and what it actually complained about. >>> There is no check that looks at the sizes of x and y in exypressions >>> such as >>> (x - y)^2. >>> as far as I know. >>> >>> Best, >>> Uwe >>> >>> On 07.06.2019 10:33, Berry Boessenkool wrote: >>>> >>>> Not entirely sure if this is what you're looking for: >>>> https://github.com/wch/r-source/blob/trunk/src/library/tools/R/check.R >>>> It does contain --as-cran a few times and there's the change-history: >>>> https://github.com/wch/r-source/commits/trunk/src/library/tools/R/check.R >>>> >>>> Regards, >>>> Berry >>>> >>>> >>>> ________________________________ >>>> From: R-package-devel <r-package-devel-bounces using r-project.org> on >>>> behalf of J C Nash <profjcnash using gmail.com> >>>> Sent: Thursday, June 6, 2019 15:03 >>>> To: List r-package-devel >>>> Subject: [R-pkg-devel] try() in R CMD check --as-cran >>>> >>>> After making a small fix to my optimx package, I ran my usual R CMD check >>>> --as-cran. >>>> >>>> To my surprise, I got two ERRORs unrelated to the change. The errors >>>> popped up in >>>> a routine designed to check the call to the user objective function. In >>>> particular, >>>> one check is that the size of vectors is the same in expressions like (x - >>>> y)^2. >>>> This works fine with R CMD check, but the --as-cran seems to have changed >>>> and it >>>> pops an error, even when the call is inside try(). The irony that the >>>> routine in >>>> question is intended to avoid problems like this is not lost on me. >>>> >>>> I'm working on a small reproducible example, but it's not small enough yet. >>>> In the meantime, I'm looking for the source codes of the scripts for "R >>>> CMD check" and >>>> "R CMD check --as-cran" so I can work out why there is this difference, >>>> which seems >>>> to be recent. >>>> >>>> Can someone send/post a link? I plan to figure this out and provide >>>> feedback, >>>> as I suspect it is going to affect others. However, it may be a few days >>>> or even >>>> weeks if past experience is a guide. >>>> >>>> JN >>>> >>>> ______________________________________________ >>>> R-package-devel using r-project.org mailing list >>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> ______________________________________________ >>>> R-package-devel using r-project.org mailing list >>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel >>>> >>> >> >> ______________________________________________ >> R-package-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-package-devel >> > > ______________________________________________ > R-package-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-package-devel > ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel