Running ‘testthat.R’ [10s/206s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(portalr)
  > 
  > test_check("portalr")
  ── 1. Error: load_rodent_data downloads data if missing (@test-01-data-retrieval
  $ operator is invalid for atomic vectors
  Backtrace:
    1. testthat::expect_warning(data_tables <- load_rodent_data(portal_data_path))
    6. portalr::load_rodent_data(portal_data_path)
    7. portalr::load_datafile(...)
    8. portalr::download_observations(path)
    9. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   10. gh:::gh_process_response(raw)
   11. gh:::gh_error(response)
   12. base::paste0("Message: ", res$message)
  
  ── 2. Failure: default data path functions work if unset (@test-01-data-retrieva
  `m` does not match "Call `usethis::edit_r_environ\\(\\)` to open '.Renviron'".
  Actual value: ""
  
  ── 3. Failure: default data path functions work if unset (@test-01-data-retrieva
  `m` does not match "Store your data path with a line like:".
  Actual value: ""
  
  ── 4. Failure: default data path functions work if unset (@test-01-data-retrieva
  `m` does not match "PORTALR_DATA_PATH=".
  Actual value: ""
  
  ── 5. Failure: default data path functions work if unset (@test-01-data-retrieva
  `m` does not match "Make sure '.Renviron' ends with a newline!".
  Actual value: ""
  
  ── 6. Error: (unknown) (@test-02-data-processing.R#4)  ─────────────────────────
  
  GitHub API error (502): 
  Message: Server Error
  Backtrace:
    1. portalr::load_rodent_data(portal_data_path)
    2. portalr::load_datafile(...)
    3. portalr::download_observations(path)
    4. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
    5. base::tryCatch(...)
    6. base:::tryCatchList(expr, classes, parentenv, handlers)
    9. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   10. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11. value[[3L]](cond)
  
  ── 7. Error: (unknown) (@test-04-weather.R#4)  ─────────────────────────────────
  
  GitHub API error (502): 
  Message: Server Error
  Backtrace:
    1. portalr::weather("daily", path = portal_data_path)
    2. portalr::load_datafile(...)
    3. portalr::download_observations(path)
    4. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
    5. base::tryCatch(...)
    6. base:::tryCatchList(expr, classes, parentenv, handlers)
    9. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   10. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11. value[[3L]](cond)
  
  ── 8. Error: summarize_individual_rodents returns expected columns (@test-05-ind
  
  GitHub API error (502): 
  Message: Server Error
  Backtrace:
    1. portalr::summarize_individual_rodents(path = portal_data_path)
    2. portalr::load_rodent_data(...)
    3. portalr::load_datafile(...)
    4. portalr::download_observations(path)
    5. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
    6. base::tryCatch(...)
    7. base:::tryCatchList(expr, classes, parentenv, handlers)
   10. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   11. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   12. value[[3L]](cond)
  
  ── 9. Error: plant_abundance returns expected results (@test-06-summarize-plants
  
  GitHub API error (500): 
  Message: Something went wrong. Please try again. If the problem persists, please contact us.
  Read more at https://githubstatus.com
  Backtrace:
    1. portalr::plant_abundance(...)
    5. portalr::summarize_plant_data(..., shape = "flat", output = "abundance")
    6. portalr::load_plant_data(...)
    7. portalr::load_datafile(...)
    8. portalr::download_observations(path)
    9. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
   10. base::tryCatch(...)
   11. base:::tryCatchList(expr, classes, parentenv, handlers)
   14. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   15. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   16. value[[3L]](cond)
  
  ── 10. Error: shrub_cover returns expected results (@test-06-summarize-plants.R#
  
  GitHub API error (403): 
  Message: API rate limit exceeded for 163.1.211.17. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
  Read more at https://developer.github.com/v3/#rate-limiting
  Backtrace:
    1. portalr::shrub_cover(...)
    2. portalr::load_plant_data(...)
    3. portalr::load_datafile(...)
    4. portalr::download_observations(path)
    5. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
    6. base::tryCatch(...)
    7. base:::tryCatchList(expr, classes, parentenv, handlers)
   10. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   11. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   12. value[[3L]](cond)
  
  ── 11. Error: (unknown) (@test-07-seasons.R#4)  ────────────────────────────────
  
  GitHub API error (403): 
  Message: API rate limit exceeded for 163.1.211.17. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
  Read more at https://developer.github.com/v3/#rate-limiting
  Backtrace:
    1. portalr::abundance(path = portal_data_path, level = "plot", shape = "flat")
    2. portalr::summarize_rodent_data(..., output = "abundance")
    3. portalr::load_rodent_data(...)
    4. portalr::load_datafile(...)
    5. portalr::download_observations(path)
    6. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
    7. base::tryCatch(...)
    8. base:::tryCatchList(expr, classes, parentenv, handlers)
   11. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   12. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   13. value[[3L]](cond)
  
  ── 12. Error: (unknown) (@test-08-NDVI.R#4)  ───────────────────────────────────
  
  GitHub API error (403): 
  Message: API rate limit exceeded for 163.1.211.17. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
  Read more at https://developer.github.com/v3/#rate-limiting
  Backtrace:
    1. portalr::ndvi("monthly", path = portal_data_path)
    2. portalr::load_datafile(...)
    3. portalr::download_observations(path)
    4. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
    5. base::tryCatch(...)
    6. base:::tryCatchList(expr, classes, parentenv, handlers)
    9. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   10. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11. value[[3L]](cond)
  
  ── 13. Error: get_future_moons returns expected results using current newmoons_t
  
  GitHub API error (403): 
  Message: API rate limit exceeded for 163.1.211.17. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
  Read more at https://developer.github.com/v3/#rate-limiting
  Backtrace:
    1. portalr::load_trapping_data(portal_data_path)
    2. portalr::load_datafile(...)
    3. portalr::download_observations(path)
    4. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
    5. base::tryCatch(...)
    6. base:::tryCatchList(expr, classes, parentenv, handlers)
    9. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   10. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11. value[[3L]](cond)
  
  ── 14. Error: colony_presence_absence returns expected results (@test-10-summari
  
  GitHub API error (403): 
  Message: API rate limit exceeded for 163.1.211.17. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
  Read more at https://developer.github.com/v3/#rate-limiting
  Backtrace:
    1. portalr::colony_presence_absence(...)
    2. portalr::load_datafile(...)
    3. portalr::download_observations(path)
    4. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
    5. base::tryCatch(...)
    6. base:::tryCatchList(expr, classes, parentenv, handlers)
    9. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   10. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11. value[[3L]](cond)
  
  ── 15. Error: bait_presence_absence returns expected results (@test-10-summarize
  
  GitHub API error (403): 
  Message: API rate limit exceeded for 163.1.211.17. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
  Read more at https://developer.github.com/v3/#rate-limiting
  Backtrace:
    1. portalr::bait_presence_absence(path = portal_data_path, level = "Stake")
    2. portalr::load_datafile(...)
    3. portalr::download_observations(path)
    4. portalr::get_data_versions(from_zenodo = from_zenodo, halt_on_error = TRUE)
    5. base::tryCatch(...)
    6. base:::tryCatchList(expr, classes, parentenv, handlers)
    9. base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   10. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11. value[[3L]](cond)
  
  ── 16. Error: colony_presence_absence returns expected results (@test-10-summari
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::colony_presence_absence(...)
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 17. Error: bait_presence_absence returns expected results (@test-10-summarize
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::bait_presence_absence(path = portal_data_path, level = "plot")
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 18. Error: (unknown) (@test-11-phenocam.R#6)  ───────────────────────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::phenocam("newmoon", path = portal_data_path)
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 19. Error: data generated by default setting is same  ───────────────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::abundance(...)
   2. portalr::summarize_rodent_data(..., output = "abundance")
   3. portalr::load_rodent_data(...)
   4. portalr::load_datafile(...)
   5. portalr::download_observations(path)
   6. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   7. gh:::gh_build_request(...)
   8. gh:::gh_set_dest(working)
   9. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 20. Error: data generated by level = treatment, plots = longterm is same  ───
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::abundance(portal_data_path, level = "treatment", plots = "longterm")
   2. portalr::summarize_rodent_data(..., output = "abundance")
   3. portalr::load_rodent_data(...)
   4. portalr::load_datafile(...)
   5. portalr::download_observations(path)
   6. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   7. gh:::gh_build_request(...)
   8. gh:::gh_set_dest(working)
   9. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 21. Error: data generated by level = plot, time = newmoon, type = granivore, 
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::abundance(...)
   2. portalr::summarize_rodent_data(..., output = "abundance")
   3. portalr::load_rodent_data(...)
   4. portalr::load_datafile(...)
   5. portalr::download_observations(path)
   6. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   7. gh:::gh_build_request(...)
   8. gh:::gh_set_dest(working)
   9. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 22. Error: data generated by na_drop = FALSE, zero_drop = FALSE is same  ────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::abundance(...)
   2. portalr::summarize_rodent_data(..., output = "abundance")
   3. portalr::load_rodent_data(...)
   4. portalr::load_datafile(...)
   5. portalr::download_observations(path)
   6. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   7. gh:::gh_build_request(...)
   8. gh:::gh_set_dest(working)
   9. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 23. Error: data generated by unknowns = T, min_plots = 1 is same  ───────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::abundance(portal_data_path, min_plots = 1, unknowns = TRUE)
   2. portalr::summarize_rodent_data(..., output = "abundance")
   3. portalr::load_rodent_data(...)
   4. portalr::load_datafile(...)
   5. portalr::download_observations(path)
   6. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   7. gh:::gh_build_request(...)
   8. gh:::gh_set_dest(working)
   9. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 24. Error: data generated by plots = c(4, 8, 10, 12) is same  ───────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::summarize_rodent_data(...)
   2. portalr::load_rodent_data(...)
   3. portalr::load_datafile(...)
   4. portalr::download_observations(path)
   5. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   6. gh:::gh_build_request(...)
   7. gh:::gh_set_dest(working)
   8. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 25. Error: biomass data generated by level = plot is same  ──────────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::biomass(...)
   2. portalr::summarize_rodent_data(..., output = "biomass")
   3. portalr::load_rodent_data(...)
   4. portalr::load_datafile(...)
   5. portalr::download_observations(path)
   6. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   7. gh:::gh_build_request(...)
   8. gh:::gh_set_dest(working)
   9. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 26. Error: biomass data generated by min_plots = 1 is same  ─────────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::biomass(portal_data_path, type = "rodents", min_plots = 1)
   2. portalr::summarize_rodent_data(..., output = "biomass")
   3. portalr::load_rodent_data(...)
   4. portalr::load_datafile(...)
   5. portalr::download_observations(path)
   6. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   7. gh:::gh_build_request(...)
   8. gh:::gh_set_dest(working)
   9. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 27. Error: data generated by default setting is same (plants)  ──────────────
  Path exists and overwrite is FALSE
  Backtrace:
    1. portalr::plant_abundance(...)
    5. portalr::summarize_plant_data(..., shape = "flat", output = "abundance")
    6. portalr::load_plant_data(...)
    7. portalr::load_datafile(...)
    8. portalr::download_observations(path)
    9. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   10. gh:::gh_build_request(...)
   11. gh:::gh_set_dest(working)
   12. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 28. Error: data generated by type = Shrubs, unknowns = T, correct_sp = F is s
  Path exists and overwrite is FALSE
  Backtrace:
    1. portalr::plant_abundance(...)
    5. portalr::summarize_plant_data(..., shape = "flat", output = "abundance")
    6. portalr::load_plant_data(...)
    7. portalr::load_datafile(...)
    8. portalr::download_observations(path)
    9. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   10. gh:::gh_build_request(...)
   11. gh:::gh_set_dest(working)
   12. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 29. Error: data generated by level = Plot, type = Annuals, plots = longterm i
  Path exists and overwrite is FALSE
  Backtrace:
    1. portalr::plant_abundance(...)
    5. portalr::summarize_plant_data(..., shape = "flat", output = "abundance")
    6. portalr::load_plant_data(...)
    7. portalr::load_datafile(...)
    8. portalr::download_observations(path)
    9. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   10. gh:::gh_build_request(...)
   11. gh:::gh_set_dest(working)
   12. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 30. Error: data generated by level = quadrat is same (plants)  ──────────────
  Path exists and overwrite is FALSE
  Backtrace:
    1. portalr::plant_abundance(portal_data_path, level = "quadrat")
    5. portalr::summarize_plant_data(..., shape = "flat", output = "abundance")
    6. portalr::load_plant_data(...)
    7. portalr::load_datafile(...)
    8. portalr::download_observations(path)
    9. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   10. gh:::gh_build_request(...)
   11. gh:::gh_set_dest(working)
   12. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 31. Error: data generated by level = quadrat, shape = crosstab, output = cove
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::summarize_plant_data(...)
   2. portalr::load_plant_data(...)
   3. portalr::load_datafile(...)
   4. portalr::download_observations(path)
   5. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   6. gh:::gh_build_request(...)
   7. gh:::gh_set_dest(working)
   8. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 32. Error: data generated by shape = crosstab is same (plants)  ─────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::plant_abundance(portal_data_path, shape = "crosstab")
   2. portalr::summarize_plant_data(..., shape = "crosstab", output = "abundance")
   3. portalr::load_plant_data(...)
   4. portalr::load_datafile(...)
   5. portalr::download_observations(path)
   6. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   7. gh:::gh_build_request(...)
   8. gh:::gh_set_dest(working)
   9. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 33. Error: data generated by default setting is same (shrub_cover)  ─────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::shrub_cover(...)
   2. portalr::load_plant_data(...)
   3. portalr::load_datafile(...)
   4. portalr::download_observations(path)
   5. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   6. gh:::gh_build_request(...)
   7. gh:::gh_set_dest(working)
   8. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 34. Error: data generated by default setting is same (ant colony_presence_abs
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::colony_presence_absence(portal_data_path, level = "site")
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 35. Error: data generated by default setting is same (ant bait_presence_absen
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::bait_presence_absence(portal_data_path, level = "Site")
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 36. Error: data generated by level = 'stake' is same (ant colony_presence_abs
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::colony_presence_absence(portal_data_path, level = "stake")
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 37. Error: data generated by level = 'stake' is same (ant bait_presence_absen
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::bait_presence_absence(portal_data_path, level = "stake")
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 38. Error: data generated by level = 'plot' is same (ant colony_presence_abse
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::colony_presence_absence(portal_data_path, level = "plot")
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 39. Error: data generated by level = 'plot' is same (ant bait_presence_absenc
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::bait_presence_absence(portal_data_path, level = "plot")
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 40. Error: data generated by default setting is same (weather)  ─────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::weather(path = portal_data_path)
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 41. Error: data generated by fill = TRUE is same (weather)  ─────────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::weather(fill = TRUE, path = portal_data_path)
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 42. Error: data generated by default setting is same (NDVI)  ────────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::ndvi(path = portal_data_path)
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 43. Error: data generated by fill = TRUE is same (NDVI)  ────────────────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::ndvi(path = portal_data_path, fill = TRUE)
   2. portalr::load_datafile(...)
   3. portalr::download_observations(path)
   4. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   5. gh:::gh_build_request(...)
   6. gh:::gh_set_dest(working)
   7. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ── 44. Error: seasonal summaries generated by default setting is same  ─────────
  Path exists and overwrite is FALSE
  Backtrace:
   1. portalr::abundance(...)
   2. portalr::summarize_rodent_data(..., output = "abundance")
   3. portalr::load_rodent_data(...)
   4. portalr::load_datafile(...)
   5. portalr::download_observations(path)
   6. gh::gh(paste("GET", zip_download_path), .destfile = zip_download_dest)
   7. gh:::gh_build_request(...)
   8. gh:::gh_set_dest(working)
   9. httr::write_disk(x$dest, overwrite = x$overwrite)
  
  ══ testthat results  ═══════════════════════════════════════════════════════════
  [ OK: 16 | SKIPPED: 10 | WARNINGS: 39 | FAILED: 44 ]
  1. Error: load_rodent_data downloads data if missing (@test-01-data-retrieval.R#33) 
  2. Failure: default data path functions work if unset (@test-01-data-retrieval.R#107) 
  3. Failure: default data path functions work if unset (@test-01-data-retrieval.R#108) 
  4. Failure: default data path functions work if unset (@test-01-data-retrieval.R#109) 
  5. Failure: default data path functions work if unset (@test-01-data-retrieval.R#110) 
  6. Error: (unknown) (@test-02-data-processing.R#4) 
  7. Error: (unknown) (@test-04-weather.R#4) 
  8. Error: summarize_individual_rodents returns expected columns (@test-05-individual-stake-data.R#6) 
  9. Error: plant_abundance returns expected results (@test-06-summarize-plants.R#6) 
  1. ...
  
  Error: testthat unit tests failed
  Execution halted