From 8221f82ecfe5b44c75d45d3fa833bb6b457a0087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Cs=C3=A1rdi?= Date: Wed, 6 Aug 2025 17:11:43 +0200 Subject: [PATCH 1/2] Better test for parallel output --- tests/testthat/test-parallel-stdout.R | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/testthat/test-parallel-stdout.R b/tests/testthat/test-parallel-stdout.R index 77ac0fa3d..d767e44d2 100644 --- a/tests/testthat/test-parallel-stdout.R +++ b/tests/testthat/test-parallel-stdout.R @@ -5,13 +5,15 @@ test_that("stdout/stderr in parallel code", { test_path("test-parallel", "stdout"), reporter = "summary" ))) - expect_true("> test-stdout-2.R: This is a message!" %in% out) - expect_true(any(grepl("test-stdout-3.R: [1] 1 2 3", out, fixed = TRUE))) + out <- paste(out, collapse = "\n") + expect_match(out, "> test-stdout-2.R: This is a message!", fixed = TRUE) + expect_match(out, "test-stdout-3.R: [1] 1 2 3", fixed = TRUE) out2 <- capture.output(suppressMessages(testthat::test_local( test_path("test-parallel", "stdout"), reporter = "progress" ))) - expect_true("> test-stdout-2.R: This is a message!" %in% out2) - expect_true(any(grepl("test-stdout-3.R: [1] 1 2 3", out2, fixed = TRUE))) + out2 <- paste(out2, collapse = "\n") + expect_match(out2, "> test-stdout-2.R: This is a message!", fixed = TRUE) + expect_match(out2, "test-stdout-3.R: [1] 1 2 3", fixed = TRUE) }) From ec562c9efd3cb9ed7eccff2e1a703bfbe3e9e891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Cs=C3=A1rdi?= Date: Thu, 7 Aug 2025 09:07:54 +0200 Subject: [PATCH 2/2] Better way to use expect_match() --- tests/testthat/test-parallel-stdout.R | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/tests/testthat/test-parallel-stdout.R b/tests/testthat/test-parallel-stdout.R index d767e44d2..975d9c808 100644 --- a/tests/testthat/test-parallel-stdout.R +++ b/tests/testthat/test-parallel-stdout.R @@ -5,15 +5,28 @@ test_that("stdout/stderr in parallel code", { test_path("test-parallel", "stdout"), reporter = "summary" ))) - out <- paste(out, collapse = "\n") - expect_match(out, "> test-stdout-2.R: This is a message!", fixed = TRUE) - expect_match(out, "test-stdout-3.R: [1] 1 2 3", fixed = TRUE) + expect_match( + out, + "> test-stdout-2.R: This is a message!", + fixed = TRUE, + all = FALSE + ) + expect_match(out, "test-stdout-3.R: [1] 1 2 3", fixed = TRUE, all = FALSE) out2 <- capture.output(suppressMessages(testthat::test_local( test_path("test-parallel", "stdout"), reporter = "progress" ))) - out2 <- paste(out2, collapse = "\n") - expect_match(out2, "> test-stdout-2.R: This is a message!", fixed = TRUE) - expect_match(out2, "test-stdout-3.R: [1] 1 2 3", fixed = TRUE) + expect_match( + out2, + "> test-stdout-2.R: This is a message!", + fixed = TRUE, + all = FALSE + ) + expect_match( + out2, + "test-stdout-3.R: [1] 1 2 3", + fixed = TRUE, + all = FALSE + ) })