Nothing
test_that("segment/buffer/shared advise functions are safe", {
skip_on_cran()
seg <- segment_create(4096, backing = "mmap")
on.exit(segment_close(seg, unlink = TRUE), add = TRUE)
ok <- segment_advise(seg, "sequential")
expect_true(is.logical(ok))
expect_length(ok, 1)
buf <- buffer("double", dim = 16, backing = "mmap")
ok2 <- buffer_advise(buf, "random")
expect_true(is.logical(ok2))
expect_length(ok2, 1)
x <- share(matrix(rnorm(100), nrow = 10), backing = "mmap")
ok3 <- shared_advise(x, "willneed")
expect_true(is.logical(ok3))
expect_length(ok3, 1)
})
test_that("affinity helpers are feature-gated", {
skip_on_cran()
sup <- affinity_supported()
expect_true(is.logical(sup))
expect_length(sup, 1)
# set_affinity is a safe no-op on unsupported platforms.
ok <- set_affinity(0L)
expect_true(is.logical(ok))
expect_length(ok, 1)
})
test_that("segment_advise supports all advice types", {
skip_on_cran()
seg <- segment_create(4096, backing = "mmap")
on.exit(segment_close(seg, unlink = TRUE), add = TRUE)
for (advice in c("normal", "sequential", "random", "willneed", "dontneed")) {
ok <- segment_advise(seg, advice)
expect_true(is.logical(ok))
expect_length(ok, 1)
}
})
test_that("segment_advise validates seg argument", {
expect_error(segment_advise(NULL, "normal"),
"seg must be a shard_segment or an external pointer")
expect_error(segment_advise("not a segment", "normal"),
"seg must be a shard_segment or an external pointer")
})
test_that("buffer_advise validates buffer argument", {
expect_error(buffer_advise(NULL, "normal"))
expect_error(buffer_advise("not a buffer", "normal"))
})
test_that("shared_advise validates shared vector argument", {
expect_error(shared_advise(1:10, "normal"),
"x must be a shared vector")
expect_error(shared_advise(matrix(1:10), "normal"),
"x must be a shared vector")
})
test_that("pin_workers requires active pool", {
skip_on_cran()
pool_stop() # Ensure no pool is active
expect_error(pin_workers(), "No active pool")
})
test_that("pin_workers returns logical vector for each worker", {
skip_on_cran()
pool_stop()
pool_create(2)
on.exit(pool_stop(), add = TRUE)
# pin_workers returns FALSE on unsupported platforms (macOS)
result <- pin_workers()
expect_true(is.logical(result))
expect_length(result, 2)
# On non-Linux, should return FALSE for all workers
if (!affinity_supported()) {
expect_true(all(result == FALSE))
}
})
test_that("pin_workers spread strategy distributes workers", {
skip_on_cran()
pool_stop()
pool_create(2)
on.exit(pool_stop(), add = TRUE)
# Test spread strategy
result <- pin_workers(strategy = "spread")
expect_true(is.logical(result))
expect_length(result, 2)
})
test_that("pin_workers compact strategy assigns sequential cores", {
skip_on_cran()
pool_stop()
pool_create(2)
on.exit(pool_stop(), add = TRUE)
# Test compact strategy
result <- pin_workers(strategy = "compact")
expect_true(is.logical(result))
expect_length(result, 2)
})
test_that("pin_workers accepts custom core list", {
skip_on_cran()
pool_stop()
pool_create(2)
on.exit(pool_stop(), add = TRUE)
# Specify specific cores
result <- pin_workers(cores = c(0L, 1L))
expect_true(is.logical(result))
expect_length(result, 2)
})
test_that("pin_workers validates cores argument on supported platforms", {
skip_on_cran()
# On unsupported platforms, pin_workers returns early before checking cores
if (!affinity_supported()) skip("affinity not supported on this platform")
pool_stop()
pool_create(2)
on.exit(pool_stop(), add = TRUE)
expect_error(pin_workers(cores = integer(0)), "cores must be non-empty")
})
test_that("set_affinity accepts vector of cores", {
skip_on_cran()
# Even on unsupported platforms, should not error
ok1 <- set_affinity(0L)
expect_true(is.logical(ok1))
ok2 <- set_affinity(c(0L, 1L))
expect_true(is.logical(ok2))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.