44 testing for getpkgzips - #46
Conversation
…message to console 1. Updated to declare 'found <- FALSE' outside of the IF statement instead of within. 2. Includes 'vUNSPECIFIED' in console message when a package without a specific version is still not found using the backup R version 3. In 'PACKAGE NOT FOUND' message, got rid of cat() for easier message matching with 'expect_true' testing
cebarboza
left a comment
There was a problem hiding this comment.
Hi,
I like that this tests are trying to check what the function is finding and not finding. I think the approach is very thorough.
I guess we can work on this to simplify it and make it more readable.
|
|
||
| expect_true(dir.exists("renv/cellar")) # the default directory was created | ||
|
|
||
| expect_true(any(grepl("Found 27 of 33 specified package\\(s)", msgs))) |
There was a problem hiding this comment.
I think it is preferable to focus on the actual output of the function. However, when I tested locally, two expectations were not met:
[34] "\033[32m✔\033[39m Found 26 of 33 specified package(s)\n"
[35] "\033[33m!\033[39m Identified alternate for 2 of 7 package(s) that were not found\n"
Probably you can just output a dataframe from the function with some of this numbers and test that.
| }) | ||
|
|
||
| # Test on lockfile only as input ---- | ||
| test_that("Message checks - lockfile only", { |
There was a problem hiding this comment.
Some of this expectations didn't match with my local output. Maybe we can check later why.
msgs
[1] "\033[31m✖\033[39m PACKAGE NOT FOUND: Unable to find DarwinShinyModules v0.4.0 or a suitable alternate version under R v4.4\n"
[2] "\033[32m✔\033[39m Found DiagrammeR v1.0.11\n"
[3] "\033[33m!\033[39m ALTERNATE: Found renv v1.2.2 under R v4.4 as an alternate to renv v1.0.11\n"
[4] "\033[32m✔\033[39m Found rlang v1.2.0\n"
[5] "\033[32m✔\033[39m Found rmarkdown v2.31\n"
[6] "\033[32m✔\033[39m Found rprojroot v2.1.1\n"
[7] "\033[32m✔\033[39m Found rstudioapi v0.16.0\n"
[8] "\033[32m✔\033[39m Found sass v0.4.9\n"
[9] "\033[32m✔\033[39m Found scales v1.4.0\n"
[10] "\033[33m!\033[39m ALTERNATE: Found xfun v0.57 under R v4.4 as an alternate to xfun v0.58\n"
[11] "\033[32m✔\033[39m Found zip v2.3.3\n"
[12] "\033[33m!\033[39m ALTERNATE: Found DT v0.34.0 under R v4.4 as an alternate to DT vUNSPECIFIED\n"
[13] "\033[33m!\033[39m ALTERNATE: Found R6 v2.6.1 under R v4.4 as an alternate to R6 vUNSPECIFIED\n"
[14] "\033[33m!\033[39m ALTERNATE: Found checkmate v2.3.4 under R v4.4 as an alternate to checkmate vUNSPECIFIED\n"
[15] "\033[33m!\033[39m ALTERNATE: Found dplyr v1.2.1 under R v4.4 as an alternate to dplyr vUNSPECIFIED\n"
[16] "\033[33m!\033[39m ALTERNATE: Found flextable v0.9.11 under R v4.4 as an alternate to flextable vUNSPECIFIED\n"
[17] "\033[33m!\033[39m ALTERNATE: Found ggplot2 v4.0.3 under R v4.4 as an alternate to ggplot2 vUNSPECIFIED\n"
[18] "\033[33m!\033[39m ALTERNATE: Found gt v1.3.0 under R v4.4 as an alternate to gt vUNSPECIFIED\n"
[19] "\033[33m!\033[39m ALTERNATE: Found plotly v4.12.0 under R v4.4 as an alternate to plotly vUNSPECIFIED\n"
[20] "\033[33m!\033[39m ALTERNATE: Found promises v1.5.0 under R v4.4 as an alternate to promises vUNSPECIFIED\n"
[21] "\033[33m!\033[39m ALTERNATE: Found purrr v1.2.2 under R v4.4 as an alternate to purrr vUNSPECIFIED\n"
[22] "\033[33m!\033[39m ALTERNATE: Found reactable v0.4.5 under R v4.4 as an alternate to reactable vUNSPECIFIED\n"
[23] "\033[33m!\033[39m ALTERNATE: Found shiny v1.13.0 under R v4.4 as an alternate to shiny vUNSPECIFIED\n"
[24] "\033[33m!\033[39m ALTERNATE: Found shinyWidgets v0.9.1 under R v4.4 as an alternate to shinyWidgets vUNSPECIFIED\n"
[25] "\033[33m!\033[39m ALTERNATE: Found stringr v1.6.0 under R v4.4 as an alternate to stringr vUNSPECIFIED\n"
[26] "\033[33m!\033[39m ALTERNATE: Found RColorBrewer v1.1-3 under R v4.4 as an alternate to RColorBrewer vUNSPECIFIED\n"
[27] "\033[33m!\033[39m ALTERNATE: Found cli v3.6.6 under R v4.4 as an alternate to cli vUNSPECIFIED\n"
[28] "\033[33m!\033[39m ALTERNATE: Found glue v1.8.1 under R v4.4 as an alternate to glue vUNSPECIFIED\n"
[29] "\033[33m!\033[39m ALTERNATE: Found htmltools v0.5.9 under R v4.4 as an alternate to htmltools vUNSPECIFIED\n"
[30] "\033[33m!\033[39m ALTERNATE: Found htmlwidgets v1.6.4 under R v4.4 as an alternate to htmlwidgets vUNSPECIFIED\n"
[31] "\033[33m!\033[39m ALTERNATE: Found igraph v2.3.0 under R v4.4 as an alternate to igraph vUNSPECIFIED\n"
[32] "\033[33m!\033[39m ALTERNATE: Found magrittr v2.0.5 under R v4.4 as an alternate to magrittr vUNSPECIFIED\n"
[33] "\033[33m!\033[39m ALTERNATE: Found readr v2.2.0 under R v4.4 as an alternate to readr vUNSPECIFIED\n"
[34] "\033[33m!\033[39m ALTERNATE: Found tibble v3.3.1 under R v4.4 as an alternate to tibble vUNSPECIFIED\n"
[35] "\033[33m!\033[39m ALTERNATE: Found tidyr v1.3.2 under R v4.4 as an alternate to tidyr vUNSPECIFIED\n"
[36] "\033[33m!\033[39m ALTERNATE: Found viridisLite v0.4.3 under R v4.4 as an alternate to viridisLite vUNSPECIFIED\n"
[37] "\033[33m!\033[39m ALTERNATE: Found visNetwork v2.1.4 under R v4.4 as an alternate to visNetwork vUNSPECIFIED\n"
[38] "\033[31m✖\033[39m PACKAGE NOT FOUND: Unable to find utils vUNSPECIFIED or a suitable alternate version under R v4.4\n"
[39] "\033[33m!\033[39m ALTERNATE: Found bslib v0.10.0 under R v4.4 as an alternate to bslib vUNSPECIFIED\n"
[40] "\033[33m!\033[39m ALTERNATE: Found evaluate v1.0.5 under R v4.4 as an alternate to evaluate vUNSPECIFIED\n"
[41] "\033[33m!\033[39m ALTERNATE: Found fontawesome v0.5.3 under R v4.4 as an alternate to fontawesome vUNSPECIFIED\n"
[42] "\033[33m!\033[39m ALTERNATE: Found jquerylib v0.1.4 under R v4.4 as an alternate to jquerylib vUNSPECIFIED\n"
[43] "\033[33m!\033[39m ALTERNATE: Found jsonlite v2.0.0 under R v4.4 as an alternate to jsonlite vUNSPECIFIED\n"
[44] "\033[33m!\033[39m ALTERNATE: Found knitr v1.51 under R v4.4 as an alternate to knitr vUNSPECIFIED\n"
[45] "\033[31m✖\033[39m PACKAGE NOT FOUND: Unable to find methods vUNSPECIFIED or a suitable alternate version under R v4.4\n"
[46] "\033[33m!\033[39m ALTERNATE: Found tinytex v0.59 under R v4.4 as an alternate to tinytex vUNSPECIFIED\n"
[47] "\033[31m✖\033[39m PACKAGE NOT FOUND: Unable to find tools vUNSPECIFIED or a suitable alternate version under R v4.4\n"
[48] "\033[33m!\033[39m ALTERNATE: Found yaml v2.3.12 under R v4.4 as an alternate to yaml vUNSPECIFIED\n"
[49] "\033[33m!\033[39m ALTERNATE: Found fs v2.1.0 under R v4.4 as an alternate to fs vUNSPECIFIED\n"
[50] "\033[33m!\033[39m ALTERNATE: Found rappdirs v0.3.4 under R v4.4 as an alternate to rappdirs vUNSPECIFIED\n"
[51] "\033[33m!\033[39m ALTERNATE: Found farver v2.1.2 under R v4.4 as an alternate to farver vUNSPECIFIED\n"
[52] "\033[33m!\033[39m ALTERNATE: Found labeling v0.4.3 under R v4.4 as an alternate to labeling vUNSPECIFIED\n"
[53] "\033[33m!\033[39m ALTERNATE: Found lifecycle v1.0.5 under R v4.4 as an alternate to lifecycle vUNSPECIFIED\n"
[54] "\033[32m✔\033[39m Found 8 of 53 specified package(s)\n"
[55] "\033[33m!\033[39m Identified alternate for 41 of 45 package(s) that were not found\n"
[56] "\033[31m✖\033[39m Unable to find 4 package(s)\n"
| }) | ||
|
|
||
| # Test on lockfile + supp, override_lock = TRUE ---- | ||
| test_that("Message checks - lockfile + supp, override_lock = TRUE", { |
| # Test on lockfile + supp, override_lock = FALSE ---- | ||
| test_that("Message checks - lockfile + supp, override_lock = FALSE", { | ||
|
|
||
| msgs <- capture_messages(pkg_summary <- getPkgZips(lockfile_path = lockfile, supplement = supp)) |
There was a problem hiding this comment.
Also for some reason I'm getting something different locally
> msgs
[1] "\033[31m✖\033[39m PACKAGE NOT FOUND: Unable to find DarwinShinyModules v0.4.0 or a suitable alternate version under R v4.4\n"
[2] "\033[32m✔\033[39m Found DiagrammeR v1.0.11\n"
[3] "\033[33m!\033[39m ALTERNATE: Found renv v1.2.2 under R v4.4 as an alternate to renv v1.0.11\n"
[4] "\033[32m✔\033[39m Found rlang v1.2.0\n"
[5] "\033[32m✔\033[39m Found rmarkdown v2.31\n"
[6] "\033[32m✔\033[39m Found rprojroot v2.1.1\n"
[7] "\033[32m✔\033[39m Found rstudioapi v0.16.0\n"
[8] "\033[32m✔\033[39m Found sass v0.4.9\n"
[9] "\033[32m✔\033[39m Found scales v1.4.0\n"
[10] "\033[33m!\033[39m ALTERNATE: Found xfun v0.57 under R v4.4 as an alternate to xfun v0.58\n"
[11] "\033[32m✔\033[39m Found zip v2.3.3\n"
[12] "\033[32m✔\033[39m Found devtools v2.5.2\n"
[13] "\033[33m!\033[39m ALTERNATE: Found dplyr v1.2.1 under R v4.4 as an alternate to dplyr v0.6\n"
[14] "\033[31m✖\033[39m PACKAGE NOT FOUND: Unable to find tidyrr v1.3.2 or a suitable alternate version under R v4.4\n"
[15] "\033[33m!\033[39m ALTERNATE: Found RPostgres v1.4.10 under R v4.4 as an alternate to RPostgres vUNSPECIFIED\n"
[16] "\033[33m!\033[39m ALTERNATE: Found DT v0.34.0 under R v4.4 as an alternate to DT vUNSPECIFIED\n"
[17] "\033[33m!\033[39m ALTERNATE: Found R6 v2.6.1 under R v4.4 as an alternate to R6 vUNSPECIFIED\n"
[18] "\033[33m!\033[39m ALTERNATE: Found checkmate v2.3.4 under R v4.4 as an alternate to checkmate vUNSPECIFIED\n"
[19] "\033[33m!\033[39m ALTERNATE: Found flextable v0.9.11 under R v4.4 as an alternate to flextable vUNSPECIFIED\n"
[20] "\033[33m!\033[39m ALTERNATE: Found ggplot2 v4.0.3 under R v4.4 as an alternate to ggplot2 vUNSPECIFIED\n"
[21] "\033[33m!\033[39m ALTERNATE: Found gt v1.3.0 under R v4.4 as an alternate to gt vUNSPECIFIED\n"
[22] "\033[33m!\033[39m ALTERNATE: Found plotly v4.12.0 under R v4.4 as an alternate to plotly vUNSPECIFIED\n"
[23] "\033[33m!\033[39m ALTERNATE: Found promises v1.5.0 under R v4.4 as an alternate to promises vUNSPECIFIED\n"
[24] "\033[33m!\033[39m ALTERNATE: Found purrr v1.2.2 under R v4.4 as an alternate to purrr vUNSPECIFIED\n"
[25] "\033[33m!\033[39m ALTERNATE: Found reactable v0.4.5 under R v4.4 as an alternate to reactable vUNSPECIFIED\n"
[26] "\033[33m!\033[39m ALTERNATE: Found shiny v1.13.0 under R v4.4 as an alternate to shiny vUNSPECIFIED\n"
[27] "\033[33m!\033[39m ALTERNATE: Found shinyWidgets v0.9.1 under R v4.4 as an alternate to shinyWidgets vUNSPECIFIED\n"
[28] "\033[33m!\033[39m ALTERNATE: Found stringr v1.6.0 under R v4.4 as an alternate to stringr vUNSPECIFIED\n"
[29] "\033[33m!\033[39m ALTERNATE: Found RColorBrewer v1.1-3 under R v4.4 as an alternate to RColorBrewer vUNSPECIFIED\n"
[30] "\033[33m!\033[39m ALTERNATE: Found cli v3.6.6 under R v4.4 as an alternate to cli vUNSPECIFIED\n"
[31] "\033[33m!\033[39m ALTERNATE: Found glue v1.8.1 under R v4.4 as an alternate to glue vUNSPECIFIED\n"
[32] "\033[33m!\033[39m ALTERNATE: Found htmltools v0.5.9 under R v4.4 as an alternate to htmltools vUNSPECIFIED\n"
[33] "\033[33m!\033[39m ALTERNATE: Found htmlwidgets v1.6.4 under R v4.4 as an alternate to htmlwidgets vUNSPECIFIED\n"
[34] "\033[33m!\033[39m ALTERNATE: Found igraph v2.3.0 under R v4.4 as an alternate to igraph vUNSPECIFIED\n"
[35] "\033[33m!\033[39m ALTERNATE: Found magrittr v2.0.5 under R v4.4 as an alternate to magrittr vUNSPECIFIED\n"
[36] "\033[33m!\033[39m ALTERNATE: Found readr v2.2.0 under R v4.4 as an alternate to readr vUNSPECIFIED\n"
[37] "\033[33m!\033[39m ALTERNATE: Found tibble v3.3.1 under R v4.4 as an alternate to tibble vUNSPECIFIED\n"
[38] "\033[33m!\033[39m ALTERNATE: Found tidyr v1.3.2 under R v4.4 as an alternate to tidyr vUNSPECIFIED\n"
[39] "\033[33m!\033[39m ALTERNATE: Found viridisLite v0.4.3 under R v4.4 as an alternate to viridisLite vUNSPECIFIED\n"
[40] "\033[33m!\033[39m ALTERNATE: Found visNetwork v2.1.4 under R v4.4 as an alternate to visNetwork vUNSPECIFIED\n"
[41] "\033[31m✖\033[39m PACKAGE NOT FOUND: Unable to find utils vUNSPECIFIED or a suitable alternate version under R v4.4\n"
[42] "\033[33m!\033[39m ALTERNATE: Found bslib v0.10.0 under R v4.4 as an alternate to bslib vUNSPECIFIED\n"
[43] "\033[33m!\033[39m ALTERNATE: Found evaluate v1.0.5 under R v4.4 as an alternate to evaluate vUNSPECIFIED\n"
[44] "\033[33m!\033[39m ALTERNATE: Found fontawesome v0.5.3 under R v4.4 as an alternate to fontawesome vUNSPECIFIED\n"
[45] "\033[33m!\033[39m ALTERNATE: Found jquerylib v0.1.4 under R v4.4 as an alternate to jquerylib vUNSPECIFIED\n"
[46] "\033[33m!\033[39m ALTERNATE: Found jsonlite v2.0.0 under R v4.4 as an alternate to jsonlite vUNSPECIFIED\n"
[47] "\033[33m!\033[39m ALTERNATE: Found knitr v1.51 under R v4.4 as an alternate to knitr vUNSPECIFIED\n"
[48] "\033[31m✖\033[39m PACKAGE NOT FOUND: Unable to find methods vUNSPECIFIED or a suitable alternate version under R v4.4\n"
[49] "\033[33m!\033[39m ALTERNATE: Found tinytex v0.59 under R v4.4 as an alternate to tinytex vUNSPECIFIED\n"
[50] "\033[31m✖\033[39m PACKAGE NOT FOUND: Unable to find tools vUNSPECIFIED or a suitable alternate version under R v4.4\n"
[51] "\033[33m!\033[39m ALTERNATE: Found yaml v2.3.12 under R v4.4 as an alternate to yaml vUNSPECIFIED\n"
[52] "\033[33m!\033[39m ALTERNATE: Found fs v2.1.0 under R v4.4 as an alternate to fs vUNSPECIFIED\n"
[53] "\033[33m!\033[39m ALTERNATE: Found rappdirs v0.3.4 under R v4.4 as an alternate to rappdirs vUNSPECIFIED\n"
[54] "\033[33m!\033[39m ALTERNATE: Found farver v2.1.2 under R v4.4 as an alternate to farver vUNSPECIFIED\n"
[55] "\033[33m!\033[39m ALTERNATE: Found labeling v0.4.3 under R v4.4 as an alternate to labeling vUNSPECIFIED\n"
[56] "\033[33m!\033[39m ALTERNATE: Found lifecycle v1.0.5 under R v4.4 as an alternate to lifecycle vUNSPECIFIED\n"
[57] "\033[32m✔\033[39m Found 9 of 56 specified package(s)\n"
[58] "\033[33m!\033[39m Identified alternate for 42 of 47 package(s) that were not found\n"
[59] "\033[31m✖\033[39m Unable to find 5 package(s)\n"
| n_all <- length(unique(c(pkgs, supps, reqs))) | ||
|
|
||
| # Test of counts ---- | ||
| test_that("Package counts", { |
| @@ -0,0 +1,298 @@ | |||
| # Create a lockfile ---- | |||
| # Create a temporary file path | |||
There was a problem hiding this comment.
I guess you can also save this list in an RDS file and just load it in every test as needed. Then in the test file you only have tests, and just a comment of what's inside the data. For me that approach would be more readable.
| if (is.null(lockfile_path)) { | ||
| lockfile_path <- file.path(here::here(), "renv.lock") | ||
| } else { # if still not found, keep NULL | ||
| NULL |
There was a problem hiding this comment.
This is not very clear to me. I don't think this is making sure a renv.lock path is assigned to lockfile_path.
Created test-getPkgZips.R to test getPkgZips() function
While testing can (and should be further expanded on), I believe this can at least close #44 with initial testing!
General overview:
Noteworthy:
caught a bug in getPkgZips() script and fixed where 'found <- FALSE' was initialized