Running 'testthat.R' [11s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(pins)
  > 
  > PerformanceReporter <- R6::R6Class(
  +   "PerformanceReporter",
  +   inherit = Reporter,
  +   public = list(
  +    results = list(
  +      context = character(0),
  +      time = numeric(0)
  +    ),
  +    last_context = NA_character_,
  +    last_test = NA_character_,
  +    last_time = Sys.time(),
  +    last_test_time = 0,
  +    n_ok = 0,
  +    n_skip = 0,
  +    n_warn = 0,
  +    n_fail = 0,
  + 
  +    start_context = function(context) {
  +      private$print_last_test()
  + 
  +      self$last_context <- context
  +      self$last_time <- Sys.time()
  +      cat(paste0("\nContext: ", context, "\n"))
  +    },
  + 
  +    add_result = function(context, test, result) {
  +      elapsed_time <- as.numeric(Sys.time()) - as.numeric(self$last_time)
  + 
  +      print_message = TRUE
  +      if (inherits(result, "expectation_failure") ||
  +          inherits(result, "expectation_error")) {
  +        self$n_fail <- self$n_fail + 1
  +      } else if (inherits(result, "expectation_skip")) {
  +        self$n_skip <- self$n_skip + 1
  +      } else if (inherits(result, "expectation_warning")) {
  +        self$n_warn <- self$n_warn + 1
  +      } else {
  +        print_message = FALSE
  +        self$n_ok <- self$n_ok + 1
  +      }
  + 
  +      if (print_message) {
  +        cat(
  +          paste0(test, ": ", private$expectation_type(result), ": ", result$message),
  +          "\n"
  +        )
  +      }
  + 
  +      if (identical(self$last_test, test)) {
  +        elapsed_time <- self$last_test_time + elapsed_time
  +        self$results$time[length(self$results$time)] <- elapsed_time
  +        self$last_test_time <- elapsed_time
  +      }
  +      else {
  +        private$print_last_test()
  + 
  +        self$results$context[length(self$results$context) + 1] <- self$last_context
  +        self$results$time[length(self$results$time) + 1] <- elapsed_time
  +        self$last_test_time <- elapsed_time
  +      }
  + 
  +      self$last_test <- test
  +      self$last_time <- Sys.time()
  +    },
  + 
  +    end_reporter = function() {
  +      private$print_last_test()
  + 
  +      cat("\n")
  +      data <- data.frame(
  +        context = self$results$context,
  +        time = self$results$time
  +      )
  + 
  +      summary <- aggregate(. ~ context, data, function(e) format(sum(e), width = "9", digits = "3", scientific = F))
  + 
  +      total <- format(sum(data$time), digits = "3", scientific = F)
  + 
  +      cat("\n")
  +      cat("--- Performance Summary  ----\n\n")
  +      print(as.data.frame(summary), row.names = FALSE)
  + 
  +      cat(paste0("\nTotal: ", total, "s\n"))
  + 
  +      cat("\n")
  +      cat("------- Tests Summary -------\n\n")
  +      self$cat_line("OK:       ", format(self$n_ok, width = 5))
  +      self$cat_line("Failed:   ", format(self$n_fail, width = 5))
  +      self$cat_line("Warnings: ", format(self$n_warn, width = 5))
  +      self$cat_line("Skipped:  ", format(self$n_skip, width = 5))
  +      cat("\n")
  +    }
  +   ),
  +   private = list(
  +    print_last_test = function() {
  +      if (!is.na(self$last_test) &&
  +          length(self$last_test) > 0 &&
  +          length(self$last_test_time) > 0) {
  +        cat(paste0(self$last_test, ": ", self$last_test_time, "\n"))
  +      }
  + 
  +      self$last_test <- NA_character_
  +    },
  +    expectation_type = function(exp) {
  +      stopifnot(is.expectation(exp))
  +      gsub("^expectation_", "", class(exp)[[1]])
  +    }
  +   )
  + )
  > 
  > test_check("pins", reporter = "performance")
  
  Context: pin aaa check
  tests start without local dirs: skip: Reason: On CRAN 
  tests start without local dirs: 0.0155999660491943
  
  Context: board custom
  can board_register() a custom board: 0.171599864959717
  can pin() with custom board: 0.343199968338013
  can pin_find() with custom board: 0.0155999660491943
  can pin_get() with custom board: 0.0155999660491943
  can board_deregister() custom board: 0.0156002044677734
  
  Context: board datatxt
  can board_register() a data.txt board: skip: Reason: On CRAN 
  can pin_get() iris from a data.txt board: skip: Reason: On CRAN 
  can board_register() a data.txt board: 0
  can not evaluate expressions from data.txt board: skip: Reason: On CRAN 
  can pin_get() iris from a data.txt board: 0.0155999660491943
  can board_deregister() a data.txt board: skip: Reason: On CRAN 
  can not evaluate expressions from data.txt board: 0
  can board_register() with URL and name: skip: Reason: On CRAN 
  can board_deregister() a data.txt board: 0
  can board_register() with URL and no name: skip: Reason: On CRAN 
  can board_register() with URL and name: 0
  can board_register() with URL and no name: skip: Reason: On CRAN 
  can board_register() with URL and no name: 0
  
  Context: board dospace
  
  Context: board gcloud
  can't register gcloud board: skip: Reason: failed to register gcloud board 
  board contains proper gcloud headers: 0.0311999320983887
  can't register gcloud board: skip: Reason: failed to register gcloud board 
  can't register gcloud board: 0
  
  Context: board github
  can't register github board: skip: Reason: failed to register github board 
  can pin large resources in github releases: skip: Reason: Board 'github' not registered. 
  can't register github board: 0
  uninitialized repo returns empty results: skip: Reason: GITHUB_PAT envvar required. 
  can pin large resources in github releases: 0
  uninitialized repo returns empty results: 0
  
  Context: board kaggle
  test kaggle board: skip: Reason: kaggle board is not registered 
  test kaggle board: 0
  
  Context: board local
  local board is registered: 0
  can pin() file with auto-generated name in local board: 0.37440013885498
  can pin() file to local board: 0.046799898147583
  can pin() data frame to local board: 0.0312001705169678
  can pin_get() a pin from local board: 0.0155999660491943
  can pin_find() the pin in any board: 0.452399969100952
  can pin_find() in local board: 0.0311999320983887
  can pin_info() in local board: 0.0468001365661621
  can pin_remove() file from local board: 0
  can pin() medium files local board: skip: Reason: This test is too slow 
  can pin_remove() dataset from local board: 0.0155999660491943
  can pin() medium files local board: 0.0311999320983887
  can pin() with version local board: 0.0311999320983887
  can pin() file to local board with links: 0.0312001705169678
  can pin() data frame to local board with links: 0.046799898147583
  can pin_get() a pin from local board with links: 0.0155999660491943
  can pin_find() in local board with links: failure: grepl(pin_name, results$name) is not TRUE
  
  `actual`:   TRUE TRUE
  `expected`: TRUE      
  can pin_find() the pin in any board: 0.358799934387207
  can pin_find() in local board with links: 0.0468001365661621
  can pin_info() in local board with links: 0.046799898147583
  can pin_remove() file from local board with links: 0
  can pin() medium files local board with links: skip: Reason: This test is too slow 
  can pin_remove() dataset from local board with links: 0.0312001705169678
  can pin() medium files local board with links: 0
  can pin() with version local board with links: 0.0311999320983887
  local board is registered with versions: 0.0155999660491943
  can pin() and retrieve specific version local board: 0.0936000347137451
  can pin_remove() a pin with versions local board: 0
  
  Context: board metadata
  can roundtrip table metadata with no description: 0
  can roundtrip table metadata with description: 0
  can roundtrip files metadata with no description: 0.0155999660491943
  can roundtrip files metadata with description: 0
  can read empty metadata from empty text: 0
  can read empty metadata from invalid text: 0
  can read empty metadata from semi-valid text: 0.0155999660491943
  
  Context: board packages
  can pin_find() packages with empty search: 0.811200141906738
  can pin_get() an specific resource: skip: Reason: Need to investigate in GitHub action 
  can pin_find() packages with search term: 0.296399831771851
  can pin_get() an specific resource: 0
  
  Context: board rsc
  can't register rsconnect board: skip: Reason: failed to register rsconnect board 
  can't register rsconnect board: 0
  User-supplied html files can overwrite the default: 0.0155999660491943
  Mismatched protocols generate correct URL: 0
  
  Context: board s3
  can't register s3 board: skip: Reason: failed to register s3 board 
  board contains proper s3 headers: 0.0351998805999756
  can't register s3 board: skip: Reason: failed to register s3 board 
  can't register s3 board: 0.00900006294250488
  
  Context: board azure
  can't register azure board: skip: Reason: failed to register azure board 
  board contains proper azure headers: 0.0160000324249268
  can't register azure board: skip: Reason: failed to register azure board 
  can't register azure board: 0.00900006294250488
  
  Context: pin dataframe
  can pin() data frame: 0.0499999523162842
  can sanitize data frame names: 0.00400018692016602
  can save data frame with different types: 0.0179998874664307
  can pin complex data frame: 0.0420000553131104
  
  Context: pin data table
  can maintain class when using pin(I()): 0.193199872970581
  
  Context: pin find
  can pin_find() entries across all boards: 1.51319980621338
  
  Context: pin identity
  can maintain class when using pin(I()): 0.0312001705169678
  
  Context: pin info
  can retrieve pin_info() across all boards: 0.389999866485596
  can retrieve pin_info() with no extended info across all boards: 0.436800003051758
  can retrieve pin_info() with no metadata info across all boards: 0.37440013885498
  can retrieve pin_info() with no extended nor metadata info across all boards: 0.483599901199341
  
  Context: pin metadata
  can pin() with custom metadata: skip: Reason: On CRAN 
  can pin() with custom metadata: 0
  
  Context: pin object
  can pin() object: 0.0312001705169678
  can pin() concurrently: 2.5271999835968
  
  Context: pin owner
  can retrieve name with pin_content_name(): 0.0155999660491943
  can retrieve empty owner with pin_content_owner(): 0
  can retrieve empty name with pin_content_owner(): 0
  can parse simple names with pin_content_owner() and pin_content_name(): 0
  
  Context: pin local
  can pin() remote URL: skip: Reason: On CRAN 
  can pin() remote CSV with URL: skip: Reason: On CRAN 
  can pin() remote URL: 0
  can pin() remote CSV with URL and name: skip: Reason: On CRAN 
  can pin() remote CSV with URL: 0
  can pin() remote CSV with signature: skip: Reason: On CRAN 
  can pin() remote CSV with URL and name: 0
  fail to pin() remote CSV with bad signature: skip: Reason: On CRAN 
  can pin() remote CSV with signature: 0
  fail to pin() remote CSV with bad signature: 0
  
  Context: pin zzz check
  tests do not create local dirs: skip: Reason: On CRAN 
  tests do not create local dirs: 0
  
  
  --- Performance Summary  ----
  
          context      time
      board azure     0.025
     board custom     0.562
    board datatxt    0.0156
     board gcloud    0.0312
     board github         0
     board kaggle         0
      board local      1.79
   board metadata    0.0312
   board packages      1.11
        board rsc    0.0156
         board s3    0.0442
    pin aaa check    0.0156
   pin data table     0.193
    pin dataframe     0.114
         pin find      1.51
     pin identity    0.0312
         pin info      1.68
        pin local         0
     pin metadata         0
       pin object      2.56
        pin owner    0.0156
    pin zzz check         0
  
  Total: 9.75s
  
  ------- Tests Summary -------
  
  OK:          92
  Failed:       1
  Warnings:     0
  Skipped:     29
  
  Error: Test failures
  Execution halted