From bfc0bea43bcdbb858575d6bbefffa6831d3ec4f2 Mon Sep 17 00:00:00 2001 From: titusfortner Date: Mon, 20 Oct 2025 19:24:23 -0500 Subject: [PATCH 1/5] [rb] minimize number of targets run with bidi --- .skipped-tests | 6 ----- rb/spec/BUILD.bazel | 1 - .../selenium/webdriver/BUILD.bazel | 24 ++++++++++++------- .../selenium/webdriver/bidi/BUILD.bazel | 5 +++- rb/spec/tests.bzl | 3 +++ 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/.skipped-tests b/.skipped-tests index fba4d59fb1281..edab43e6f1918 100644 --- a/.skipped-tests +++ b/.skipped-tests @@ -27,17 +27,12 @@ -//javascript/selenium-webdriver:test-chrome-devtools-test.js-chrome -//javascript/selenium-webdriver:test-firefox-options-test.js-firefox -//rb/spec/integration/selenium/webdriver/chrome:service-chrome --//rb/spec/integration/selenium/webdriver/chrome:service-chrome-bidi -//rb/spec/integration/selenium/webdriver/chrome:service-chrome-remote -//rb/spec/integration/selenium/webdriver/edge:service-edge --//rb/spec/integration/selenium/webdriver/edge:service-edge-bidi -//rb/spec/integration/selenium/webdriver/edge:service-edge-remote --//rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta-bidi -//rb/spec/integration/selenium/webdriver/firefox:service-firefox -//rb/spec/integration/selenium/webdriver/firefox:service-firefox-beta --//rb/spec/integration/selenium/webdriver/firefox:service-firefox-beta-bidi -//rb/spec/integration/selenium/webdriver/firefox:service-firefox-beta-remote --//rb/spec/integration/selenium/webdriver/firefox:service-firefox-bidi -//rb/spec/integration/selenium/webdriver/firefox:service-firefox-remote -//rb/spec/integration/selenium/webdriver/remote:driver-chrome-remote -//rb/spec/integration/selenium/webdriver/remote:driver-edge-remote @@ -49,6 +44,5 @@ -//rb/spec/integration/selenium/webdriver/remote:element-firefox-remote -//rb/spec/integration/selenium/webdriver:action_builder-firefox-beta-remote -//rb/spec/integration/selenium/webdriver:element-chrome --//rb/spec/integration/selenium/webdriver:element-chrome-bidi -//rb/spec/integration/selenium/webdriver:element-chrome-remote -//rb:lint diff --git a/rb/spec/BUILD.bazel b/rb/spec/BUILD.bazel index c8be424e1dc48..c4d338586ad83 100644 --- a/rb/spec/BUILD.bazel +++ b/rb/spec/BUILD.bazel @@ -17,7 +17,6 @@ rb_library( deps = [ "//rb/spec:rspec_matchers", "//rb/spec/integration/selenium/webdriver:action_builder", - "//rb/spec/integration/selenium/webdriver:bidi", "//rb/spec/integration/selenium/webdriver:devtools", "//rb/spec/integration/selenium/webdriver:driver", "//rb/spec/integration/selenium/webdriver:element", diff --git a/rb/spec/integration/selenium/webdriver/BUILD.bazel b/rb/spec/integration/selenium/webdriver/BUILD.bazel index c420436e6bdbd..32fc8a456eaf6 100644 --- a/rb/spec/integration/selenium/webdriver/BUILD.bazel +++ b/rb/spec/integration/selenium/webdriver/BUILD.bazel @@ -42,19 +42,25 @@ rb_library( "driver_spec.rb", "devtools_spec.rb", "element_spec.rb", + "network_spec.rb", ], ) ] -rb_integration_test( - name = "bidi", - srcs = ["bidi_spec.rb"], - tags = ["exclusive-if-local"], - deps = [ - "//rb/lib/selenium/devtools", - "//rb/lib/selenium/webdriver:bidi", - ], -) +_BIDI_FILES = [ + "bidi_spec.rb", + "navigation_spec.rb", + "network_spec.rb", +] + +[ + rb_integration_test( + name = f[:-7], + srcs = [f], + tags = ["bidi"], + ) + for f in _BIDI_FILES +] rb_integration_test( name = "devtools", diff --git a/rb/spec/integration/selenium/webdriver/bidi/BUILD.bazel b/rb/spec/integration/selenium/webdriver/bidi/BUILD.bazel index 4b317a1a7929a..20de0008d314e 100644 --- a/rb/spec/integration/selenium/webdriver/bidi/BUILD.bazel +++ b/rb/spec/integration/selenium/webdriver/bidi/BUILD.bazel @@ -4,7 +4,10 @@ load("//rb/spec:tests.bzl", "rb_integration_test") rb_integration_test( name = file[:-8], srcs = [file], - tags = ["exclusive-if-local"], + tags = [ + "exclusive-if-local", + "bidi" + ], deps = [ "//rb/lib/selenium/devtools", "//rb/lib/selenium/webdriver:bidi", diff --git a/rb/spec/tests.bzl b/rb/spec/tests.bzl index accd038d01427..7155c0d06b76c 100644 --- a/rb/spec/tests.bzl +++ b/rb/spec/tests.bzl @@ -215,6 +215,9 @@ def rb_integration_test(name, srcs, deps = [], data = [], browsers = BROWSERS.ke ) # Generate a test target for bidi browser execution. + if "bidi" not in tags: + return # don't create -bidi targets for non-BiDi tests + rb_test( name = "{}-{}-bidi".format(name, browser), size = "large", From 68dd81c71da974f04e51378da62524f18811b689 Mon Sep 17 00:00:00 2001 From: titusfortner Date: Mon, 20 Oct 2025 19:48:20 -0500 Subject: [PATCH 2/5] fix file references --- rb/spec/BUILD.bazel | 1 + rb/spec/integration/selenium/webdriver/BUILD.bazel | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rb/spec/BUILD.bazel b/rb/spec/BUILD.bazel index c4d338586ad83..c8be424e1dc48 100644 --- a/rb/spec/BUILD.bazel +++ b/rb/spec/BUILD.bazel @@ -17,6 +17,7 @@ rb_library( deps = [ "//rb/spec:rspec_matchers", "//rb/spec/integration/selenium/webdriver:action_builder", + "//rb/spec/integration/selenium/webdriver:bidi", "//rb/spec/integration/selenium/webdriver:devtools", "//rb/spec/integration/selenium/webdriver:driver", "//rb/spec/integration/selenium/webdriver:element", diff --git a/rb/spec/integration/selenium/webdriver/BUILD.bazel b/rb/spec/integration/selenium/webdriver/BUILD.bazel index 32fc8a456eaf6..8b0924e3ccabe 100644 --- a/rb/spec/integration/selenium/webdriver/BUILD.bazel +++ b/rb/spec/integration/selenium/webdriver/BUILD.bazel @@ -42,6 +42,7 @@ rb_library( "driver_spec.rb", "devtools_spec.rb", "element_spec.rb", + "navigation_spec.rb", "network_spec.rb", ], ) @@ -55,7 +56,7 @@ _BIDI_FILES = [ [ rb_integration_test( - name = f[:-7], + name = f[:-8], srcs = [f], tags = ["bidi"], ) From 12f54ccdb1bb266e1396d5953de57f8549013e21 Mon Sep 17 00:00:00 2001 From: titusfortner Date: Mon, 20 Oct 2025 19:56:58 -0500 Subject: [PATCH 3/5] fix the bazel logic that checks for tags in the loop --- rb/spec/tests.bzl | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/rb/spec/tests.bzl b/rb/spec/tests.bzl index 7155c0d06b76c..cc265e06b1053 100644 --- a/rb/spec/tests.bzl +++ b/rb/spec/tests.bzl @@ -214,27 +214,25 @@ def rb_integration_test(name, srcs, deps = [], data = [], browsers = BROWSERS.ke target_compatible_with = BROWSERS[browser]["target_compatible_with"], ) - # Generate a test target for bidi browser execution. - if "bidi" not in tags: - return # don't create -bidi targets for non-BiDi tests - - rb_test( - name = "{}-{}-bidi".format(name, browser), - size = "large", - srcs = srcs, - args = ["rb/spec/"], - data = BROWSERS[browser]["data"] + data + ["//common/src/web"], - env = BROWSERS[browser]["env"] | {"WEBDRIVER_BIDI": "true"}, - main = "@bundle//bin:rspec", - tags = COMMON_TAGS + BROWSERS[browser]["tags"] + tags + ["{}-bidi".format(browser)], - deps = depset( - ["//rb/spec/integration/selenium/webdriver:spec_helper", "//rb/lib/selenium/webdriver:bidi"] + - BROWSERS[browser]["deps"] + - deps, - ), - visibility = ["//rb:__subpackages__"], - target_compatible_with = BROWSERS[browser]["target_compatible_with"], - ) + # Generate a test target for bidi browser execution if there is a matching tag + if "bidi" in tags: + rb_test( + name = "{}-{}-bidi".format(name, browser), + size = "large", + srcs = srcs, + args = ["rb/spec/"], + data = BROWSERS[browser]["data"] + data + ["//common/src/web"], + env = BROWSERS[browser]["env"] | {"WEBDRIVER_BIDI": "true"}, + main = "@bundle//bin:rspec", + tags = COMMON_TAGS + BROWSERS[browser]["tags"] + tags + ["{}-bidi".format(browser)], + deps = depset( + ["//rb/spec/integration/selenium/webdriver:spec_helper", "//rb/lib/selenium/webdriver:bidi"] + + BROWSERS[browser]["deps"] + + deps, + ), + visibility = ["//rb:__subpackages__"], + target_compatible_with = BROWSERS[browser]["target_compatible_with"], + ) def rb_unit_test(name, srcs, deps, data = []): rb_test( From 643dfe2bd9d5062c184d0e40418e8a969f4486aa Mon Sep 17 00:00:00 2001 From: titusfortner Date: Mon, 20 Oct 2025 20:39:51 -0500 Subject: [PATCH 4/5] fix failed to load issue --- rb/spec/integration/selenium/webdriver/BUILD.bazel | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rb/spec/integration/selenium/webdriver/BUILD.bazel b/rb/spec/integration/selenium/webdriver/BUILD.bazel index 8b0924e3ccabe..6baa2b27f09de 100644 --- a/rb/spec/integration/selenium/webdriver/BUILD.bazel +++ b/rb/spec/integration/selenium/webdriver/BUILD.bazel @@ -59,7 +59,11 @@ _BIDI_FILES = [ name = f[:-8], srcs = [f], tags = ["bidi"], - ) + deps = [ + "//rb/lib/selenium/devtools", + "//rb/lib/selenium/webdriver:bidi", + ], + ) for f in _BIDI_FILES ] From 4d728bc9cfe5229e1c778897b420feff391f25bb Mon Sep 17 00:00:00 2001 From: titusfortner Date: Mon, 20 Oct 2025 20:42:06 -0500 Subject: [PATCH 5/5] fix bazel formatting --- .../selenium/webdriver/BUILD.bazel | 10 +++--- .../selenium/webdriver/bidi/BUILD.bazel | 2 +- rb/spec/tests.bzl | 34 +++++++++---------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/rb/spec/integration/selenium/webdriver/BUILD.bazel b/rb/spec/integration/selenium/webdriver/BUILD.bazel index 6baa2b27f09de..f786bb224308f 100644 --- a/rb/spec/integration/selenium/webdriver/BUILD.bazel +++ b/rb/spec/integration/selenium/webdriver/BUILD.bazel @@ -59,11 +59,11 @@ _BIDI_FILES = [ name = f[:-8], srcs = [f], tags = ["bidi"], - deps = [ - "//rb/lib/selenium/devtools", - "//rb/lib/selenium/webdriver:bidi", - ], - ) + deps = [ + "//rb/lib/selenium/devtools", + "//rb/lib/selenium/webdriver:bidi", + ], + ) for f in _BIDI_FILES ] diff --git a/rb/spec/integration/selenium/webdriver/bidi/BUILD.bazel b/rb/spec/integration/selenium/webdriver/bidi/BUILD.bazel index 20de0008d314e..7cb22df532822 100644 --- a/rb/spec/integration/selenium/webdriver/bidi/BUILD.bazel +++ b/rb/spec/integration/selenium/webdriver/bidi/BUILD.bazel @@ -5,8 +5,8 @@ load("//rb/spec:tests.bzl", "rb_integration_test") name = file[:-8], srcs = [file], tags = [ + "bidi", "exclusive-if-local", - "bidi" ], deps = [ "//rb/lib/selenium/devtools", diff --git a/rb/spec/tests.bzl b/rb/spec/tests.bzl index cc265e06b1053..8b646ec7542a8 100644 --- a/rb/spec/tests.bzl +++ b/rb/spec/tests.bzl @@ -216,23 +216,23 @@ def rb_integration_test(name, srcs, deps = [], data = [], browsers = BROWSERS.ke # Generate a test target for bidi browser execution if there is a matching tag if "bidi" in tags: - rb_test( - name = "{}-{}-bidi".format(name, browser), - size = "large", - srcs = srcs, - args = ["rb/spec/"], - data = BROWSERS[browser]["data"] + data + ["//common/src/web"], - env = BROWSERS[browser]["env"] | {"WEBDRIVER_BIDI": "true"}, - main = "@bundle//bin:rspec", - tags = COMMON_TAGS + BROWSERS[browser]["tags"] + tags + ["{}-bidi".format(browser)], - deps = depset( - ["//rb/spec/integration/selenium/webdriver:spec_helper", "//rb/lib/selenium/webdriver:bidi"] + - BROWSERS[browser]["deps"] + - deps, - ), - visibility = ["//rb:__subpackages__"], - target_compatible_with = BROWSERS[browser]["target_compatible_with"], - ) + rb_test( + name = "{}-{}-bidi".format(name, browser), + size = "large", + srcs = srcs, + args = ["rb/spec/"], + data = BROWSERS[browser]["data"] + data + ["//common/src/web"], + env = BROWSERS[browser]["env"] | {"WEBDRIVER_BIDI": "true"}, + main = "@bundle//bin:rspec", + tags = COMMON_TAGS + BROWSERS[browser]["tags"] + tags + ["{}-bidi".format(browser)], + deps = depset( + ["//rb/spec/integration/selenium/webdriver:spec_helper", "//rb/lib/selenium/webdriver:bidi"] + + BROWSERS[browser]["deps"] + + deps, + ), + visibility = ["//rb:__subpackages__"], + target_compatible_with = BROWSERS[browser]["target_compatible_with"], + ) def rb_unit_test(name, srcs, deps, data = []): rb_test(