Skip to content

Commit c1b96ad

Browse files
Merge branch 'release/0.9.0'
2 parents 85fc57f + 30f4429 commit c1b96ad

15 files changed

+433
-436
lines changed

.github/workflows/R-CMD-check.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ jobs:
5353
R_PARALLELLY_AVAILABLECORES_SYSTEM: ${{ matrix.config.availablecores }}
5454
R_FUTURE_RNG_ONMISUSE: error
5555
R_FUTURE_GLOBALS_KEEPWHERE: ${{ matrix.config.globals_keepWhere }}
56-
R_PARALLELLY_BRANCH: ${{ matrix.config.parallelly }}
5756

5857
steps:
5958
- uses: actions/checkout@v4
@@ -76,10 +75,6 @@ jobs:
7675
- name: Install package itself (special case)
7776
run: |
7877
install.packages(".", repos = NULL, type = "source") ## needed by parallel workers
79-
pver <- Sys.getenv("R_PARALLELLY_BRANCH")
80-
if (nzchar(pver)) {
81-
remotes::install_github("futureverse/parallelly", ref = pver)
82-
}
8378
8479
shell: Rscript {0}
8580

.github/workflows/future_tests-future.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
future:
19-
- { plan: 'cluster' }
20-
- { plan: 'multicore' }
21-
- { plan: 'multisession' }
22-
- { plan: 'sequential' }
19+
- { plan: 'cluster' }
20+
- { plan: 'multicore' }
21+
- { plan: 'multisession' }
22+
- { plan: 'sequential' }
2323

2424
env:
2525
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}

DESCRIPTION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
Package: future.tests
22
Title: Test Suite for 'Future API' Backends
3-
Version: 0.8.0-9003
3+
Version: 0.9.0
44
Authors@R: c(
55
person("Henrik", "Bengtsson", role = c("aut", "cre", "cph"), email = "[email protected]"),
6-
person(family = "The R Consortium", comment = "Project was awared an Infrastructure Steering Committee (ISC) grant in 2017", role = "fnd"))
6+
person(family = "The R Consortium", comment = "Project was awarded an Infrastructure Steering Committee (ISC) grant in 2017", role = "fnd"))
77
Description: Backends implementing the 'Future' API <doi:10.32614/RJ-2021-048>, as defined by the 'future' package, should use the tests provided by this package to validate that they meet the minimal requirements of the 'Future' API. The tests can be performed easily from within R or from outside of R from the command line making it straightforward to include them in package tests and in Continuous Integration (CI) pipelines.
88
Imports:
9-
future (>= 1.22.1),
9+
future (>= 1.40.0),
1010
cli,
1111
crayon,
1212
prettyunits,

NEWS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Version (development version)
1+
# Version 0.9.0 [2025-04-14]
22

33
## New Features
44

R/state.R

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,9 @@ db_state <- local({
208208
## WORKAROUND: https://github.com/HenrikBengtsson/future/issues/320
209209
state_plan <- state$plan
210210
plan(state_plan)
211-
212-
## Assert that everything was properly undone
211+
213212
## FIXME: 'future' should guarantee this - just drop? /HB 2025-04-02
214-
stop_if_not(equal_strategy_stacks(plan("list"), state_plan))
213+
stop_if_not(all.equal(plan("list"), state_plan))
215214
}
216215

217216
# message("*** ", state$title, " ... DONE")

backend_results/future,cluster.out

Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,71 @@
11
── Settings ────────────────────────────────────────────────────────────────────
2-
- future.tests version : 0.7.0.9006
2+
- future.tests version : 0.8.0.9005
33
- R_FUTURE_TESTS_ROOT :
44
- Option 'future.tests.root': NULL
5-
- Default test set folder : /home/henrik/R/ubuntu22_04-x86_64-pc-linux-gnu-library/4.4-CBI-gcc11/future.tests/test-db
5+
- Default test set folder : /home/henrik/R/ubuntu22_04-x86_64-pc-linux-gnu-library/4.5-CBI-gcc11/future.tests/test-db
66
- Max number of workers : 2
77
- Timeout : N/A
88

99
── Running 55 test sets with plan(future::cluster) ─────────────────────────────
10-
ℹ Backend package: future 1.34.0.9357
11-
✔ 1. future() - conditions (1 test) (133ms)
12-
✔ 2. %<-% - conditions (1 test) (331ms)
13-
✔ 3. future() - muffle conditions (1 test) (61ms)
14-
✔ 4. Argument '...' (1 test) (54ms)
15-
✔ 5. Argument '...' from parent function (1 test) (55ms)
16-
✔ 6. Argument '...' - non existing (1 test) (54ms)
17-
✔ 7. Argument '...' - exception (1 test) (51ms)
18-
✔ 8. Early signaling of errors (4 tests) (209ms)
19-
✔ 9. Early signaling of warnings (4 tests) (208ms)
20-
✔ 10. Early signaling of messages (4 tests) (209ms)
21-
✔ 11. %<-% - local evaluation (2 tests) (105ms)
22-
✔ 12. %<-% - local evaluation & global variable (2 tests) (105ms)
23-
✔ 13. %<-% - errors (2 tests) (106ms)
24-
✔ 14. %<-% - errors and listenv (2 tests) (423ms)
25-
✔ 15. %<-% & %->% (2 tests) (210ms)
26-
✔ 16. %<-% - nested (1 test) (122ms)
27-
✔ 17. futureAssign() - lazy evaluation (2 tests) (106ms)
28-
✔ 18. futureAssign() - potential task name clashes (1 test) (50ms)
29-
✔ 19. futureAssign() - global variables with and without lazy evaluation (2 tests) (205ms)
30-
✔ 20. futureAssign() - lazy evaluation via disposable option (2 tests) (103ms)
31-
✔ 21. futureCall() (4 tests) (870ms)
32-
✔ 22. futureCall() - globals = list(a = 3) (2 tests) (117ms)
33-
✔ 23. futureCall() - globals = "a" (2 tests) (115ms)
34-
✔ 24. future() - rm() a global variable (2 tests) (106ms)
35-
✔ 25. future() - non-exported package objects (1 test) (84ms)
36-
✔ 26. future() - NSE '...' (1 test) (95ms)
37-
✔ 27. future() - global variables with and without lazy evaluation (2 tests) (95ms)
38-
✔ 28. resolved() on lazy futures (1 test) (114ms)
39-
✔ 29. demo("mandelbrot", package = "future") (2 tests) (244ms)
10+
ℹ Backend package: future 1.40.0
11+
✔ 1. future() - conditions (1 test) (698ms)
12+
✔ 2. %<-% - conditions (1 test) (85ms)
13+
✔ 3. future() - muffle conditions (1 test) (151ms)
14+
✔ 4. Argument '...' (1 test) (129ms)
15+
✔ 5. Argument '...' from parent function (1 test) (131ms)
16+
✔ 6. Argument '...' - non existing (1 test) (130ms)
17+
✔ 7. Argument '...' - exception (1 test) (139ms)
18+
✔ 8. Early signaling of errors (4 tests) (473ms)
19+
✔ 9. Early signaling of warnings (4 tests) (519ms)
20+
✔ 10. Early signaling of messages (4 tests) (518ms)
21+
✔ 11. %<-% - local evaluation (2 tests) (256ms)
22+
✔ 12. %<-% - local evaluation & global variable (2 tests) (258ms)
23+
✔ 13. %<-% - errors (2 tests) (257ms)
24+
✔ 14. %<-% - errors and listenv (2 tests) (1.2s)
25+
✔ 15. %<-% & %->% (2 tests) (541ms)
26+
✔ 16. %<-% - nested (1 test) (277ms)
27+
✔ 17. futureAssign() - lazy evaluation (2 tests) (255ms)
28+
✔ 18. futureAssign() - potential task name clashes (1 test) (218ms)
29+
✔ 19. futureAssign() - global variables with and without lazy evaluation (2 tests) (539ms)
30+
✔ 20. futureAssign() - lazy evaluation via disposable option (2 tests) (256ms)
31+
✔ 21. futureCall() (4 tests) (573ms)
32+
✔ 22. futureCall() - globals = list(a = 3) (2 tests) (276ms)
33+
✔ 23. futureCall() - globals = "a" (2 tests) (279ms)
34+
✔ 24. future() - rm() a global variable (2 tests) (255ms)
35+
✔ 25. future() - non-exported package objects (1 test) (166ms)
36+
✔ 26. future() - NSE '...' (1 test) (273ms)
37+
✔ 27. future() - global variables with and without lazy evaluation (2 tests) (255ms)
38+
✔ 28. resolved() on lazy futures (1 test) (192ms)
39+
✔ 29. demo("mandelbrot", package = "future") (2 tests) (969ms)
4040
✔ 30. nbrOfWorkers() (1 test) (1ms)
41-
✔ 31. future() - preserve R options (data.table) (1 test) (150ms)
42-
✔ 32. future() - 'data.table' inject (1 test) (66ms)
43-
✔ 33. future() - can load 'ff' package (1 test) (88ms)
44-
✔ 34. future() - can attach 'ff' package (1 test) (65ms)
45-
✔ 35. future() - preserve R options (ff) (1 test) (524ms)
46-
✔ 36. plan() (1 test) (3ms)
47-
✔ 37. plan() - workers=<numeric> (1 test) (597ms)
48-
✔ 38. plan() - workers=<function> (1 test) (579ms)
49-
✔ 39. plan() - workers=<invalid> (1 test) (3ms)
50-
✔ 40. resolve() (8 tests) (4.5s)
51-
✔ 41. resolve() - run-time exception (8 tests) (425ms)
52-
✔ 42. resolve(<list of futures and values>) (2 tests) (138ms)
53-
✔ 43. resolve(<list of futures>) (2 tests) (133ms)
54-
✔ 44. resolve(<named matrix list of futures and values>) - time ordering (1 test) (556ms)
55-
✔ 45. resolved() - assert non-blocking while launching lazy futures (1 test) (4.1s)
56-
✔ 46. Random Number Generation (RNG) - seeds and preserving RNGkind (1 test) (13ms)
57-
✔ 47. Random Number Generation (RNG) - future (2 tests) (645ms)
58-
✔ 48. Random Number Generation (RNG) - %<-% (2 tests) (506ms)
59-
✔ 49. Orchestration Stability - future() does not update RNG state (1 test) (54ms)
60-
✔ 50. Orchestration Stability - run() does not update RNG state (1 test) (53ms)
61-
✔ 51. Orchestration Stability - result() does not update RNG state (1 test) (53ms)
62-
✔ 52. Orchestration Stability - value() does not update RNG state (1 test) (51ms)
63-
✔ 53. future() - standard output (2 tests) (152ms)
64-
✔ 54. %<-% - standard output (2 tests) (113ms)
65-
✔ 55. value() - visibility (1 test) (102ms)
41+
✔ 31. future() - preserve R options (data.table) (1 test) (308ms)
42+
✔ 32. future() - 'data.table' inject (1 test) (142ms)
43+
✔ 33. future() - can load 'ff' package (1 test) (151ms)
44+
✔ 34. future() - can attach 'ff' package (1 test) (139ms)
45+
✔ 35. future() - preserve R options (ff) (1 test) (1.2s)
46+
✔ 36. plan() (1 test) (7ms)
47+
✔ 37. plan() - workers=<numeric> (1 test) (1.7s)
48+
✔ 38. plan() - workers=<function> (1 test) (1.7s)
49+
✔ 39. plan() - workers=<invalid> (1 test) (5ms)
50+
✔ 40. resolve() (8 tests) (5.9s)
51+
✔ 41. resolve() - run-time exception (8 tests) (1.1s)
52+
✔ 42. resolve(<list of futures and values>) (2 tests) (1.2s)
53+
✔ 43. resolve(<list of futures>) (2 tests) (462ms)
54+
✔ 44. resolve(<named matrix list of futures and values>) - time ordering (1 test) (744ms)
55+
✔ 45. resolved() - assert non-blocking while launching lazy futures (1 test) (4.3s)
56+
✔ 46. Random Number Generation (RNG) - seeds and preserving RNGkind (1 test) (91ms)
57+
✔ 47. Random Number Generation (RNG) - future (2 tests) (2.2s)
58+
✔ 48. Random Number Generation (RNG) - %<-% (2 tests) (1.5s)
59+
✔ 49. Orchestration Stability - future() does not update RNG state (1 test) (237ms)
60+
✔ 50. Orchestration Stability - run() does not update RNG state (1 test) (220ms)
61+
✔ 51. Orchestration Stability - result() does not update RNG state (1 test) (237ms)
62+
✔ 52. Orchestration Stability - value() does not update RNG state (1 test) (220ms)
63+
✔ 53. future() - standard output (2 tests) (304ms)
64+
✔ 54. %<-% - standard output (2 tests) (271ms)
65+
✔ 55. value() - visibility (1 test) (277ms)
6666

6767
Number of tests: 55
6868
Number of test steps: 100
69-
Duration: 19.6s
69+
Duration: 36.3s
7070
Results: 100 ok ✔ | 0 skips ★ | 0 errors ✖ | 0 timeouts T
7171

0 commit comments

Comments
 (0)