Unten ist ein Minimalbeispiel:
Geben Sie Folgendes in tests/testthat.R ein:
options(warn = 2)
library(testthat)
test_check("anRpackage", report = "summary")
In Tests/testthat/test.R
extcmd <- 'R -e \'print("hello")\''
system(extcmd, intern = TRUE)
Führen Sie dann R CMD check
(entweder mit 3.1 oder mit der aktuellen Entwicklerversion), ich erhalte die folgende Fehlermeldung:
* checking tests ...
Running ‘testthat.R’
ERROR
Running the tests in ‘tests/testthat.R’ failed.
Last 13 lines of output:
> library(testthat)
>
> test_check("anRpackage", report = "summary")
Loading required package: anRpackage
Error in file(filename, "r", encoding = encoding) :
cannot open the connection
Calls: local ... eval.parent -> eval -> eval -> eval -> eval -> source -> file
In addition: Warning message:
In file(filename, "r", encoding = encoding) :
cannot open file 'startup.Rs': No such file or directory
Execution halted
Error: (converted from warning) running command 'R -e 'print("hello")'' had status 1
Execution halted
Wenn ich test.R
ausführe oder R CMD BATCH test.R
ausführe oder test.R
direkt in den Ordner tests
lege und dann R CMD check
ausführe, läuft es einwandfrei.
Der Fehler ähnelt #129 und #86.
Ich verwende Ubuntu 64-Bit, sowohl 13.10 als auch 14.04.
Es ist R. Ich bekomme das gleiche Problem, wenn ich nur system("R CMD build ...")
über eine Datei in tests/
versuche - kein Test, der beteiligt ist (und ich bin über Google hierher gekommen ...)
Ubuntu 14.04, R 3.1.0.
Gut zu wissen, Dirk. Schließen wir dieses Thema dann.
Noooo - ich möchte es auch behoben haben :-/ Wir müssen einen Fix finden, der orthogonal dazu ist, ob es von Devtools oder Testthat oder youknowhat gekitzelt wird.
Ich stimme zu, aber nach Ihren neuen Informationen klingt dies nach einem R-Problem, nicht nach einem Test dieses Problems, oder? Es macht mir sicherlich nichts aus, diesen Fehler offen zu halten, aber ich möchte das Testen nicht mit einem Fehler überladen, der vom Autor nicht wirklich umsetzbar ist, es sei denn, wir ziehen eine Lösung in Betracht, nehme ich an.
Findest du es nicht besser, dies dem R-Kern zu melden und dort damit umzugehen?
Dies ist ein R-Problem. In Devtools haben wir (im Zusammenhang mit dem Setzen von Umgebungsvariablen):
# When R CMD check runs tests, it sets R_TESTS. When the tests
# themeselves run R CMD xxxx, as is the case with the tests in
# devtools, having R_TESTS set causes errors because it confuses
# the R subprocesses. Unsetting it here avoids those problems.
"R_TESTS" = "",
Ich bin gerade hierher gekommen, um das Hinzufügen zu bestätigen
Sys.setenv("R_TESTS" = "")
to the testfile scheint sich um diese Probleme zu kümmern.
Wurde dies R-core gemeldet? Wenn ja, wo? Vielen Dank.
Hilfreichster Kommentar
Wurde dies R-core gemeldet? Wenn ja, wo? Vielen Dank.