Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion lib/browserstack/localbinary.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,11 @@ def compute_binary_filename
when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
'BrowserStackLocal.exe'
when /darwin|mac os/
'BrowserStackLocal-darwin-x64'
if host_cpu =~ /arm64|aarch64/
'BrowserStackLocal-darwin-arm64'
else
'BrowserStackLocal-darwin-x64'
end
when /linux/
if host_cpu =~ /arm64|aarch64/
'BrowserStackLocal-linux-arm64'
Expand Down
11 changes: 9 additions & 2 deletions test/browserstack-local-test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,16 @@ def test_alpine_x64_picks_alpine_binary
end
end

def test_darwin_arm64_picks_darwin_x64
# No darwin-arm64 binary; runs under Rosetta. Matches Node.
def test_darwin_arm64_picks_darwin_arm64
with_host_config('darwin22', 'arm64') do
assert_equal 'BrowserStackLocal-darwin-arm64',
BrowserStack::LocalBinary.new.send(:compute_binary_filename)
end
end

def test_darwin_x64_picks_darwin_x64
# x64 runtime (including x64-under-Rosetta) keeps the x64 binary
with_host_config('darwin22', 'x86_64') do
assert_equal 'BrowserStackLocal-darwin-x64',
BrowserStack::LocalBinary.new.send(:compute_binary_filename)
end
Expand Down
Loading