загадочное сообщение об ошибке в testthat

Я запускаю testthat в Rstudio (Windows 0.98.1056) и получаю следующую ошибку. Кажется, он появился после того, как я обновил Rstudio и установил пакеты R, но я подозреваю, что они могут быть не связаны напрямую. Ошибка возникает и в очень простом тестовом файле. Кто-нибудь сталкивался с этим?

файл: тесты/test-all.R

library(testthat)
library(matrixUtils)
test_package("matrixUtils")

файл: тесты/testthat/matrixUtils-test.R

context("testa")
test_that("subsetting by one dimension", {
  a <-1 
  expect_equal(a, 1)
})

Сообщение об ошибке:

==> Sourcing R files in 'tests' directory

Error: '\.' is an unrecognized escape in character string starting "'\." Execution halted

Exited with status 1.


sessionInfo() R version 3.1.1 (2014-07-10) Platform: x86_64-w64-mingw32/x64 (64-bit)

locale: [1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages: [1] grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages: [1] magrittr_1.1.0  matrixUtils_0.2 testthat_0.8.1  dplyr_0.2.0.99  reshape2_1.4    ggplot2_1.0.0   gridExtra_0.9.1 [8] zoo_1.7-11     

loaded via a namespace (and not attached):  [1] assertthat_0.1   colorspace_1.2-4 digest_0.6.4     gtable_0.1.2     lattice_0.20-29  MASS_7.3-34      munsell_0.4.2     [8] parallel_3.1.1   plyr_1.8.1     proto_0.3-10     Rcpp_0.11.2      scales_0.2.4     stringr_0.6.2    tools_3.1.1     
>

person gappy    schedule 15.09.2014    source источник
comment
Вы должны доказать воспроизводимый пример. Не просто вставляйте сообщение об ошибке, покажите код, который вы запускали, который сгенерировал сообщение. Создайте пример, который мы можем запустить, чтобы получить ту же ошибку, что и вы, иначе у нас действительно нет способа точно узнать, что вызывает это.   -  person MrFlick    schedule 15.09.2014
comment
Если я не поделюсь всем пакетом, то, что вы предлагаете, не совсем осуществимо. Но я рад поделиться тестовым кодом. Задавать вопрос как есть все еще может быть полезно: часто я могу сказать, в чем проблема в ошибках сборки/тестирования, не зная кода.   -  person gappy    schedule 15.09.2014
comment
Я предлагаю вам отлаживать свой код, чтобы создать минимальный воспроизводимый пример. Идите вперед и опубликуйте очень простой тестовый файл, чтобы мы работали так же, как и вы. Это сообщение об ошибке кажется очень специфичным для строк символов. Я действительно не понимаю, какого ответа вы ожидаете здесь без конкретного примера.   -  person MrFlick    schedule 15.09.2014
comment
Эта проблема возникает исключительно с test_package()? Что, если вы просто используете test_file() в файле примера? (Пока я не смог воспроизвести.)   -  person MrFlick    schedule 15.09.2014
comment
Я собирался опубликовать пакет на github, но убедился, что пакет успешно тестируется в Linux, но не в Windows. Это кажется нетривиальной системной проблемой.   -  person gappy    schedule 16.09.2014
comment
@gappy У меня такая же проблема. Вы смогли ее решить?   -  person HBat    schedule 16.10.2014
comment
@HBatЯ думаю, что обновил testthat в Linux, и проблема исчезла.   -  person gappy    schedule 17.10.2014


Ответы (1)


Без пакета сложно проверить вашу ошибку. Некоторые идеи:

Это была подобная ошибка, описанная в #187 на github/hadley/testthat.

  1. #P3#
    #P4#
    #P5#
    #P6#
  2. Если это не работает. Проверьте свои пути и используйте file.path() для создания путей, используя строки в вашем пакете. Эта ошибка, похоже, возникает из-за неверно указанных путей.

Надеюсь, что это поможет gappy, и вы скоро получите радостные тестовые сообщения "woot"!

M

person micstr    schedule 17.03.2015