Running 'testthat.R' [161s/174s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(weathercan)
  > 
  > Sys.setenv("R_TESTS" = "")
  > 
  > test_check("weathercan")
  -- Skip (test_02_utils.R:11:3): check_urls() as expected -----------------------
  Reason: On CRAN
  
  -- Skip (test_03_station_dl.R:6:3): stations_normals() gets normals info -------
  Reason: On CRAN
  
  -- Skip (test_03_station_dl.R:16:3): stations_dl() runs and returns data -------
  Reason: On CRAN
  
  -- ERROR (test_04_weather_raw.R:90:3): meta_html/raw (day) download meta data --
  Error: Reader error: control characters are not allowed: #80 at 1657
  Backtrace:
       x
    1. \-vcr::use_cassette(...) test_04_weather_raw.R:90:2
    2.   \-vcr::insert_cassette(...)
    3.     \-Cassette$new(...)
    4.       \-vcr:::initialize(...)
    5.         \-self$http_interactions()
    6.           +-HTTPInteractionList$new(...)
    7.           | \-vcr:::initialize(...)
    8.           \-self$previously_recorded_interactions()
    9.             +-vcr:::compact(...)
   10.             | \-base::Filter(Negate(is.null), x)
   11.             |   +-base::unlist(lapply(x, f))
   12.             |   \-base::lapply(x, f)
   13.             +-base::lapply(...)
   14.             \-self$deserialized_hash()
   15.               \-self$serializer$deserialize_path()
   16.                 \-yaml::yaml.load(str)
  
  -- Skip (test_05_weather_names.R:7:3): weather_raw() hour column names as expect
  Reason: On CRAN
  
  -- Skip (test_05_weather_names.R:24:3): weather_raw() day column names as expect
  Reason: On CRAN
  
  -- Skip (test_05_weather_names.R:38:3): weather_raw() month column names as expe
  Reason: On CRAN
  
  -- ERROR (test_06_weather_dl_2_day.R:43:3): weather (day) gets all, one year ---
  Error: Reader error: control characters are not allowed: #80 at 15466
  Backtrace:
       x
    1. \-vcr::use_cassette(...) test_06_weather_dl_2_day.R:43:2
    2.   \-vcr::insert_cassette(...)
    3.     \-Cassette$new(...)
    4.       \-vcr:::initialize(...)
    5.         \-self$http_interactions()
    6.           +-HTTPInteractionList$new(...)
    7.           | \-vcr:::initialize(...)
    8.           \-self$previously_recorded_interactions()
    9.             +-vcr:::compact(...)
   10.             | \-base::Filter(Negate(is.null), x)
   11.             |   +-base::unlist(lapply(x, f))
   12.             |   \-base::lapply(x, f)
   13.             +-base::lapply(...)
   14.             \-self$deserialized_hash()
   15.               \-self$serializer$deserialize_path()
   16.                 \-yaml::yaml.load(str)
  
  -- ERROR (test_06_weather_dl_2_day.R:80:3): weather (day) crosses the year line 
  Error: Problem with `mutate()` input `html`.
  x 
  
  ================================================================================
  An HTTP request has been made that vcr does not know how to handle:
  GET https://climate.weather.gc.ca/climate_data/bulk_data_e.html?format=csv&stationID=54398&timeframe=2&submit=Download%2BData&Year=2016&Month=01
  There is currently no cassette in use. There are a few ways
  you can configure vcr to handle this request:
  
  Set `VCR_VERBOSE_ERRORS=TRUE` for more verbose errors
  If you're not sure what to do, open an issue https://github.com/ropensci/vcr/issues
  & see https://books.ropensci.org/http-testing
  ================================================================================
  
  
  i Input `html` is `purrr::map(...)`.
  Backtrace:
       x
    1. +-testthat::expect_silent(...) test_06_weather_dl_2_day.R:80:2
    2. | \-testthat:::quasi_capture(enquo(object), NULL, evaluate_promise)
    3. |   +-testthat:::.capture(...)
    4. |   | +-withr::with_output_sink(...)
    5. |   | | \-base::force(code)
    6. |   | +-base::withCallingHandlers(...)
    7. |   | \-base::withVisible(code)
    8. |   \-rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    9. +-weathercan::weather_dl(...)
   10. | \-weathercan:::weather_single(date_range, s, interval, encoding)
   11. |   \-`%>%`(...)
   12. |     +-base::withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
   13. |     \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
   14. |       \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
   15. |         \-weathercan:::`_fseq`(`_lhs`)
   16. |           \-magrittr::freduce(value, `_function_list`)
   17. |             \-function_list[[i]](value)
   18. |               +-dplyr::mutate(...)
   19. |               \-dplyr:::mutate.data.frame(...)
   20. |                 \-dplyr:::mutate_cols(.data, ...)
   21. |                   +-base::withCallingHandlers(...)
   22. |                   \-mask$eval_all_mutate(dots[[i]])
   23. +-purrr::map(...)
   24. | \-weathercan:::.f(.x[[i]], ...)
   25. |   \-weathercan:::weather_html(station_id = s, date = .x, interval = interval)
   26. |     \-weathercan:::get_html(station_id, date, interval, format = "csv")
   27. |       +-base::withVisible(...)
   28. |       \-weathercan:::`_f`(...)
   29. |         \-httr::GET(url = getOption("weathercan.urls.weather"), query = q)
   30. |           \-httr:::request_perform(req, hu$handle$handle)
   31. |             \-httr:::perform_callback("request", req = req)
   32. |               \-webmockr:::callback(...)
   33. |                 \-webmockr::HttrAdapter$new()$handle_request(req)
   34. |                   \-private$request_handler(req)$handle()
   35. |                     \-eval(parse(text = req_type_fun))(self$request)
   36. |                       \-err$run()
   37. |                         \-self$construct_message()
   38. |                           \-base::stop(mssg, call. = FALSE)
   39. \-base::.handleSimpleError(...)
   40.   \-dplyr:::h(simpleError(msg, call))
  
  -- ERROR (test_06_weather_dl_2_day.R:89:3): weather (day) trims NAs ------------
  Error: Problem with `mutate()` input `html`.
  x 
  
  ================================================================================
  An HTTP request has been made that vcr does not know how to handle:
  GET https://climate.weather.gc.ca/climate_data/bulk_data_e.html?format=csv&stationID=54398&timeframe=2&submit=Download%2BData&Year=2016&Month=01
  There is currently no cassette in use. There are a few ways
  you can configure vcr to handle this request:
  
  Set `VCR_VERBOSE_ERRORS=TRUE` for more verbose errors
  If you're not sure what to do, open an issue https://github.com/ropensci/vcr/issues
  & see https://books.ropensci.org/http-testing
  ================================================================================
  
  
  i Input `html` is `purrr::map(...)`.
  Backtrace:
       x
    1. +-testthat::expect_silent(...) test_06_weather_dl_2_day.R:89:2
    2. | \-testthat:::quasi_capture(enquo(object), NULL, evaluate_promise)
    3. |   +-testthat:::.capture(...)
    4. |   | +-withr::with_output_sink(...)
    5. |   | | \-base::force(code)
    6. |   | +-base::withCallingHandlers(...)
    7. |   | \-base::withVisible(code)
    8. |   \-rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    9. +-weathercan::weather_dl(...)
   10. | \-weathercan:::weather_single(date_range, s, interval, encoding)
   11. |   \-`%>%`(...)
   12. |     +-base::withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
   13. |     \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
   14. |       \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
   15. |         \-weathercan:::`_fseq`(`_lhs`)
   16. |           \-magrittr::freduce(value, `_function_list`)
   17. |             \-function_list[[i]](value)
   18. |               +-dplyr::mutate(...)
   19. |               \-dplyr:::mutate.data.frame(...)
   20. |                 \-dplyr:::mutate_cols(.data, ...)
   21. |                   +-base::withCallingHandlers(...)
   22. |                   \-mask$eval_all_mutate(dots[[i]])
   23. +-purrr::map(...)
   24. | \-weathercan:::.f(.x[[i]], ...)
   25. |   \-weathercan:::weather_html(station_id = s, date = .x, interval = interval)
   26. |     \-weathercan:::get_html(station_id, date, interval, format = "csv")
   27. |       +-base::withVisible(...)
   28. |       \-weathercan:::`_f`(...)
   29. |         \-httr::GET(url = getOption("weathercan.urls.weather"), query = q)
   30. |           \-httr:::request_perform(req, hu$handle$handle)
   31. |             \-httr:::perform_callback("request", req = req)
   32. |               \-webmockr:::callback(...)
   33. |                 \-webmockr::HttrAdapter$new()$handle_request(req)
   34. |                   \-private$request_handler(req)$handle()
   35. |                     \-eval(parse(text = req_type_fun))(self$request)
   36. |                       \-err$run()
   37. |                         \-self$construct_message()
   38. |                           \-base::stop(mssg, call. = FALSE)
   39. \-base::.handleSimpleError(...)
   40.   \-dplyr:::h(simpleError(msg, call))
  
  -- ERROR (test_06_weather_dl_2_day.R:103:5): weather (day) mutliple stations ---
  Error: Problem with `mutate()` input `html`.
  x 
  
  ================================================================================
  An HTTP request has been made that vcr does not know how to handle:
  GET https://climate.weather.gc.ca/climate_data/bulk_data_e.html?format=csv&stationID=54398&timeframe=2&submit=Download%2BData&Year=2016&Month=01
  vcr is currently using the following cassette:
    - ../fixtures/weather_day_51423_54398_2016.yml
      - record_mode: once
      - match_requests_on: method, uri
  Set `VCR_VERBOSE_ERRORS=TRUE` for more verbose errors
  If you're not sure what to do, open an issue https://github.com/ropensci/vcr/issues
  & see https://books.ropensci.org/http-testing
  ================================================================================
  
  
  i Input `html` is `purrr::map(...)`.
  Backtrace:
       x
    1. +-testthat::expect_message(...) test_06_weather_dl_2_day.R:103:4
    2. | \-testthat:::quasi_capture(enquo(object), label, capture_messages)
    3. |   +-testthat:::.capture(...)
    4. |   | \-base::withCallingHandlers(...)
    5. |   \-rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    6. +-weathercan::weather_dl(...)
    7. | \-weathercan:::weather_single(date_range, s, interval, encoding)
    8. |   \-`%>%`(...)
    9. |     +-base::withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
   10. |     \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
   11. |       \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
   12. |         \-weathercan:::`_fseq`(`_lhs`)
   13. |           \-magrittr::freduce(value, `_function_list`)
   14. |             \-function_list[[i]](value)
   15. |               +-dplyr::mutate(...)
   16. |               \-dplyr:::mutate.data.frame(...)
   17. |                 \-dplyr:::mutate_cols(.data, ...)
   18. |                   +-base::withCallingHandlers(...)
   19. |                   \-mask$eval_all_mutate(dots[[i]])
   20. +-purrr::map(...)
   21. | \-weathercan:::.f(.x[[i]], ...)
   22. |   \-weathercan:::weather_html(station_id = s, date = .x, interval = interval)
   23. |     \-weathercan:::get_html(station_id, date, interval, format = "csv")
   24. |       +-base::withVisible(...)
   25. |       \-weathercan:::`_f`(...)
   26. |         \-httr::GET(url = getOption("weathercan.urls.weather"), query = q)
   27. |           \-httr:::request_perform(req, hu$handle$handle)
   28. |             \-httr:::perform_callback("request", req = req)
   29. |               \-webmockr:::callback(...)
   30. |                 \-webmockr::HttrAdapter$new()$handle_request(req)
   31. |                   \-private$request_handler(req)$handle()
   32. |                     \-eval(parse(text = req_type_fun))(self$request)
   33. |                       \-err$run()
   34. |                         \-self$construct_message()
   35. |                           \-base::stop(mssg, call. = FALSE)
   36. \-base::.handleSimpleError(...)
   37.   \-dplyr:::h(simpleError(msg, call))
  
  -- ERROR (test_06_weather_dl_2_day.R:114:3): weather (day) no data fails nicely 
  Error: Reader error: control characters are not allowed: #80 at 76371
  Backtrace:
       x
    1. \-vcr::use_cassette(...) test_06_weather_dl_2_day.R:114:2
    2.   \-vcr::insert_cassette(...)
    3.     \-Cassette$new(...)
    4.       \-vcr:::initialize(...)
    5.         \-self$http_interactions()
    6.           +-HTTPInteractionList$new(...)
    7.           | \-vcr:::initialize(...)
    8.           \-self$previously_recorded_interactions()
    9.             +-vcr:::compact(...)
   10.             | \-base::Filter(Negate(is.null), x)
   11.             |   +-base::unlist(lapply(x, f))
   12.             |   \-base::lapply(x, f)
   13.             +-base::lapply(...)
   14.             \-self$deserialized_hash()
   15.               \-self$serializer$deserialize_path()
   16.                 \-yaml::yaml.load(str)
  
  -- ERROR (test_06_weather_dl_2_day.R:193:3): weather (day) handles data with dif
  Error: Reader error: control characters are not allowed: #80 at 172593
  Backtrace:
       x
    1. \-vcr::use_cassette(...) test_06_weather_dl_2_day.R:193:2
    2.   \-vcr::insert_cassette(...)
    3.     \-Cassette$new(...)
    4.       \-vcr:::initialize(...)
    5.         \-self$http_interactions()
    6.           +-HTTPInteractionList$new(...)
    7.           | \-vcr:::initialize(...)
    8.           \-self$previously_recorded_interactions()
    9.             +-vcr:::compact(...)
   10.             | \-base::Filter(Negate(is.null), x)
   11.             |   +-base::unlist(lapply(x, f))
   12.             |   \-base::lapply(x, f)
   13.             +-base::lapply(...)
   14.             \-self$deserialized_hash()
   15.               \-self$serializer$deserialize_path()
   16.                 \-yaml::yaml.load(str)
  
  -- ERROR (test_06_weather_dl_2_day.R:217:3): weather (day) skips with message if
  Error: Reader error: control characters are not allowed: #80 at 79463
  Backtrace:
       x
    1. \-vcr::use_cassette(...) test_06_weather_dl_2_day.R:217:2
    2.   \-vcr::insert_cassette(...)
    3.     \-Cassette$new(...)
    4.       \-vcr:::initialize(...)
    5.         \-self$http_interactions()
    6.           +-HTTPInteractionList$new(...)
    7.           | \-vcr:::initialize(...)
    8.           \-self$previously_recorded_interactions()
    9.             +-vcr:::compact(...)
   10.             | \-base::Filter(Negate(is.null), x)
   11.             |   +-base::unlist(lapply(x, f))
   12.             |   \-base::lapply(x, f)
   13.             +-base::lapply(...)
   14.             \-self$deserialized_hash()
   15.               \-self$serializer$deserialize_path()
   16.                 \-yaml::yaml.load(str)
  
  -- Skip (test_08_normals.R:17:3): normals_url() correctly creates urls ---------
  Reason: On CRAN
  
  -- Skip (test_08_normals.R:34:3): normals_raw() download normals as character --
  Reason: On CRAN
  
  -- Skip (test_08_normals.R:50:3): normals_extract() cleans up raw data ---------
  Reason: On CRAN
  
  -- Skip (test_08_normals.R:64:3): data_extract() / frost_extract() extract data 
  Reason: On CRAN
  
  -- Skip (test_08_normals.R:80:3): normals_format()/frost_format() format data to
  Reason: On CRAN
  
  -- Skip (test_08_normals.R:106:3): normals_dl() downloads normals/frost dates as
  Reason: On CRAN
  
  -- Skipped tests  --------------------------------------------------------------
  * On CRAN (12)
  
  == testthat results  ===========================================================
  ERROR (test_04_weather_raw.R:90:3): meta_html/raw (day) download meta data
  ERROR (test_06_weather_dl_2_day.R:43:3): weather (day) gets all, one year
  ERROR (test_06_weather_dl_2_day.R:80:3): weather (day) crosses the year line
  ERROR (test_06_weather_dl_2_day.R:89:3): weather (day) trims NAs
  ERROR (test_06_weather_dl_2_day.R:103:5): weather (day) mutliple stations
  ERROR (test_06_weather_dl_2_day.R:114:3): weather (day) no data fails nicely
  ERROR (test_06_weather_dl_2_day.R:193:3): weather (day) handles data with different numbers of columns
  ERROR (test_06_weather_dl_2_day.R:217:3): weather (day) skips with message if end date < start date
  
  [ FAIL 8 | WARN 0 | SKIP 12 | PASS 490 ]
  Error: Test failures
  Execution halted