diff --git a/.skipped-tests b/.skipped-tests index 2e24699e4ea77..80f574983e454 100644 --- a/.skipped-tests +++ b/.skipped-tests @@ -57,4 +57,3 @@ -//rb/spec/integration/selenium/webdriver:element-chrome-bidi -//rb/spec/integration/selenium/webdriver:element-chrome-remote -//rb/spec/integration/selenium/webdriver:action_builder-firefox-beta-remote --//rust/tests/... diff --git a/common/remote-build/BUILD.bazel b/common/remote-build/BUILD.bazel index b68c55dc48387..7dfa2c7447d27 100755 --- a/common/remote-build/BUILD.bazel +++ b/common/remote-build/BUILD.bazel @@ -40,6 +40,7 @@ platform( exec_properties = { "container-image": "docker://docker.io/selenium/selenium-remote-build@sha256:ca164352826812f02eaa1b4dab89adcf5b3e57deb6798dd9f15d004099db59fe", "OSFamily": "Linux", + "dockerNetwork": "standard", # Allow internet access for the Rust tests "dockerReuse": "True", "dockerRunAsRoot": "False", "dockerUseEntrypoint": "True", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 0c6a5c5498fcb..8c31311ea1df7 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -41,8 +41,8 @@ fs_extra = "1.3.0" [dev-dependencies] assert_cmd = "2.0.16" -rstest = "0.19.0" is_executable = "1.0.4" +rstest = "0.19.0" [profile.release] opt-level = 'z' # Optimize for size diff --git a/rust/tests/BUILD.bazel b/rust/tests/BUILD.bazel index a037d96041f43..8b019dbcfba7b 100644 --- a/rust/tests/BUILD.bazel +++ b/rust/tests/BUILD.bazel @@ -1,5 +1,5 @@ load("@crates//:defs.bzl", "all_crate_deps") -load("//rust:defs.bzl", "rust_test_suite", "rustfmt_config") +load("//rust:defs.bzl", "rust_library", "rust_test_suite", "rustfmt_config") rustfmt_config( name = "enable-rustfmt", @@ -10,15 +10,24 @@ rust_test_suite( size = "small", srcs = glob(["**/*_tests.rs"]), data = [ - "common.rs", "//rust:selenium-manager", ], edition = "2021", + rustc_env = { + "CARGO_BIN_EXE_selenium-manager": "rust/selenium-manager", + }, + shared_srcs = glob( + ["**/*.rs"], + exclude = ["**/*_tests.rs"], + ), tags = [ "no-sandbox", "requires-network", ], - deps = ["//rust:selenium_manager"] + all_crate_deps( + deps = [ + "//rust:selenium_manager", + "@rules_rust//tools/runfiles", + ] + all_crate_deps( package_name = "rust", normal = True, normal_dev = True, diff --git a/rust/tests/common.rs b/rust/tests/common.rs index eb65568d0b7b2..70992e1245a6f 100644 --- a/rust/tests/common.rs +++ b/rust/tests/common.rs @@ -28,7 +28,13 @@ use std::path::Path; #[allow(dead_code)] pub fn get_selenium_manager() -> Command { - Command::new(env!("CARGO_BIN_EXE_selenium-manager")) + let path = env!("CARGO_BIN_EXE_selenium-manager"); + + if Path::new(path).exists() { + return Command::new(path); + } + + panic!("Binary not found {}", path) } #[allow(dead_code)]