From 4bbb0acb2348317f33f775b9721e2090e1ba0d50 Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Fri, 28 Apr 2017 23:54:19 -0400 Subject: [PATCH 1/3] Add local repository tests Add repo and packages to support --- tests/testthat/packages/cereal/DESCRIPTION | 10 ++++++++ tests/testthat/packages/yogurt/DESCRIPTION | 9 +++++++ .../projects/breakfastcereal/.Rprofile | 3 +++ .../projects/breakfastcereal/.gitignore | 2 ++ .../breakfastcereal/packrat/packrat.lock | 15 ++++++++++++ .../projects/breakfastyogurt/yogurt.R | 1 + tests/testthat/repo/src/contrib/PACKAGES | 14 +++++++++++ tests/testthat/repo/src/contrib/PACKAGES.gz | Bin 289 -> 361 bytes .../src/contrib/cereal/cereal_1.0.0.tar.gz | Bin 0 -> 400 bytes .../src/contrib/cereal/cereal_2.0.0.tar.gz | Bin 0 -> 400 bytes .../src/contrib/yogurt/yogurt_1.0.0.tar.gz | Bin 0 -> 389 bytes tests/testthat/test-local-repositories.R | 22 ++++++++++++++++++ 12 files changed, 76 insertions(+) create mode 100644 tests/testthat/packages/cereal/DESCRIPTION create mode 100644 tests/testthat/packages/yogurt/DESCRIPTION create mode 100644 tests/testthat/projects/breakfastcereal/.Rprofile create mode 100644 tests/testthat/projects/breakfastcereal/.gitignore create mode 100644 tests/testthat/projects/breakfastcereal/packrat/packrat.lock create mode 100644 tests/testthat/projects/breakfastyogurt/yogurt.R create mode 100644 tests/testthat/repo/src/contrib/cereal/cereal_1.0.0.tar.gz create mode 100644 tests/testthat/repo/src/contrib/cereal/cereal_2.0.0.tar.gz create mode 100644 tests/testthat/repo/src/contrib/yogurt/yogurt_1.0.0.tar.gz diff --git a/tests/testthat/packages/cereal/DESCRIPTION b/tests/testthat/packages/cereal/DESCRIPTION new file mode 100644 index 00000000..7eced6fc --- /dev/null +++ b/tests/testthat/packages/cereal/DESCRIPTION @@ -0,0 +1,10 @@ +Package: cereal +Type: Package +Version: 2.0.0 +Repository: testrepo +License: GPL +Description: Packrat test package +Title: Packrat test package +Author: Anonymous Person +Maintainer: Anonymous Person + diff --git a/tests/testthat/packages/yogurt/DESCRIPTION b/tests/testthat/packages/yogurt/DESCRIPTION new file mode 100644 index 00000000..e9bae0eb --- /dev/null +++ b/tests/testthat/packages/yogurt/DESCRIPTION @@ -0,0 +1,9 @@ +Package: yogurt +Type: Package +Version: 2.0.0 +License: GPL +Description: Packrat test package +Title: Packrat test package +Author: Anonymous Person +Maintainer: Anonymous Person + diff --git a/tests/testthat/projects/breakfastcereal/.Rprofile b/tests/testthat/projects/breakfastcereal/.Rprofile new file mode 100644 index 00000000..22ec1478 --- /dev/null +++ b/tests/testthat/projects/breakfastcereal/.Rprofile @@ -0,0 +1,3 @@ +#### -- Packrat Autoloader (version 0.4.8-1) -- #### +source("packrat/init.R") +#### -- End Packrat Autoloader -- #### diff --git a/tests/testthat/projects/breakfastcereal/.gitignore b/tests/testthat/projects/breakfastcereal/.gitignore new file mode 100644 index 00000000..d4a80c2d --- /dev/null +++ b/tests/testthat/projects/breakfastcereal/.gitignore @@ -0,0 +1,2 @@ +packrat/lib*/ +packrat/src/ diff --git a/tests/testthat/projects/breakfastcereal/packrat/packrat.lock b/tests/testthat/projects/breakfastcereal/packrat/packrat.lock new file mode 100644 index 00000000..dc2ab6b2 --- /dev/null +++ b/tests/testthat/projects/breakfastcereal/packrat/packrat.lock @@ -0,0 +1,15 @@ +PackratFormat: 1.4 +PackratVersion: 0.4.8.1 +RVersion: 3.3.2 +Repos: CRAN=https://mirrors.nics.utk.edu/cran/, + testrepo=file:///home/carendt/r/packrat/tests/testthat/repo + +Package: cereal +Source: testrepo +Version: 1.0.0 +Hash: f5ddaf46bcdd03014f8daa586a84b69f + +Package: packrat +Source: CRAN +Version: 0.4.8-1 +Hash: 6ad605ba7b4b476d84be6632393f5765 diff --git a/tests/testthat/projects/breakfastyogurt/yogurt.R b/tests/testthat/projects/breakfastyogurt/yogurt.R new file mode 100644 index 00000000..63b08af1 --- /dev/null +++ b/tests/testthat/projects/breakfastyogurt/yogurt.R @@ -0,0 +1 @@ +library(yogurt) diff --git a/tests/testthat/repo/src/contrib/PACKAGES b/tests/testthat/repo/src/contrib/PACKAGES index acaf389b..302dbee9 100644 --- a/tests/testthat/repo/src/contrib/PACKAGES +++ b/tests/testthat/repo/src/contrib/PACKAGES @@ -13,6 +13,13 @@ MD5sum: 9d20db306fb493f02677537bd99ec223 NeedsCompilation: no Path: ./breakfast +Package: cereal +Version: 2.0.0 +License: GPL +MD5sum: c3eb7a2c32b50002bc962c9b34ee8e39 +NeedsCompilation: no +Path: ./cereal + Package: oatmeal Version: 1.0.0 License: GPL @@ -35,3 +42,10 @@ MD5sum: 94983eced5faba874146ebaf8f317627 NeedsCompilation: no Path: ./toast +Package: yogurt +Version: 1.0.0 +License: GPL +MD5sum: 6cbffb30b94319cfaa5303f5b9c1c140 +NeedsCompilation: no +Path: ./yogurt + diff --git a/tests/testthat/repo/src/contrib/PACKAGES.gz b/tests/testthat/repo/src/contrib/PACKAGES.gz index f90221006043e14fe10d1be8f5e9ba6ef474a84a..378e99d7814ff589d1d4c308888b0d44985fd071 100644 GIT binary patch literal 361 zcmV-v0hazBiwFP!000001C5i*PU|obhWB}jJit-0JL2d;hBz$!ILa`V!HB1@rB#OL@{v^%p z<2X3cms*(X>`*M`n6Sw*rX0~a$px)gB2UP1nf*zc*;9G1b-~m(mqYL=f{Ny*5K|1^ zdQ_$o3)p}zEQ?IoS>v^PemVW{xcn1@OBuV4lLwom5H(<+G@N9N!JB398C1OiSS3E- Hg988nt&qGm literal 289 zcmV++0p9)}iwFP!000001C7y5PQx$|1>k*7kprOOzl_J(Qi)ALU9lf~#x!c1L`}Fq zfl#GFZDD82mcQpWTS|L+m%5B6AuitJG&EgXmwKgEs@OD1+F?3<-foJQbv1k(>k>Sp z6ASDl8|$Jl0+?g~DIqB;UPX9#>W+PLpz-^)wkx(Y?&@;&I6Kq!!rf;Y#^3f@dTDv6 z%Z|pQ(BYvRyRU0kGX*w^qg9Zj3pOhQ-dEN~4ndMJ_U}w{h9%dJ`maWU63khO#2;+VIEG>3FElzaNh`Me2tbs8=#cBF0f;NdW=%k4pLB#v^Sz7G5kQy;&V1!We>oQ2K)qa>-pTUiWYVI}Y2&$V`+t;FW{>g#6UZ7NuvuOD#X8FF z&^l#w0;0n^oK3MbPLZ*70)&pNU$aY

{s$JiTNibeUBpHA$-~R#I~m%5}+^q5?PU z4Juj~o4`ODT`x`LAoUFx4JU7rGwZ0zmFXD!aLTTv(&PtzCTW70yP;W@s*taZYQxqq z&J*Z*aUSsKpnC+IC%rfk5!}v($FNoa`&a+}`t664!PWRC9Sq0camP0Qi&%X0ekQy;&V1!We>oQ2K)qa>-pTjzOlOzZli(ZJoo`BN7DLMGHFrgwDH`w{Xa@7vq$-W31p2B*sL!7VjX37 zXq_@Tfo_L)IGbW=oFZfE1PC2jzh+k|L+yOhMS8`C=rXHHYLZq}tfb~BlsPceHi5o2x?Y;fLFyYY8cyFL=hjh`E7LLd;f#%?(&PtzCTW70yMbAjs*taZYQxqq z&izxpI1hMq&^-pulcPB43b>sOPGGG7_OJf`_1h08{qg7~?GHxZamP0Qi&%X0ee{kCyU!{|)o00eFaK~{Nu693;_{)7w z*g5w6j?a1QtWo4~Kjb{}fP3FSWl0!UN+t}doZh_mp8uDUitJI$FoAkK2y9Z9?y$A8 zdo)&Rm4M&oZO*P`hRQnsWqQr}Xfq>ATKiW4Mi3BMf^r)@kyPLtzHUWxZ4&4zt?GrY zETk@%R&chnTo_ALE_GX***O~usmLw-NYDr|w>`ZmWg#|&D$TZ!%M%FP93JxUFgO7o zBte`+G2Bghr?71{^Zq=WwjYhU!@+IZ?G3&n$9wwsWB--@JCPqW`u`4E(8sB$3WD7T zKxR-7=I~I%n6+Sx3%x|3IYMc0DOb8HoDe}y-LFvr=F*9KE-g%Dfy_k=o=R;9L{Wee j3$zT^hEx!tQTu!Cy@P)st%in%h9Au{UyViV01N;C3beU| literal 0 HcmV?d00001 diff --git a/tests/testthat/test-local-repositories.R b/tests/testthat/test-local-repositories.R index 3872d709..6992d9e3 100644 --- a/tests/testthat/test-local-repositories.R +++ b/tests/testthat/test-local-repositories.R @@ -26,4 +26,26 @@ withTestContext({ }) }) + test_that("packrat::restore can load an old version", { + projRoot <- cloneTestProject('breakfastcereal') + repos <- getOption('repos') + options(repos = c(testrepo = paste0("file:///", normalizePath("repo")))) + + ## Should be no warnings + expect_warning(packrat::restore(projRoot, restart=FALSE), regexp=NA) + + options(repos = repos) + }) + + test_that("packrat can load packages without a repository label", { + projRoot <- cloneTestProject('breakfastyogurt') + repos <- getOption('repos') + options(repos = c(testrepo = paste0("file:///", normalizePath("repo")))) + + ## Should be no warnings + expect_warning(packrat::init(projRoot, enter=FALSE), regexp=NA) + + options(repos=repos) + }) + }) From 193344cca6ecb48457da0f7c09fca4093fc5e412 Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Sat, 6 May 2017 15:12:59 -0400 Subject: [PATCH 2/3] Remove packrat from packrat.lock Remove unnecessary .Rprofile --- tests/testthat/projects/breakfastcereal/.Rprofile | 3 --- tests/testthat/projects/breakfastcereal/packrat/packrat.lock | 5 ----- 2 files changed, 8 deletions(-) delete mode 100644 tests/testthat/projects/breakfastcereal/.Rprofile diff --git a/tests/testthat/projects/breakfastcereal/.Rprofile b/tests/testthat/projects/breakfastcereal/.Rprofile deleted file mode 100644 index 22ec1478..00000000 --- a/tests/testthat/projects/breakfastcereal/.Rprofile +++ /dev/null @@ -1,3 +0,0 @@ -#### -- Packrat Autoloader (version 0.4.8-1) -- #### -source("packrat/init.R") -#### -- End Packrat Autoloader -- #### diff --git a/tests/testthat/projects/breakfastcereal/packrat/packrat.lock b/tests/testthat/projects/breakfastcereal/packrat/packrat.lock index dc2ab6b2..18053b29 100644 --- a/tests/testthat/projects/breakfastcereal/packrat/packrat.lock +++ b/tests/testthat/projects/breakfastcereal/packrat/packrat.lock @@ -8,8 +8,3 @@ Package: cereal Source: testrepo Version: 1.0.0 Hash: f5ddaf46bcdd03014f8daa586a84b69f - -Package: packrat -Source: CRAN -Version: 0.4.8-1 -Hash: 6ad605ba7b4b476d84be6632393f5765 From 0f15a0345f24ddc849c54e125445a491f60dce21 Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Tue, 16 May 2017 22:28:44 -0400 Subject: [PATCH 3/3] Skip failing tests --- tests/testthat/test-local-repositories.R | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/testthat/test-local-repositories.R b/tests/testthat/test-local-repositories.R index 6992d9e3..2f0219f0 100644 --- a/tests/testthat/test-local-repositories.R +++ b/tests/testthat/test-local-repositories.R @@ -27,6 +27,8 @@ withTestContext({ }) test_that("packrat::restore can load an old version", { + skip('restore cannot load an old local version') + projRoot <- cloneTestProject('breakfastcereal') repos <- getOption('repos') options(repos = c(testrepo = paste0("file:///", normalizePath("repo")))) @@ -38,6 +40,8 @@ withTestContext({ }) test_that("packrat can load packages without a repository label", { + skip('packrat requires a repository label') + projRoot <- cloneTestProject('breakfastyogurt') repos <- getOption('repos') options(repos = c(testrepo = paste0("file:///", normalizePath("repo"))))