|
1 | 1 | ## Comments |
2 | 2 |
|
3 | | -#### 2025-11 |
| 3 | +#### 2025-12-22 |
4 | 4 |
|
5 | 5 | Dear maintainer, |
6 | 6 |
|
7 | 7 | Please see the problems shown on |
8 | | -cran.r-project.org/web/checks/check_results_plumber.html. |
| 8 | +<https://cran.r-project.org/web/checks/check_results_plumber.html>. |
9 | 9 |
|
10 | | -Please correct before 2025-12-08 to safely retain your package on CRAN. |
11 | | - |
12 | | -Do remember to look at any 'Additional issues' |
13 | | - |
14 | | -Packages in Suggests should be used conditionally: see 'Writing R Extensions'. |
15 | | -This needs to be corrected even if the missing package(s) become available. |
16 | | -It can be tested by checking with _R_CHECK_DEPENDS_ONLY_=true. |
| 10 | +Please correct before 2026-01-12 to safely retain your package on CRAN. |
17 | 11 |
|
| 12 | +Best wishes, |
18 | 13 | The CRAN Team |
19 | 14 |
|
20 | | -#### 2024-12-12 |
21 | | - |
22 | | -Complete output: |
23 | | - > library(testthat) |
24 | | - > library(plumber) |
25 | | - > |
26 | | - > test_check("plumber") |
27 | | - Saving _problems/test-parser-6.R |
28 | | - Saving _problems/test-serializer-htmlwidgets-39.R |
29 | | - <packageNotFoundError in loadNamespace(x): there is no package called 'base64enc'> |
30 | | - <packageNotFoundError in loadNamespace(x): there is no package called 'base64enc'> |
31 | | - Saving _problems/test-tidy-plumber-109.R |
32 | | - <packageNotFoundError in loadNamespace(x): there is no package called 'base64enc'> |
33 | | - Saving _problems/test-tidy-plumber-133.R |
34 | | - Saving _problems/test-zzz-openapi-340.R |
35 | | - Saving _problems/test-zzz-openapi-347.R |
36 | | - [ FAIL 7 | WARN 0 | SKIP 46 | PASS 1750 ] |
37 | | - |
38 | | - ══ Skipped tests (46) ══════════════════════════════════════════════════════════ |
39 | | - • On CRAN (15): 'test-cookies.R:47:3', 'test-deprecated.R:60:3', |
40 | | - 'test-find-port.R:40:3', 'test-find-port.R:56:3', 'test-legacy.R:20:3', |
41 | | - 'test-options.R:22:3', 'test-plumber-print.R:2:3', |
42 | | - 'test-plumber-print.R:60:3', 'test-plumber.R:67:3', |
43 | | - 'test-serializer-device.R:26:1', 'test-serializer-htmlwidgets.R:18:3', |
44 | | - 'test-static.R:23:3', 'test-zzz-openapi.R:254:3', |
45 | | - 'test-zzz-plumb_api.R:10:3', 'test-zzz-plumb_api.R:65:3' |
46 | | - • {arrow} is not installed (5): 'test-parse-body.R:93:3', |
47 | | - 'test-parse-body.R:113:3', 'test-serializer-feather.R:4:3', |
48 | | - 'test-serializer-feather.R:21:3', 'test-serializer-feather.R:34:3' |
49 | | - • {base64enc} is not installed (9): 'test-cookies.R:113:3', |
50 | | - 'test-cookies.R:175:3', 'test-cookies.R:207:3', 'test-cookies.R:265:3', |
51 | | - 'test-sessions.R:30:3', 'test-sessions.R:55:3', 'test-sessions.R:86:3', |
52 | | - 'test-sessions.R:117:3', 'test-sessions.R:150:3' |
53 | | - • {geojsonsf} is not installed (3): 'test-parse-body.R:164:3', |
54 | | - 'test-serializer-geojson.R:2:3', 'test-serializer-geojson.R:24:3' |
55 | | - • {mockery} is not installed (2): 'test-plumber-run.R:45:3', |
56 | | - 'test-plumber-run.R:71:3' |
57 | | - • {readr} is not installed (5): 'test-parse-body.R:53:3', |
58 | | - 'test-parse-body.R:73:3', 'test-parse-body.R:305:3', |
59 | | - 'test-serializer-csv.R:4:3', 'test-serializer-csv.R:26:3' |
60 | | - • {readxl} is not installed (1): 'test-parse-body.R:138:3' |
61 | | - • {rmarkdown} is not installed. (1): 'test-zzzz-include.R:22:3' |
62 | | - • {writexl} is not installed (2): 'test-serializer-excel.R:4:3', |
63 | | - 'test-serializer-excel.R:24:3' |
64 | | - • {yaml} is not installed (3): 'test-parse-body.R:46:3', |
65 | | - 'test-serializer-yaml.R:4:3', 'test-serializer-yaml.R:26:3' |
66 | | - |
67 | | - ══ Failed tests ════════════════════════════════════════════════════════════════ |
68 | | - ── Error ('test-parser.R:6:5'): parsers can be combined ──────────────────────── |
69 | | - Error in `(function (..., sheet = NULL) { if (!requireNamespace("readxl", quietly = TRUE)) { stop("`readxl` must be installed for `parser_excel` to work") } parse_fn <- parser_read_file(function(tmpfile) { if (is.null(sheet)) { sheet <- 1L } else if (anyNA(sheet)) { sheet <- readxl::excel_sheets(tmpfile) } if (is.character(sheet)) names(sheet) <- sheet out <- suppressWarnings(lapply(sheet, function(sht) { readxl::read_excel(path = tmpfile, sheet = sht, ...) })) out }) function(value, ...) { parse_fn(value) } })()`: `readxl` must be installed for `parser_excel` to work |
70 | | - Backtrace: |
71 | | - ▆ |
72 | | - 1. └─plumber (local) expect_parsers(...) at test-parser.R:18:3 |
73 | | - 2. └─plumber:::make_parser(names) at test-parser.R:6:5 |
74 | | - 3. └─base::lapply(...) |
75 | | - 4. └─plumber (local) FUN(X[[i]], ...) |
76 | | - 5. ├─base::do.call(init_parser_func, aliases[[alias]]) |
77 | | - 6. └─plumber (local) `<fn>`() |
78 | | - 7. ├─base::do.call(parser, list(...)) |
79 | | - 8. └─plumber (local) `<fn>`() |
80 | | - ── Error ('test-parser.R:38:3'): parsers work ────────────────────────────────── |
81 | | - Error in `(function (..., sheet = NULL) { if (!requireNamespace("readxl", quietly = TRUE)) { stop("`readxl` must be installed for `parser_excel` to work") } parse_fn <- parser_read_file(function(tmpfile) { if (is.null(sheet)) { sheet <- 1L } else if (anyNA(sheet)) { sheet <- readxl::excel_sheets(tmpfile) } if (is.character(sheet)) names(sheet) <- sheet out <- suppressWarnings(lapply(sheet, function(sht) { readxl::read_excel(path = tmpfile, sheet = sht, ...) })) out }) function(value, ...) { parse_fn(value) } })()`: `readxl` must be installed for `parser_excel` to work |
82 | | - Backtrace: |
83 | | - ▆ |
84 | | - 1. └─plumber::pr(test_path("files/parsers.R")) at test-parser.R:38:3 |
85 | | - 2. └─Plumber$new(file = file, filters = filters, envir = envir) |
86 | | - 3. └─plumber (local) initialize(...) |
87 | | - 4. └─plumber:::evaluateBlock(...) |
88 | | - 5. └─base::lapply(...) |
89 | | - 6. └─plumber (local) FUN(X[[i]], ...) |
90 | | - 7. └─PlumberEndpoint$new(...) |
91 | | - 8. └─plumber (local) initialize(...) |
92 | | - 9. └─plumber:::make_parser(parsers) |
93 | | - 1. └─base::lapply(...) |
94 | | - 2. └─plumber (local) FUN(X[[i]], ...) |
95 | | - 3. ├─base::do.call(init_parser_func, aliases[[alias]]) |
96 | | - 4. └─plumber (local) `<fn>`() |
97 | | - 5. ├─base::do.call(parser, list(...)) |
98 | | - 6. └─plumber (local) `<fn>`() |
99 | | - ── Error ('test-serializer-htmlwidgets.R:37:3'): Errors call error handler ───── |
100 | | - Error: The htmlwidgets package is not available but is required in order to use the htmlwidgets serializer |
101 | | - Backtrace: |
102 | | - ▆ |
103 | | - 1. ├─base::suppressWarnings(...) at test-serializer-htmlwidgets.R:37:3 |
104 | | - 2. │ └─base::withCallingHandlers(...) |
105 | | - 3. └─plumber::serializer_htmlwidget() |
106 | | - ── Error ('test-tidy-plumber.R:109:3'): pr_cookie adds cookie ────────────────── |
107 | | - Error in `expect_match(p$call(req)$headers$`Set-Cookie`, "^counter=")`: `object` must be a character vector, not `NULL`. |
108 | | - Backtrace: |
109 | | - ▆ |
110 | | - 1. └─testthat::expect_match(object = p$call(req)$headers$`Set-Cookie`) at test-tidy-plumber.R:109:3 |
111 | | - 2. └─testthat:::check_character(object) |
112 | | - 3. └─testthat:::stop_input_type(...) |
113 | | - 4. └─rlang::abort(message, ..., call = call, arg = arg) |
114 | | - ── Error ('test-tidy-plumber.R:133:3'): pr_cookie adds path in cookie ────────── |
115 | | - Error in `expect_match(cookie_header1, "^counter=")`: `object` must be a character vector, not `NULL`. |
116 | | - Backtrace: |
117 | | - ▆ |
118 | | - 1. └─testthat::expect_match(object = cookie_header1) at test-tidy-plumber.R:133:3 |
119 | | - 2. └─testthat:::check_character(object) |
120 | | - 3. └─testthat:::stop_input_type(...) |
121 | | - 4. └─rlang::abort(message, ..., call = call, arg = arg) |
122 | | - ── Error ('test-zzz-openapi.R:340:3'): Response content type set with serializer ── |
123 | | - Error in `serializer_csv()`: `readr` must be installed for `serializer_csv` to work |
124 | | - Backtrace: |
125 | | - ▆ |
126 | | - 1. ├─plumber::pr_get(...) at test-zzz-openapi.R:340:3 |
127 | | - 2. │ └─plumber::pr_handle(...) |
128 | | - 3. │ └─pr$handle(...) |
129 | | - 4. │ └─PlumberEndpoint$new(...) |
130 | | - 5. │ └─plumber (local) initialize(...) |
131 | | - 6. └─plumber::serializer_csv() |
132 | | - ── Error ('test-zzz-openapi.R:347:3'): Api spec can be set using a file path ─── |
133 | | - Error in `pr$setApiSpec(api = api)`: yaml must be installed to read yaml format |
134 | | - Backtrace: |
135 | | - ▆ |
136 | | - 1. ├─pr() %>% pr_set_api_spec(test_path("files/openapi.yaml")) at test-zzz-openapi.R:347:3 |
137 | | - 2. └─plumber::pr_set_api_spec(., test_path("files/openapi.yaml")) |
138 | | - 3. └─pr$setApiSpec(api = api) |
139 | | - |
140 | | - [ FAIL 7 | WARN 0 | SKIP 46 | PASS 1750 ] |
141 | | - Error: |
142 | | - ! Test failures. |
143 | | - Execution halted |
144 | | -* checking PDF version of manual ... [14s/18s] OK |
145 | | -* checking HTML version of manual ... [9s/12s] OK |
146 | | -* checking for non-standard things in the check directory ... OK |
147 | | -* checking for detritus in the temp directory ... OK |
148 | | -* DONE |
149 | | - |
150 | | -Status: 1 ERROR |
151 | | -See |
152 | | - ‘/data/gannet/ripley/R/packages/tests-Suggests/plumber.Rcheck/00check.log’ |
153 | | -for details. |
154 | 15 |
|
| 16 | +#### 2025-12-22 |
| 17 | + |
| 18 | +Output from CRAN package checks: |
| 19 | + |
| 20 | +``` |
| 21 | +CRAN Package Check Results for Package plumber |
| 22 | +Last updated on 2025-12-22 15:51:00 CET. |
| 23 | +
|
| 24 | +Flavor Version Tinstall Tcheck Ttotal Status Flags |
| 25 | +r-devel-linux-x86_64-debian-clang 1.3.1 12.50 86.23 98.73 OK |
| 26 | +r-devel-linux-x86_64-debian-gcc 1.3.1 8.08 62.75 70.83 ERROR |
| 27 | +r-devel-linux-x86_64-fedora-clang 1.3.1 22.00 131.83 153.83 OK |
| 28 | +r-devel-linux-x86_64-fedora-gcc 1.3.1 24.00 182.79 206.79 OK |
| 29 | +r-devel-windows-x86_64 1.3.1 14.00 107.00 121.00 OK |
| 30 | +r-patched-linux-x86_64 1.3.1 13.59 77.77 91.36 OK |
| 31 | +r-release-linux-x86_64 1.3.0 13.25 78.78 92.03 OK |
| 32 | +r-release-macos-arm64 1.3.1 3.00 48.00 51.00 OK |
| 33 | +r-release-macos-x86_64 1.3.1 8.00 146.00 154.00 OK |
| 34 | +r-release-windows-x86_64 1.3.1 16.00 104.00 120.00 OK |
| 35 | +r-oldrel-macos-arm64 1.3.1 3.00 52.00 55.00 OK |
| 36 | +r-oldrel-macos-x86_64 1.3.1 9.00 186.00 195.00 OK |
| 37 | +r-oldrel-windows-x86_64 1.3.1 19.00 124.00 143.00 OK |
| 38 | +Check Details |
| 39 | +Version: 1.3.1 |
| 40 | +Check: tests |
| 41 | +Result: ERROR |
| 42 | + Running ‘spelling.R’ [0s/0s] |
| 43 | + Running ‘testthat.R’ [21s/34s] |
| 44 | + Running the tests in ‘tests/testthat.R’ failed. |
| 45 | + Complete output: |
| 46 | + > library(testthat) |
| 47 | + > library(plumber) |
| 48 | + > |
| 49 | + > test_check("plumber") |
| 50 | + [ FAIL 1 | WARN 0 | SKIP 15 | PASS 1952 ] |
| 51 | +
|
| 52 | + ══ Skipped tests (15) ══════════════════════════════════════════════════════════ |
| 53 | + • On CRAN (15): 'test-cookies.R:41:3', 'test-deprecated.R:60:3', |
| 54 | + 'test-find-port.R:40:3', 'test-find-port.R:56:3', 'test-legacy.R:20:3', |
| 55 | + 'test-options.R:22:3', 'test-plumber-print.R:2:3', |
| 56 | + 'test-plumber-print.R:60:3', 'test-plumber.R:67:3', |
| 57 | + 'test-serializer-device.R:21:1', 'test-serializer-htmlwidgets.R:20:3', |
| 58 | + 'test-static.R:23:3', 'test-zzz-openapi.R:302:3', |
| 59 | + 'test-zzz-plumb_api.R:10:3', 'test-zzz-plumb_api.R:65:3' |
| 60 | +
|
| 61 | + ══ Failed tests ════════════════════════════════════════════════════════════════ |
| 62 | + ── Failure ('test-zzzz-include.R:34:5'): Includes work ───────────────────────── |
| 63 | + Expected `val$body` to match regexp "<html.*<img (role=\"img\" )?src=\"data:image/png;base64.*</html>\\s*$". |
| 64 | + Actual text: |
| 65 | + ✖ │ <!DOCTYPE html> |
| 66 | + │ |
| 67 | + │ <html> |
| 68 | + │ |
| 69 | + │ <head> |
| 70 | + │ |
| 71 | + │ <meta charset="utf-8" /> |
| 72 | + │ <meta name="generator" content="pandoc" /> |
| 73 | + │ <meta http-equiv="X-UA-Compatible" content="IE=EDGE" /> |
| 74 | + │ |
| 75 | + │ |
| 76 | + │ <meta name="author" content="Jeff Allen" /> |
| 77 | + │ |
| 78 | + │ <meta name="date" content="2015-06-14" /> |
| 79 | + │ |
| 80 | + │ <title>test</title> |
| 81 | + │ |
| 82 | + | [...truncated...] |
| 83 | +
|
| 84 | +
|
| 85 | + [ FAIL 1 | WARN 0 | SKIP 15 | PASS 1952 ] |
| 86 | + Error: |
| 87 | + ! Test failures. |
| 88 | + Execution halted |
| 89 | +Flavor: r-devel-linux-x86_64-debian-gcc |
| 90 | +``` |
155 | 91 |
|
156 | 92 | #### 2024-12-12 |
157 | 93 |
|
158 | | -A CI check is now being run with your environment variable _R_CHECK_DEPENDS_ONLY_=true set. |
| 94 | +I've made the test more robust to different html output formats. No `./R` code has been changed. |
159 | 95 |
|
160 | 96 | Best, |
161 | 97 | Barret |
162 | | - |
163 | | -## R CMD check results |
164 | | - |
165 | | -0 errors ✔ | 0 warnings ✔ | 0 notes ✔ |
166 | | - |
167 | | -## revdepcheck results |
168 | | - |
169 | | -We checked 21 reverse dependencies, comparing R CMD check results across CRAN and dev versions of this package. |
170 | | - |
171 | | - * We saw 0 new problems |
172 | | - * We failed to check 0 packages |
0 commit comments