From 5eec3ae28f0ebb8c13b240986a6a737ac668acba Mon Sep 17 00:00:00 2001 From: Nicolas Mattia Date: Fri, 8 May 2026 12:02:22 +0200 Subject: [PATCH] chore: remove testonly for non-test targets The `testonly` tag was used very liberally throughout the codebase, and was applied to many targets that definitely were not test only (like ic-admin, published pocket-ic executables, etc). This removes some of the uses of `testonly` (it tends to spread like wildfire). --- ic-os/guestos/envs/dev/BUILD.bazel | 1 - ic-os/hostos/envs/dev/BUILD.bazel | 1 - ic-os/hostos/envs/prod/BUILD.bazel | 1 - ic-os/setupos/envs/dev/BUILD.bazel | 1 - ic-os/setupos/envs/prod/BUILD.bazel | 1 - publish/binaries/BUILD.bazel | 10 +--------- rs/crypto/iccsa/test_utils/BUILD.bazel | 1 - rs/crypto/internal/csp_test_utils/BUILD.bazel | 1 - rs/crypto/test_utils/BUILD.bazel | 1 - .../canister_threshold_sigs/BUILD.bazel | 1 - .../test_utils/crypto_returning_ok/BUILD.bazel | 1 - rs/crypto/test_utils/ni-dkg/BUILD.bazel | 1 - rs/crypto/test_utils/reproducible_rng/BUILD.bazel | 1 - rs/crypto/test_utils/vetkd/BUILD.bazel | 1 - rs/https_outcalls/adapter/BUILD.bazel | 2 -- rs/nns/init/BUILD.bazel | 15 +++++++++------ rs/nns/init/src/lib.rs | 11 +++++------ rs/pocket_ic_server/BUILD.bazel | 2 -- rs/prep/BUILD.bazel | 3 --- rs/registry/admin/BUILD.bazel | 3 +-- rs/registry/admin/bin/main.rs | 2 +- rs/state_machine_tests/BUILD.bazel | 2 -- rs/test_utilities/BUILD.bazel | 1 - rs/test_utilities/consensus/BUILD.bazel | 1 - rs/test_utilities/logger/BUILD.bazel | 1 - rs/test_utilities/registry/BUILD.bazel | 1 - rs/test_utilities/state/BUILD.bazel | 1 - rs/test_utilities/time/BUILD.bazel | 1 - rs/test_utilities/types/BUILD.bazel | 1 - rs/validator/http_request_test_utils/BUILD.bazel | 1 - 30 files changed, 17 insertions(+), 54 deletions(-) diff --git a/ic-os/guestos/envs/dev/BUILD.bazel b/ic-os/guestos/envs/dev/BUILD.bazel index b51743f2e15f..c041ad89d6cf 100644 --- a/ic-os/guestos/envs/dev/BUILD.bazel +++ b/ic-os/guestos/envs/dev/BUILD.bazel @@ -39,7 +39,6 @@ file_size_check( # Export checksums & build artifacts for update images artifact_bundle( name = "bundle-update", - testonly = True, inputs = [ icos_images.update_image, icos_images.update_image_test, diff --git a/ic-os/hostos/envs/dev/BUILD.bazel b/ic-os/hostos/envs/dev/BUILD.bazel index 71b45c857de7..8c87e99a3532 100644 --- a/ic-os/hostos/envs/dev/BUILD.bazel +++ b/ic-os/hostos/envs/dev/BUILD.bazel @@ -19,7 +19,6 @@ icos_images = icos_build( # Export checksums & build artifacts for update images artifact_bundle( name = "bundle-update", - testonly = True, inputs = [ icos_images.update_image, icos_images.update_image_test, diff --git a/ic-os/hostos/envs/prod/BUILD.bazel b/ic-os/hostos/envs/prod/BUILD.bazel index 0360c7e906c2..3371450da65a 100644 --- a/ic-os/hostos/envs/prod/BUILD.bazel +++ b/ic-os/hostos/envs/prod/BUILD.bazel @@ -30,7 +30,6 @@ file_size_check( # (image is used for HostOS upgrades) artifact_bundle( name = "bundle-update", - testonly = True, inputs = [ icos_images.update_image, icos_images.update_image_test, diff --git a/ic-os/setupos/envs/dev/BUILD.bazel b/ic-os/setupos/envs/dev/BUILD.bazel index 5c31e30279bf..b37fb33b1018 100644 --- a/ic-os/setupos/envs/dev/BUILD.bazel +++ b/ic-os/setupos/envs/dev/BUILD.bazel @@ -26,7 +26,6 @@ launch_bare_metal( # Export checksums & build artifacts artifact_bundle( name = "bundle", - testonly = True, inputs = [":dev"], prefix = "setup-os/disk-img-dev", visibility = ["//visibility:public"], diff --git a/ic-os/setupos/envs/prod/BUILD.bazel b/ic-os/setupos/envs/prod/BUILD.bazel index d8fe9ed808ed..85c4084eccd8 100644 --- a/ic-os/setupos/envs/prod/BUILD.bazel +++ b/ic-os/setupos/envs/prod/BUILD.bazel @@ -30,7 +30,6 @@ launch_bare_metal( # (image is used as the IC-OS installation image downloaded by Node Providers) artifact_bundle( name = "bundle", - testonly = True, inputs = [":prod"], prefix = "setup-os/disk-img", visibility = ["//visibility:public"], diff --git a/publish/binaries/BUILD.bazel b/publish/binaries/BUILD.bazel index 322d621df5d8..8e23ce6653d1 100644 --- a/publish/binaries/BUILD.bazel +++ b/publish/binaries/BUILD.bazel @@ -41,14 +41,7 @@ ALL_BINARIES = { # test binaries or binaries using test utils TESTONLY_BINARIES = [ # Keep sorted - "e2e-test-driver", - "ic-admin", - "ic-boundary", - "ic-https-outcalls-adapter", "ic-nns-init", - "ic-prep", - "ic-test-state-machine", - "pocket-ic", "replicated-state-test", "state-layout-test", "types-test", @@ -88,8 +81,7 @@ TEST_BINARIES = [ binary = ALL_BINARIES[name], ) for name in TEST_BINARIES] -# all targets below are tesonly because the targets violating the testonly flag -# would error at this point +# targets below use testonly conditionally for the remaining test-only binaries [ genrule( diff --git a/rs/crypto/iccsa/test_utils/BUILD.bazel b/rs/crypto/iccsa/test_utils/BUILD.bazel index a536c6863789..d6144585118a 100644 --- a/rs/crypto/iccsa/test_utils/BUILD.bazel +++ b/rs/crypto/iccsa/test_utils/BUILD.bazel @@ -7,7 +7,6 @@ package(default_visibility = [ rust_library( name = "test_utils", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_crypto_iccsa_test_utils", version = "0.9.0", diff --git a/rs/crypto/internal/csp_test_utils/BUILD.bazel b/rs/crypto/internal/csp_test_utils/BUILD.bazel index 16b38bcc0c82..f39112b54b04 100644 --- a/rs/crypto/internal/csp_test_utils/BUILD.bazel +++ b/rs/crypto/internal/csp_test_utils/BUILD.bazel @@ -4,7 +4,6 @@ package(default_visibility = ["//rs/crypto:__subpackages__"]) rust_library( name = "csp_test_utils", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_crypto_internal_csp_test_utils", version = "0.9.0", diff --git a/rs/crypto/test_utils/BUILD.bazel b/rs/crypto/test_utils/BUILD.bazel index 5e3cbf862766..42cae4c06183 100644 --- a/rs/crypto/test_utils/BUILD.bazel +++ b/rs/crypto/test_utils/BUILD.bazel @@ -2,7 +2,6 @@ load("@rules_rust//rust:defs.bzl", "rust_library") rust_library( name = "test_utils", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_crypto_test_utils", version = "0.9.0", diff --git a/rs/crypto/test_utils/canister_threshold_sigs/BUILD.bazel b/rs/crypto/test_utils/canister_threshold_sigs/BUILD.bazel index 6dc78288f549..0194d899dd69 100644 --- a/rs/crypto/test_utils/canister_threshold_sigs/BUILD.bazel +++ b/rs/crypto/test_utils/canister_threshold_sigs/BUILD.bazel @@ -4,7 +4,6 @@ package(default_visibility = ["//visibility:public"]) rust_library( name = "canister_threshold_sigs", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_crypto_test_utils_canister_threshold_sigs", proc_macro_deps = [ diff --git a/rs/crypto/test_utils/crypto_returning_ok/BUILD.bazel b/rs/crypto/test_utils/crypto_returning_ok/BUILD.bazel index c5e29badcef8..7f1a8717c5be 100644 --- a/rs/crypto/test_utils/crypto_returning_ok/BUILD.bazel +++ b/rs/crypto/test_utils/crypto_returning_ok/BUILD.bazel @@ -4,7 +4,6 @@ package(default_visibility = ["//visibility:public"]) rust_library( name = "crypto_returning_ok", - testonly = True, srcs = glob(["src/**/*.rs"]), crate_name = "ic_crypto_test_utils_crypto_returning_ok", version = "0.9.0", diff --git a/rs/crypto/test_utils/ni-dkg/BUILD.bazel b/rs/crypto/test_utils/ni-dkg/BUILD.bazel index 398ef639df18..61e3b6b00908 100644 --- a/rs/crypto/test_utils/ni-dkg/BUILD.bazel +++ b/rs/crypto/test_utils/ni-dkg/BUILD.bazel @@ -39,7 +39,6 @@ ALIASES = {} rust_library( name = "ni-dkg", - testonly = True, srcs = glob(["src/**/*.rs"]), aliases = ALIASES, crate_name = "ic_crypto_test_utils_ni_dkg", diff --git a/rs/crypto/test_utils/reproducible_rng/BUILD.bazel b/rs/crypto/test_utils/reproducible_rng/BUILD.bazel index 119edca6bcc0..ee0a45121e10 100644 --- a/rs/crypto/test_utils/reproducible_rng/BUILD.bazel +++ b/rs/crypto/test_utils/reproducible_rng/BUILD.bazel @@ -4,7 +4,6 @@ package(default_visibility = ["//visibility:public"]) rust_library( name = "reproducible_rng", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_crypto_test_utils_reproducible_rng", version = "0.9.0", diff --git a/rs/crypto/test_utils/vetkd/BUILD.bazel b/rs/crypto/test_utils/vetkd/BUILD.bazel index a02f4b0e8e99..0ce62ed03f6d 100644 --- a/rs/crypto/test_utils/vetkd/BUILD.bazel +++ b/rs/crypto/test_utils/vetkd/BUILD.bazel @@ -4,7 +4,6 @@ package(default_visibility = ["//visibility:public"]) rust_library( name = "vetkd", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_crypto_test_utils_vetkd", version = "0.1.0", diff --git a/rs/https_outcalls/adapter/BUILD.bazel b/rs/https_outcalls/adapter/BUILD.bazel index b09684e3a702..db646139f3d5 100644 --- a/rs/https_outcalls/adapter/BUILD.bazel +++ b/rs/https_outcalls/adapter/BUILD.bazel @@ -62,7 +62,6 @@ rust_library( # Same target as above but allows the adapter to make HTTP calls. rust_library( name = "adapter_with_http", - testonly = True, srcs = glob( ["src/**"], exclude = [ @@ -99,7 +98,6 @@ rust_binary( # This target is used for local testing (e.g. DFX) rust_binary( name = "ic-outcalls-adapter-with-http", - testonly = True, srcs = [ "src/cli.rs", "src/main.rs", diff --git a/rs/nns/init/BUILD.bazel b/rs/nns/init/BUILD.bazel index d5736454b52a..42da12fab811 100644 --- a/rs/nns/init/BUILD.bazel +++ b/rs/nns/init/BUILD.bazel @@ -2,26 +2,30 @@ load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test") package(default_visibility = ["//visibility:public"]) -DEPENDENCIES = [ +LIB_DEPENDENCIES = [ # Keep sorted. "//rs/canister_client", "//rs/interfaces/registry", "//rs/ledger_suite/icp:icp_ledger", "//rs/nns/common", "//rs/nns/constants", - "//rs/nns/test_utils", "//rs/registry/local_store", "//rs/registry/proto_data_provider", "//rs/registry/transport", - "//rs/rust_canisters/canister_test", "//rs/sys", - "//rs/test_utilities/identity", "//rs/types/base_types", "@crate_index//:clap", "@crate_index//:tokio", "@crate_index//:url", ] +DEPENDENCIES = LIB_DEPENDENCIES + [ + # Keep sorted. + "//rs/nns/test_utils", + "//rs/rust_canisters/canister_test", + "//rs/test_utilities/identity", +] + MACRO_DEPENDENCIES = [] ALIASES = {} @@ -35,13 +39,12 @@ MACRO_DEV_DEPENDENCIES = [] rust_library( name = "init", - testonly = True, srcs = glob(["src/**/*.rs"]), aliases = ALIASES, crate_name = "ic_nns_init", proc_macro_deps = MACRO_DEPENDENCIES, version = "0.9.0", - deps = DEPENDENCIES, + deps = LIB_DEPENDENCIES, ) rust_binary( diff --git a/rs/nns/init/src/lib.rs b/rs/nns/init/src/lib.rs index ec18991f93a0..79c9f28bfa05 100644 --- a/rs/nns/init/src/lib.rs +++ b/rs/nns/init/src/lib.rs @@ -2,7 +2,6 @@ //! initial payloads and install nns canisters in a fresh IC. //! Was used at genesis, but now only used to install the nns in testnets. -use canister_test::Wasm; use ic_canister_client::Sender; use ic_interfaces_registry::{RegistryDataProvider, ZERO_REGISTRY_VERSION}; use ic_nns_constants::NNS_CANISTER_WASMS; @@ -154,12 +153,12 @@ pub fn set_up_env_vars_for_all_canisters>(wasm_dir: P) { let mut path = wasm_dir.as_ref().to_path_buf(); path.push(file_part.as_str()); if path.is_file() { - // Sets up the env var following the pattern expected by - // WASM::from_location_specified_by_env_var + // Set the env var in a way that is expected by consumers // TODO: Audit that the environment access only happens in single-threaded code. - unsafe { - std::env::set_var(Wasm::env_var_name(canister, &[]), path.to_str().unwrap()) - }; + let env_var = format!("{}_WASM_PATH", canister) + .replace('-', "_") + .to_uppercase(); + unsafe { std::env::set_var(env_var, path.to_str().unwrap()) }; continue 'outer; } } diff --git a/rs/pocket_ic_server/BUILD.bazel b/rs/pocket_ic_server/BUILD.bazel index 96cd63c860e1..ee66efb14cc2 100644 --- a/rs/pocket_ic_server/BUILD.bazel +++ b/rs/pocket_ic_server/BUILD.bazel @@ -265,7 +265,6 @@ MAINNET_NNS_CANISTER_ENV = { [ rust_library( name = "pocket-ic-server-lib" + name_suffix, - testonly = True, srcs = [ "src/beta_features.rs", "src/external_canister_types.rs", @@ -290,7 +289,6 @@ MAINNET_NNS_CANISTER_ENV = { [ rust_binary( name = "pocket-ic-server" + name_suffix, - testonly = True, srcs = ["src/main.rs"], compile_data = ["//:mainnet-routing-table.json"], proc_macro_deps = MACRO_DEPENDENCIES, diff --git a/rs/prep/BUILD.bazel b/rs/prep/BUILD.bazel index 947c63b9f8a2..0283cd8468e1 100644 --- a/rs/prep/BUILD.bazel +++ b/rs/prep/BUILD.bazel @@ -61,7 +61,6 @@ ALIASES = {} rust_library( name = "prep", - testonly = True, srcs = glob(["src/**/*.rs"]), aliases = ALIASES, crate_name = "ic_prep_lib", @@ -71,7 +70,6 @@ rust_library( rust_binary( name = "ic-prep", - testonly = True, srcs = ["src/bin/prep.rs"], aliases = ALIASES, proc_macro_deps = MACRO_DEPENDENCIES, @@ -80,7 +78,6 @@ rust_binary( rust_binary( name = "ic-principal-id", - testonly = True, srcs = ["src/bin/principal_id.rs"], aliases = ALIASES, proc_macro_deps = MACRO_DEPENDENCIES, diff --git a/rs/registry/admin/BUILD.bazel b/rs/registry/admin/BUILD.bazel index 7e17acc7b989..534223c29daf 100644 --- a/rs/registry/admin/BUILD.bazel +++ b/rs/registry/admin/BUILD.bazel @@ -40,7 +40,6 @@ cargo_build_script( rust_binary( name = "ic-admin", - testonly = True, srcs = glob(["bin/**/*.rs"]), proc_macro_deps = [ # Keep sorted. @@ -69,10 +68,10 @@ rust_binary( "//rs/nns/constants", "//rs/nns/governance/api", "//rs/nns/governance/conversions", + "//rs/nns/handlers/lifeline/interface", "//rs/nns/handlers/root/impl:root", "//rs/nns/init", "//rs/nns/sns-wasm", - "//rs/nns/test_utils", "//rs/prep", "//rs/protobuf", "//rs/registry/canister", diff --git a/rs/registry/admin/bin/main.rs b/rs/registry/admin/bin/main.rs index f3bc185e9b9d..b54c98eb01e3 100644 --- a/rs/registry/admin/bin/main.rs +++ b/rs/registry/admin/bin/main.rs @@ -68,9 +68,9 @@ use ic_nns_governance_api::{ subnet_rental::{RentalConditionId, SubnetRentalRequest}, }; use ic_nns_governance_conversions::convert_guest_launch_measurements_from_pb_to_api; +use ic_nns_handler_lifeline_interface::{HardResetNnsRootToVersionPayload, UpgradeRootProposal}; use ic_nns_handler_root::root_proposals::{GovernanceUpgradeRootProposal, RootProposalBallot}; use ic_nns_init::make_hsm_sender; -use ic_nns_test_utils::governance::{HardResetNnsRootToVersionPayload, UpgradeRootProposal}; use ic_protobuf::registry::replica_version::v1::GuestLaunchMeasurements; use ic_protobuf::registry::{ api_boundary_node::v1::ApiBoundaryNodeRecord, diff --git a/rs/state_machine_tests/BUILD.bazel b/rs/state_machine_tests/BUILD.bazel index de87f8b818ce..0774b890d88e 100644 --- a/rs/state_machine_tests/BUILD.bazel +++ b/rs/state_machine_tests/BUILD.bazel @@ -74,7 +74,6 @@ DEPENDENCIES = [ rust_library( name = "state_machine_tests", - testonly = True, srcs = [ "src/lib.rs", "src/tests.rs", @@ -119,7 +118,6 @@ MACRO_DEV_DEPENDENCIES = [ rust_binary( name = "ic-test-state-machine", - testonly = True, srcs = ["src/main.rs"], proc_macro_deps = MACRO_DEPENDENCIES, deps = BIN_DEPENDENCIES, diff --git a/rs/test_utilities/BUILD.bazel b/rs/test_utilities/BUILD.bazel index 9328f1485a5a..1d16340adbbc 100644 --- a/rs/test_utilities/BUILD.bazel +++ b/rs/test_utilities/BUILD.bazel @@ -4,7 +4,6 @@ package(default_visibility = ["//visibility:public"]) rust_library( name = "test_utilities", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_test_utilities", version = "0.9.0", diff --git a/rs/test_utilities/consensus/BUILD.bazel b/rs/test_utilities/consensus/BUILD.bazel index 97cf3ec25e9a..f01b84a73eb9 100644 --- a/rs/test_utilities/consensus/BUILD.bazel +++ b/rs/test_utilities/consensus/BUILD.bazel @@ -29,7 +29,6 @@ DEPENDENCIES = [ rust_library( name = "consensus", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_test_utilities_consensus", version = "0.9.0", diff --git a/rs/test_utilities/logger/BUILD.bazel b/rs/test_utilities/logger/BUILD.bazel index b7448afbadde..546409f172a2 100644 --- a/rs/test_utilities/logger/BUILD.bazel +++ b/rs/test_utilities/logger/BUILD.bazel @@ -4,7 +4,6 @@ package(default_visibility = ["//visibility:public"]) rust_library( name = "logger", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_test_utilities_logger", version = "0.9.0", diff --git a/rs/test_utilities/registry/BUILD.bazel b/rs/test_utilities/registry/BUILD.bazel index 63412c69b32b..41574ee78843 100644 --- a/rs/test_utilities/registry/BUILD.bazel +++ b/rs/test_utilities/registry/BUILD.bazel @@ -23,7 +23,6 @@ DEPENDENCIES = [ rust_library( name = "registry", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_test_utilities_registry", version = "0.9.0", diff --git a/rs/test_utilities/state/BUILD.bazel b/rs/test_utilities/state/BUILD.bazel index 359aed8c4a42..72c8779c3427 100644 --- a/rs/test_utilities/state/BUILD.bazel +++ b/rs/test_utilities/state/BUILD.bazel @@ -25,7 +25,6 @@ DEPENDENCIES = [ rust_library( name = "state", - testonly = True, srcs = glob(["src/**/*.rs"]), crate_name = "ic_test_utilities_state", version = "0.9.0", diff --git a/rs/test_utilities/time/BUILD.bazel b/rs/test_utilities/time/BUILD.bazel index c77a8a4e9e5f..541c5ba34298 100644 --- a/rs/test_utilities/time/BUILD.bazel +++ b/rs/test_utilities/time/BUILD.bazel @@ -10,7 +10,6 @@ DEPENDENCIES = [ rust_library( name = "time", - testonly = True, srcs = glob(["src/**/*.rs"]), crate_name = "ic_test_utilities_time", version = "0.9.0", diff --git a/rs/test_utilities/types/BUILD.bazel b/rs/test_utilities/types/BUILD.bazel index 537d03cf0e8f..300906652d11 100644 --- a/rs/test_utilities/types/BUILD.bazel +++ b/rs/test_utilities/types/BUILD.bazel @@ -14,7 +14,6 @@ DEPENDENCIES = [ rust_library( name = "types", - testonly = True, srcs = glob(["src/**"]), crate_name = "ic_test_utilities_types", version = "0.9.0", diff --git a/rs/validator/http_request_test_utils/BUILD.bazel b/rs/validator/http_request_test_utils/BUILD.bazel index 878c3472304a..35d7d1133498 100644 --- a/rs/validator/http_request_test_utils/BUILD.bazel +++ b/rs/validator/http_request_test_utils/BUILD.bazel @@ -38,7 +38,6 @@ ALIASES = {} rust_library( name = "http_request_test_utils", - testonly = True, srcs = glob(["src/**/*.rs"]), aliases = ALIASES, crate_name = "ic_validator_http_request_test_utils",