Skip to content

Commit 1ba4b0f

Browse files
authored
Merge branch 'trunk' into use_rbs_trace
2 parents 52bec69 + 1e2945d commit 1ba4b0f

File tree

23 files changed

+4109
-2371
lines changed

23 files changed

+4109
-2371
lines changed

Rakefile

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,9 @@ namespace :node do
510510

511511
desc 'Generate Node documentation'
512512
task :docs do |_task, arguments|
513-
abort('Aborting documentation update: nightly versions should not update docs.') if node_version.include?('nightly')
513+
if node_version.include?('nightly') && !arguments.to_a.include?('force')
514+
abort('Aborting documentation update: nightly versions should not update docs.')
515+
end
514516

515517
puts 'Generating Node documentation'
516518
FileUtils.rm_rf('build/docs/api/javascript/')
@@ -608,7 +610,7 @@ namespace :py do
608610

609611
desc 'Generate Python documentation'
610612
task :docs do |_task, arguments|
611-
if python_version.match?(/^\d+\.\d+\.\d+\.\d+$/)
613+
if python_version.match?(/^\d+\.\d+\.\d+\.\d+$/) && !arguments.to_a.include?('force')
612614
abort('Aborting documentation update: nightly versions should not update docs.')
613615
end
614616
puts 'Generating Python documentation'
@@ -776,7 +778,9 @@ namespace :rb do
776778

777779
desc 'Generate Ruby documentation'
778780
task :docs do |_task, arguments|
779-
abort('Aborting documentation update: nightly versions should not update docs.') if ruby_version.include?('nightly')
781+
if ruby_version.include?('nightly') && !arguments.to_a.include?('force')
782+
abort('Aborting documentation update: nightly versions should not update docs.')
783+
end
780784
puts 'Generating Ruby documentation'
781785

782786
FileUtils.rm_rf('build/docs/api/rb/')
@@ -872,7 +876,7 @@ namespace :dotnet do
872876

873877
desc 'Generate .NET documentation'
874878
task :docs do |_task, arguments|
875-
if dotnet_version.include?('nightly')
879+
if dotnet_version.include?('nightly') && !arguments.to_a.include?('force')
876880
abort('Aborting documentation update: nightly versions should not update docs.')
877881
end
878882

@@ -987,7 +991,7 @@ namespace :java do
987991

988992
desc 'Generate Java documentation'
989993
task :docs do |_task, arguments|
990-
if java_version.include?('SNAPSHOT')
994+
if java_version.include?('SNAPSHOT') && !arguments.to_a.include?('force')
991995
abort('Aborting documentation update: snapshot versions should not update docs.')
992996
end
993997

common/repositories.bzl

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ js_library(
5050

5151
http_archive(
5252
name = "linux_beta_firefox",
53-
url = "https://ftp.mozilla.org/pub/firefox/releases/139.0b4/linux-x86_64/en-US/firefox-139.0b4.tar.xz",
54-
sha256 = "21bfb99fe445e64ad8fb86822fd6d77c9c0d387530b787f3c3fc99b97723d664",
53+
url = "https://ftp.mozilla.org/pub/firefox/releases/139.0b6/linux-x86_64/en-US/firefox-139.0b6.tar.xz",
54+
sha256 = "39f087356b885fb4bbfebe315d09bac3979798a7e0bff0b7c788707c0c7d4d11",
5555
build_file_content = """
5656
load("@aspect_rules_js//js:defs.bzl", "js_library")
5757
package(default_visibility = ["//visibility:public"])
@@ -72,8 +72,8 @@ js_library(
7272

7373
dmg_archive(
7474
name = "mac_beta_firefox",
75-
url = "https://ftp.mozilla.org/pub/firefox/releases/139.0b4/mac/en-US/Firefox%20139.0b4.dmg",
76-
sha256 = "c61d0fe161c6cb778a3e564f4cffa70cc7fb6bb5770586fa66c7db8ab9c31cf1",
75+
url = "https://ftp.mozilla.org/pub/firefox/releases/139.0b6/mac/en-US/Firefox%20139.0b6.dmg",
76+
sha256 = "d2fa2ef24f80cbadab7dfb31639f76d8a530acd1653bb8a437ef128937ce1019",
7777
build_file_content = """
7878
load("@aspect_rules_js//js:defs.bzl", "js_library")
7979
package(default_visibility = ["//visibility:public"])
@@ -123,10 +123,10 @@ js_library(
123123

124124
pkg_archive(
125125
name = "mac_edge",
126-
url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/7a2f13f4-e241-4582-94b2-6c56bef6b23d/MicrosoftEdge-136.0.3240.50.pkg",
127-
sha256 = "3500c3a7f548e222344c3c110e0a0b190a033adb10d020ce58b8c64a384ad8b6",
126+
url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/0d424762-5771-4a00-ada6-d1a3fb2e2054/MicrosoftEdge-136.0.3240.64.pkg",
127+
sha256 = "483324afe4db695c9497822e3e220065379d92077b8f29abb1e8d8f6d045909c",
128128
move = {
129-
"MicrosoftEdge-136.0.3240.50.pkg/Payload/Microsoft Edge.app": "Edge.app",
129+
"MicrosoftEdge-136.0.3240.64.pkg/Payload/Microsoft Edge.app": "Edge.app",
130130
},
131131
build_file_content = """
132132
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -143,8 +143,8 @@ js_library(
143143

144144
deb_archive(
145145
name = "linux_edge",
146-
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_136.0.3240.50-1_amd64.deb",
147-
sha256 = "19d27dddf6d4a46e1e03b3d0fa1eb4af0d5870f12d3816e0431b983331f947e9",
146+
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_136.0.3240.64-1_amd64.deb",
147+
sha256 = "cf2a2ea4d76d5cae66bc8e68ca9f40255ad6c1894c28e55a6813a70ce8c73b4a",
148148
build_file_content = """
149149
load("@aspect_rules_js//js:defs.bzl", "js_library")
150150
package(default_visibility = ["//visibility:public"])
@@ -182,8 +182,8 @@ js_library(
182182

183183
http_archive(
184184
name = "mac_edgedriver",
185-
url = "https://msedgedriver.azureedge.net/136.0.3240.50/edgedriver_mac64.zip",
186-
sha256 = "9c592695119986af76bd0182bc355716e29844dd97052f77865f55fffbf6db3d",
185+
url = "https://msedgedriver.azureedge.net/136.0.3240.64/edgedriver_mac64.zip",
186+
sha256 = "729731958bfeee999006572973c8eee6d4bd402e34c5b410fb29bfbaeeafb8bd",
187187
build_file_content = """
188188
load("@aspect_rules_js//js:defs.bzl", "js_library")
189189
package(default_visibility = ["//visibility:public"])

py/selenium/webdriver/common/bidi/log.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,12 @@ def from_json(cls, json):
6868
stacktrace=json["stackTrace"],
6969
type_=json["type"],
7070
)
71+
72+
73+
class LogLevel:
74+
"""Represents log level."""
75+
76+
DEBUG = "debug"
77+
INFO = "info"
78+
WARN = "warn"
79+
ERROR = "error"

py/test/selenium/webdriver/common/bidi_script_tests.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18+
from selenium.webdriver.common.bidi.log import LogLevel
1819
from selenium.webdriver.common.by import By
1920
from selenium.webdriver.support.ui import WebDriverWait
2021

@@ -31,7 +32,7 @@ def test_logs_console_messages(driver, pages):
3132
WebDriverWait(driver, 5).until(lambda _: log_entries)
3233

3334
log_entry = log_entries[0]
34-
assert log_entry.level == "info"
35+
assert log_entry.level == LogLevel.INFO
3536
assert log_entry.method == "log"
3637
assert log_entry.text == "Hello, world!"
3738
assert log_entry.type_ == "console"
@@ -55,7 +56,7 @@ def log_error(entry):
5556
assert len(log_entries) == 1
5657

5758
log_entry = log_entries[0]
58-
assert log_entry.level == "error"
59+
assert log_entry.level == LogLevel.ERROR
5960
assert log_entry.method == "error"
6061
assert log_entry.text == "I am console error"
6162
assert log_entry.type_ == "console"
@@ -105,7 +106,7 @@ def test_javascript_error_messages(driver, pages):
105106

106107
log_entry = log_entries[0]
107108
assert log_entry.text == "Error: Not working"
108-
assert log_entry.level == "error"
109+
assert log_entry.level == LogLevel.ERROR
109110
assert log_entry.type_ == "javascript"
110111

111112

rb/lib/selenium/webdriver/firefox/service.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ class Service < WebDriver::Service
2929
# @rbs (?path: nil, ?port: nil, ?log: nil, ?args: nil) -> void
3030
def initialize(path: nil, port: nil, log: nil, args: nil)
3131
args ||= []
32-
unless args.any? { |arg| arg.include?('--connect-existing') }
32+
unless args.any? { |arg| arg.include?('--connect-existing') || arg.include?('--websocket-port') }
3333
args << '--websocket-port'
34-
args << WebDriver::PortProber.above(9222).to_s
34+
args << '0'
3535
end
3636
super
3737
end

rb/spec/integration/selenium/webdriver/chrome/service_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
module Selenium
2323
module WebDriver
2424
module Chrome
25-
describe Service, exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: :chrome}] do
25+
describe Service,
26+
{exclude: {driver: :remote},
27+
exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: :chrome}]} do
2628
let(:service) { described_class.new }
2729
let(:service_manager) { service.launch }
2830

rb/spec/integration/selenium/webdriver/edge/service_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
module Selenium
2323
module WebDriver
2424
module Edge
25-
describe Service, exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: :edge}] do
25+
describe Service,
26+
{exclude: {driver: :remote},
27+
exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: :edge}]} do
2628
let(:service) { described_class.new }
2729
let(:service_manager) { service.launch }
2830

rb/spec/integration/selenium/webdriver/firefox/service_spec.rb

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
module Selenium
2323
module WebDriver
2424
module Firefox
25-
describe Service, exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: :firefox}] do
25+
describe Service,
26+
{exclude: {driver: :remote},
27+
exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: :firefox}]} do
2628
let(:service) { described_class.new }
2729
let(:service_manager) { service.launch }
2830

@@ -37,21 +39,6 @@ module Firefox
3739
it 'can be started outside driver' do
3840
expect(service_manager.uri).to be_a(URI)
3941
end
40-
41-
context 'with BiDi enabled', exclusive: {bidi: true, reason: 'only executed when bidi is enabled'} do
42-
it 'ensures two service instances use different websocket port' do
43-
service1 = described_class.new
44-
service2 = described_class.new
45-
46-
ws_index1 = service1.args.index('--websocket-port')
47-
ws_index2 = service2.args.index('--websocket-port')
48-
49-
port1 = service1.args[ws_index1 + 1].to_i
50-
port2 = service2.args[ws_index2 + 1].to_i
51-
52-
expect(port1).not_to eq(port2)
53-
end
54-
end
5542
end
5643
end # Firefox
5744
end # WebDriver

rb/spec/integration/selenium/webdriver/ie/service_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
module Selenium
2323
module WebDriver
2424
module IE
25-
describe Service, exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: :ie}] do
25+
describe Service, {exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: :ie}],
26+
exclude: {driver: :remote}} do
27+
2628
let(:service) { described_class.new }
2729
let(:service_manager) { service.launch }
2830

rb/spec/integration/selenium/webdriver/remote/driver_spec.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ module Selenium
2323
module WebDriver
2424
module Remote
2525
describe Driver, exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {driver: :remote}] do
26+
let(:tempfile) { create_tempfile }
27+
2628
it 'exposes session_id' do
2729
expect(driver.session_id).to be_a(String)
2830
end
@@ -35,15 +37,15 @@ module Remote
3537
flaky: {browser: :safari, ci: :github, reason: 'unreliable with downloads'} do
3638
driver.navigate.to url_for('upload.html')
3739

38-
driver.find_element(id: 'upload').send_keys(__FILE__)
40+
driver.find_element(id: 'upload').send_keys(tempfile.path)
3941
driver.find_element(id: 'go').submit
4042
wait.until { driver.find_element(id: 'upload_label').displayed? }
4143

4244
driver.switch_to.frame('upload_target')
4345
wait.until { driver.find_element(xpath: '//body') }
4446

4547
body = driver.find_element(xpath: '//body')
46-
expect(body.text.scan('Licensed to the Software Freedom Conservancy').count).to eq(2)
48+
expect(body.text.scan('This is a dummy test file').count).to eq(1)
4749
end
4850

4951
it 'lists downloads', exclude: {browser: :safari, reason: 'grid hangs'} do

0 commit comments

Comments
 (0)