R Under development (unstable) (2024-11-24 r87369 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # See https://github.com/r-lib/testthat/issues/86 > Sys.setenv("R_TESTS" = "") > > library(testthat) > library(later) > > DetailedSummaryReporter <- R6::R6Class("DetailedSummaryReporter", inherit = testthat::SummaryReporter, + public = list( + start_test = function(context, test) { + self$cat_tight(" ", test, ": ") + }, + end_test = function(context, test) { + self$cat_line() + }, + start_context = function(context) { + self$cat_tight(context, ":\n") + }, + end_context = function(context) { } + ) + ) > > test_check("later", reporter = DetailedSummaryReporter) c-api: C++ API: header and DLL API versions match: . cancel: test-cancel.R: Cancelling callbacks: ...... Cancelled functions will be GC'd: .. Cancelling executed or cancelled callbacks has no effect: ..... Cancelling callbacks on temporary event loops: ......... Cancelling callbacks on persistent private loops without parent: ........ Cancelling callbacks on persistent private loops with parent: ... A canceler will not keep loop alive: . Canceling a callback from another a callback: ... later-fd: test-later-fd.R: later_fd: ............... loop_empty() reflects later_fd callbacks: ..... later_fd() errors when passed destroyed loops: . private-loops: test-private-loops.R: Private event loop: changes current_loop(): .. Private event loop: runs only its own tasks: ... Private event loops: ............. Temporary event loops: ...... Destroying loop and loop ID: ..... Can't destroy current loop: . Can't GC current loop: .. When auto-running a child loop, it will be reported as current_loop(): . CallbackRegistry exists until its callbacks are run: . Auto-running grandchildren loops: ........ Grandchildren loops whose parent is destroyed should not autorun: .......... Removing parent loop allows loop to be deleted: .. Interrupt while running in private loop won't result in stuck loop: .. list_queue: ........ run_now: test-run_now.R: run_now waits and returns FALSE if no tasks: .... run_now returns immediately after executing a task: .. run_now executes all scheduled tasks, not just one: .. run_now executes just one scheduled task, if requested: .... run_now doesn't go past a failed task: .. run_now wakes up when a background thread calls later(): .. When callbacks have tied timestamps, they respect order of creation: . Callbacks cannot affect the caller: .... interrupt and exception handling, R: .. interrupt and exception handling, C++: S ══ Skipped ═════════════════════════════════════════════════════════════════════ 1. interrupt and exception handling, C++ ('test-run_now.R:190:3') - Reason: On CRAN ══ DONE ════════════════════════════════════════════════════════════════════════ > > proc.time() user system elapsed 2.21 0.28 34.53