$ docker run --rm --name validator-libsodium-usage-r-cran-sodium-r14-sig-keygen-distinct-2732 -t --mount type=bind,src=/tmp/validator-status-libsodium-usage-r-cran-sodium-r14-sig-keygen-distinct,dst=/validator/status validator-libsodium-shared bash -lc 'set -euo pipefail /validator/tests/_shared/install_override_debs.sh exec /validator/tests/_shared/run_library_tests.sh "$@"' validator-testcase libsodium usage-r-cran-sodium-r14-sig-keygen-distinct -- bash -c 'PS4=$1; shift; set -x; source "$@"' validator-xtrace '__VALIDATOR_XTRACE__ ' /validator/tests/libsodium/tests/cases/usage/usage-r-cran-sodium-r14-sig-keygen-distinct.sh no override packages found; continuing with apt originals suppressMessages(library(sodium)) samples <- replicate(5, sig_keygen(), simplify = FALSE) for (sk in samples) { stopifnot(is.raw(sk)) stopifnot(length(sk) == 64) } # Pairwise distinct secret keys. for (i in seq_along(samples)) { for (j in seq_along(samples)) { if (i < j) { stopifnot(!identical(samples[[i]], samples[[j]])) } } } # Derive public keys: 32 bytes each, pairwise distinct. pubs <- lapply(samples, sig_pubkey) for (pk in pubs) { stopifnot(is.raw(pk)) stopifnot(length(pk) == 32) } for (i in seq_along(pubs)) { for (j in seq_along(pubs)) { if (i < j) { stopifnot(!identical(pubs[[i]], pubs[[j]])) } } } cat("ok", length(samples), "\n") ' ok 5