From ac8ebb3a58803a58faaf7008d472ccba38c4abfc Mon Sep 17 00:00:00 2001 From: Ralf Stubner Date: Tue, 28 May 2024 08:05:48 +0200 Subject: [PATCH] Skip PCG64 tests on PPC MacOS --- tests/testthat/helper.R | 10 ++++++++++ tests/testthat/test-convert.R | 9 --------- tests/testthat/test-external-generator.R | 1 + tests/testthat/test-generators.R | 4 ++++ 4 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 tests/testthat/helper.R diff --git a/tests/testthat/helper.R b/tests/testthat/helper.R new file mode 100644 index 0000000..05a205c --- /dev/null +++ b/tests/testthat/helper.R @@ -0,0 +1,10 @@ +powerpc_apple <- grepl("powerpc-apple-", R.version$platform) + +safe_expect_error <- function(..., msg) { + os.type <- Sys.info()["sysname"] + if (os.type == "Darwin") { + expect_error(...) + } else { + expect_error(..., msg) + } +} diff --git a/tests/testthat/test-convert.R b/tests/testthat/test-convert.R index 1445095..7ffc6e2 100644 --- a/tests/testthat/test-convert.R +++ b/tests/testthat/test-convert.R @@ -1,14 +1,5 @@ context("conversion") -safe_expect_error <- function(..., msg) { - os.type <- Sys.info()["sysname"] - if (os.type == "Darwin") { - expect_error(...) - } else { - expect_error(..., msg) - } -} - Rcpp::sourceCpp("cpp/convert.cpp") # Warnings about shifts can be ignored. test_that("conversion to 16-bit integers works correctly", { diff --git a/tests/testthat/test-external-generator.R b/tests/testthat/test-external-generator.R index 7a8514d..953cd7d 100644 --- a/tests/testthat/test-external-generator.R +++ b/tests/testthat/test-external-generator.R @@ -70,6 +70,7 @@ test_that("cloned external Xoshiro256++ gives different result only when a diffe }) test_that("cloned external PCG64 gives different result", { + skip_if(powerpc_apple) dqrng::dqRNGkind("PCG64") dqset.seed(use_seed) expect_true(cloned_calls(stream = 0)) diff --git a/tests/testthat/test-generators.R b/tests/testthat/test-generators.R index 545055a..12594a5 100644 --- a/tests/testthat/test-generators.R +++ b/tests/testthat/test-generators.R @@ -40,6 +40,7 @@ test_that("Default generator: setting same seed but different stream produces di }) test_that("PCG64: setting seed produces identical uniformly distributed numbers", { + skip_if(powerpc_apple) dqRNGkind("pcg64") dqset.seed(seed) u1 <- dqrunif(10) @@ -49,6 +50,7 @@ test_that("PCG64: setting seed produces identical uniformly distributed numbers" }) test_that("PCG64: setting seed and stream produces identical uniformly distributed numbers", { + skip_if(powerpc_apple) dqRNGkind("pcg64") dqset.seed(seed, 1) u1 <- dqrunif(10) @@ -58,6 +60,7 @@ test_that("PCG64: setting seed and stream produces identical uniformly distribut }) test_that("PCG64: saving state produces identical uniformly distributed numbers", { + skip_if(powerpc_apple) dqRNGkind("pcg64") dqset.seed(seed, 1) state <- dqrng_get_state() @@ -68,6 +71,7 @@ test_that("PCG64: saving state produces identical uniformly distributed numbers" }) test_that("PCG64: setting same seed but different stream produces different uniformly distributed numbers", { + skip_if(powerpc_apple) dqRNGkind("pcg64") dqset.seed(seed, 1) u1 <- dqrunif(10)