From 4f9ebd1c9bba5f6b334035ae89f73f6cdb51602d Mon Sep 17 00:00:00 2001 From: Eliot McIntire Date: Fri, 4 Sep 2026 09:53:03 -0700 Subject: [PATCH 1/4] test: skip image snapshots when raster is not installed The image snapshots in test-Plot-snapshots.R were recorded with the full Suggests set installed, and they are not portable to a run without it -- not because the rendering differs, but because the *names* do. Several tests build a `rasts` list and then double its length inside `if (requireNamespace("raster", quietly = TRUE))`. Snapshot file names come from `fn()` (helper-testInit.R), which pulls from a running `counter` over those lists. Drop `raster` and every list shortens, so each name after the first raster block lines up against a different plot. "internal functions in Plot" additionally computes `val <- (testNum - 1) %% (length(rasts) / 2) + 1`, hard-coding the doubling, so without raster it renders plots 1 and 2 twice and never renders 3 or 4. This is exactly the `_R_CHECK_DEPENDS_ONLY_` leg that PredictiveEcology/actions' shared R-CMD-check matrix runs: 11 failures there, all in this file, all of them a reference image compared against the wrong plot. Maintaining a second set of reference images for that configuration would be a lot of pixels for no extra signal, so skip the image comparisons when raster is absent. The nosuggests leg keeps its real purpose -- the package loads and its non-image tests pass without Suggests. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_011kpoQV6nNqcknk16R3RzBB (cherry picked from commit 57600bb13ee4fbfa765e6e885438b2cf8bb358fe) --- tests/testthat/test-Plot-snapshots.R | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/testthat/test-Plot-snapshots.R b/tests/testthat/test-Plot-snapshots.R index 5058c19..60cc6ca 100644 --- a/tests/testthat/test-Plot-snapshots.R +++ b/tests/testthat/test-Plot-snapshots.R @@ -1,6 +1,17 @@ +## The image snapshots in this file were all recorded with the full Suggests set +## installed, and `raster` in particular changes what gets recorded: several +## tests double the length of their `rasts` list when `raster` is available, and +## snapshot file names come from a running `counter` over those lists (see `fn()` +## in helper-testInit.R). With `raster` absent -- as on the `_R_CHECK_DEPENDS_ONLY_` +## CI leg -- the same names line up against different plots, so every snapshot +## after the first `requireNamespace("raster")` block compares the wrong image. +## Rather than maintain a second set of reference images, skip the image tests +## when `raster` is missing; the rest of the suite still exercises the package. + ## block B test_that("image content is not error-free", { + skip_if_not_installed("raster") testInit("terra", opts = list(quickPlot.verbose = TRUE), dev = FALSE) on.exit( @@ -80,6 +91,7 @@ test_that("image content is not error-free", { # # ## block C test_that("plotting colors", { + skip_if_not_installed("raster") testInit("terra", opts = list(quickPlot.verbose = TRUE), dev = FALSE) on.exit( { @@ -130,6 +142,7 @@ test_that("plotting colors", { # ## test.png 10 to 11 test_that("internal functions in Plot", { + skip_if_not_installed("raster") testInit("terra", opts = list(quickPlot.verbose = TRUE), dev = FALSE) on.exit( { @@ -208,6 +221,7 @@ test_that("internal functions in Plot", { ## block E 15 to test_that("Plot 2 is not error-free", { + skip_if_not_installed("raster") testInit("terra", opts = list(quickPlot.verbose = TRUE), dev = FALSE) on.exit( { @@ -463,6 +477,7 @@ test_that("setColors is not error-free", { # block G test_that("Plot with base is not error-free", { + skip_if_not_installed("raster") testInit("terra", opts = list(quickPlot.verbose = TRUE), dev = FALSE) on.exit( { @@ -586,6 +601,7 @@ test_that("Plot messages and warnings and errors", { ## block I test_that("rePlot doesn't work", { + skip_if_not_installed("raster") testInit("terra", opts = list(quickPlot.verbose = TRUE), dev = FALSE) for (os in oses) { fil <- fn(tmpdir, desc, counter, os, envir = envirHere) @@ -642,6 +658,7 @@ test_that("Plot - going through package coverage", { # block K test_that("Plot lists", { prevLastPlotNumber <- 48 + skip_if_not_installed("raster") testInit("terra", opts = list(quickPlot.verbose = TRUE), dev = FALSE) clearPlot() @@ -753,6 +770,7 @@ test_that("Plot functions NOT in quickPlot, i.e. redefining Plot", { }) test_that("Issue 20; arr working", { + skip_if_not_installed("raster") testInit("terra", opts = list(quickPlot.verbose = TRUE), dev = FALSE) files <- dir(system.file("maps", package = "quickPlot"), full.names = TRUE, pattern = "tif") @@ -777,6 +795,7 @@ test_that("Issue 20; arr working", { test_that("Issue 32 Plot factors lower case id", { prevLastPlotNumber <- 51 + skip_if_not_installed("raster") testInit("terra", opts = list(quickPlot.verbose = TRUE), dev = FALSE) for (colPalette in 1:2) { From 0d86dff799eff5dee36c93c9902a3b947e35fa50 Mon Sep 17 00:00:00 2001 From: Eliot McIntire Date: Fri, 4 Sep 2026 09:53:39 -0700 Subject: [PATCH 2/4] test: give the rePlot snapshot its own name `test_that("rePlot doesn't work")` took two snapshots under one name: it called `announce_snapshot_file()` + `expect_snapshot_file()` twice with the same `fil`, `unlink()`ing the file in between. testthat rejects a duplicate snapshot name outright, so the second call errored and aborted the test: Error ('test-Plot-snapshots.R:612:5'): rePlot doesn't work Snapshot file names must be unique. "rePlot_doesn't_work1Linux.png" has already been used. This is a plain ERROR on every Linux and Windows leg (macOS is unaffected -- `oses` is c("Win", "Linux"), so no snapshot runs there), and it predates the CI migration: the same failure is in the development-branch run from 2026-08-29, run 33278110145. The second snapshot now gets a name derived from the first rather than a second `fn()` call, because `fn()` bumps the shared `counter` and that would renumber every snapshot after this one. `unlink(fil)` goes with it -- it only existed to clear the path for reuse. Two new reference images follow in the next commit, recorded from CI. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_011kpoQV6nNqcknk16R3RzBB (cherry picked from commit b9a1ce6be8cd2d7867614e49c24595120ad4d0e5) --- tests/testthat/test-Plot-snapshots.R | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/testthat/test-Plot-snapshots.R b/tests/testthat/test-Plot-snapshots.R index 60cc6ca..fc18695 100644 --- a/tests/testthat/test-Plot-snapshots.R +++ b/tests/testthat/test-Plot-snapshots.R @@ -621,17 +621,19 @@ test_that("rePlot doesn't work", { fil }) - unlink(fil) - - # same file for snapshot b/c basename is same as previous - announce_snapshot_file(name = basename(fil)) + ## testthat rejects reusing a snapshot name within a run, so the rePlot + ## output needs its own. Derive it from `fil` rather than calling `fn()` + ## again: `fn()` bumps the shared `counter`, which would rename every + ## snapshot after this one. + filRePlot <- sub("\\.png$", "-rePlot.png", fil) + announce_snapshot_file(name = basename(filRePlot)) if (correctOS(os)) expect_snapshot_file({ - png(filename = fil, width = 400, height = 300) + png(filename = filRePlot, width = 400, height = 300) b <- dev.cur() rePlot(a, b) dev.off(b) - fil + filRePlot }) } From ab7d126c8f468ff25f1b6dab8423958970f245a6 Mon Sep 17 00:00:00 2001 From: Eliot McIntire Date: Fri, 4 Sep 2026 10:10:19 -0700 Subject: [PATCH 3/4] test: record the three missing snapshot fixtures All three are taken from this branch's own CI run 33897686977, not rendered locally -- expect_snapshot_file() compares PNG bytes exactly and those bytes depend on the runner's cairo and fontconfig. rePlot_doesn't_work0Win-rePlot.png (windows-latest, release) rePlot_doesn't_work1Linux-rePlot.png (ubuntu-latest, release) Plot_listsggplotVnewer2Linux.png (ubuntu-latest, release) The two rePlot images are byte-identical to their non-rePlot counterparts already in the repo -- which is exactly the assertion the original code was reaching for with "same file for snapshot b/c basename is same as previous": rePlot() reproduces the plot pixel for pixel. It just could not express that through a snapshot name testthat had already seen. Plot_listsggplotVnewer2Linux.png closes a pre-existing gap unrelated to this branch: only the ...2Win.png variant had ever been committed, so test-Plot-snapshots.R:703 reported "Adding new file snapshot" on every Linux leg, including in the development run from 2026-08-29. As a side check, the Linux and Windows artifacts from that run reproduce the already-committed rePlot_doesn't_work1Linux.png and rePlot_doesn't_work0Win.png byte for byte, so those legs are stable and the new files are recorded against the same rendering. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_011kpoQV6nNqcknk16R3RzBB (cherry picked from commit 2724b9dfa844e02a6ffffaaa6c71601b639794ec) --- .../Plot_listsggplotVnewer2Linux.png | Bin 0 -> 26588 bytes .../rePlot_doesn't_work0Win-rePlot.png | Bin 0 -> 3273 bytes .../rePlot_doesn't_work1Linux-rePlot.png | Bin 0 -> 10864 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/testthat/_snaps/Plot-snapshots/Plot_listsggplotVnewer2Linux.png create mode 100644 tests/testthat/_snaps/Plot-snapshots/rePlot_doesn't_work0Win-rePlot.png create mode 100644 tests/testthat/_snaps/Plot-snapshots/rePlot_doesn't_work1Linux-rePlot.png diff --git a/tests/testthat/_snaps/Plot-snapshots/Plot_listsggplotVnewer2Linux.png b/tests/testthat/_snaps/Plot-snapshots/Plot_listsggplotVnewer2Linux.png new file mode 100644 index 0000000000000000000000000000000000000000..6a846bab1d3b78da2045e1a95f183dc67b896e62 GIT binary patch literal 26588 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 literal 0 HcmV?d00001 diff --git a/tests/testthat/_snaps/Plot-snapshots/rePlot_doesn't_work0Win-rePlot.png b/tests/testthat/_snaps/Plot-snapshots/rePlot_doesn't_work0Win-rePlot.png new file mode 100644 index 0000000000000000000000000000000000000000..fdda82764e95fec78bebe2e20b77fc731c9c613e GIT binary patch literal 3273 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 SkeStAlKqzU7SC`#iT?&+C=VR~ literal 0 HcmV?d00001 diff --git a/tests/testthat/_snaps/Plot-snapshots/rePlot_doesn't_work1Linux-rePlot.png b/tests/testthat/_snaps/Plot-snapshots/rePlot_doesn't_work1Linux-rePlot.png new file mode 100644 index 0000000000000000000000000000000000000000..06d4dd4cb25c48f4d0f1672e92305c7ef06e27de GIT binary patch literal 10864 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 le|bIf?kRya?#HL{|jFS1c?9u literal 0 HcmV?d00001 From 9d365b262305a54d9a4c60be2667601ff74481f8 Mon Sep 17 00:00:00 2001 From: Eliot McIntire Date: Fri, 4 Sep 2026 14:32:12 -0700 Subject: [PATCH 4/4] test: accept the four Windows antialiasing snapshots Issue_20;_arr_working0Win.png 4 px changed Issue_32_Plot_factors_lower_case_id0Win.png 1 px changed Issue_32_Plot_factors_lower_case_id2Win.png 1 px changed Issue_32_Plot_factors_lower_case_id4Win.png 1 px changed Seven pixels out of 1,920,000, max channel delta 58/255, and in every case the changed pixels sit inside a text glyph -- a glyph of the plot title `maps$forestAge` for Issue 20, the legend label `A` for the three Issue 32 images. No mark, axis, colour ramp or raster cell moved. This is the windows-latest runner's font rasteriser rounding an antialiased edge differently than it did when the references were recorded. Taken from run 33899141206, which produced byte-identical renders on all four Windows legs (release, devel, oldrel-1, oldrel-2), so one accepted set clears all four. The same bytes also came back from runs 33779375229 and 33897686977, i.e. the new rendering is stable, not a flake. expect_snapshot_file() compares PNG bytes exactly, so a one-pixel change in a font rasteriser is indistinguishable from a real regression. A custom `compare =` with a small per-pixel budget would keep the signal and drop this class of failure; not attempted here. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_011kpoQV6nNqcknk16R3RzBB (cherry picked from commit cb4637e1e240de992221a5e64960d17027a4b7d6) --- .../Issue_20;_arr_working0Win.png | Bin 16596 -> 16592 bytes ...ssue_32_Plot_factors_lower_case_id0Win.png | Bin 4678 -> 4678 bytes ...ssue_32_Plot_factors_lower_case_id2Win.png | Bin 4678 -> 4678 bytes ...ssue_32_Plot_factors_lower_case_id4Win.png | Bin 4678 -> 4678 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/testthat/_snaps/Plot-snapshots/Issue_20;_arr_working0Win.png b/tests/testthat/_snaps/Plot-snapshots/Issue_20;_arr_working0Win.png index a07e29ba5452d09deb7165092199e3252fbfc02d..258d175a82cbdca0236afde08d380f55430be9b5 100644 GIT binary patch delta 14194 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 BDhL1o delta 14227 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 V&ZhXuFdl$^%JS-RRWcSq{||OYW%d97 diff --git a/tests/testthat/_snaps/Plot-snapshots/Issue_32_Plot_factors_lower_case_id0Win.png b/tests/testthat/_snaps/Plot-snapshots/Issue_32_Plot_factors_lower_case_id0Win.png index 76d9001a19d276099bd71198745effb967bb40d8..edbb468c5eb8d53e6b4bc426ceba1e084d12716d 100644 GIT binary patch delta 35 qcmX@6a!h4IBM;;6%}qQTSVb7ymd@NRxbHgy5O})!xvXzmvv4FO#t$M3}OHP delta 35 pcmX@6a!h4IBM)Q#<|dvEtRfTDlkYKIW}d