browserstack-local 1.1.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -7
- data/lib/browserstack/local.rb +1 -1
- data/lib/browserstack/localbinary.rb +30 -6
- metadata +19 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
5
|
-
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b6da8e88c99ecea376675b574ff5fc06aaa8efdcd40c71d86a2f1c452da3d0d4
|
4
|
+
data.tar.gz: 4cfe9d0ff64e012c443ef3e2b1bf1a7a68c89628301060a6898bb1593fc89813
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5d26f62daa4510ddebe24a24eecceac36cb2151eae034942fbc4b0765a2ea3f9aacc66be1a66bb3070dbc17431f3e41c85bcebd4830f404921b633787f916dc4
|
7
|
+
data.tar.gz: 4337e4b3086cef7c165dea0ebe90d2d57bec931fb9b71a0c589c846a0e4c82b7d75d4eaa16574a03a0fca108311f1d247a95711621c4de85e0df590f4c5712a1
|
data/lib/browserstack/local.rb
CHANGED
@@ -92,7 +92,7 @@ class Local
|
|
92
92
|
data = JSON.parse(line) rescue {"message" => "Unable to parse daemon mode JSON output"}
|
93
93
|
if data['state'].to_s != "connected"
|
94
94
|
@process.close
|
95
|
-
raise BrowserStack::LocalException.new(data["message"])
|
95
|
+
raise BrowserStack::LocalException.new(data["message"]["message"])
|
96
96
|
return
|
97
97
|
else
|
98
98
|
@pid = data["pid"]
|
@@ -13,14 +13,16 @@ class LocalBinary
|
|
13
13
|
@http_path = case host_os
|
14
14
|
when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
|
15
15
|
@windows = true
|
16
|
-
"https://s3.amazonaws.com/
|
16
|
+
"https://bstack-local-prod.s3.amazonaws.com/BrowserStackLocal.exe"
|
17
17
|
when /darwin|mac os/
|
18
|
-
"https://s3.amazonaws.com/
|
18
|
+
"https://bstack-local-prod.s3.amazonaws.com/BrowserStackLocal-darwin-x64"
|
19
|
+
when /linux-musl/
|
20
|
+
"https://bstack-local-prod.s3.amazonaws.com/BrowserStackLocal-alpine"
|
19
21
|
when /linux/
|
20
22
|
if 1.size == 8
|
21
|
-
"https://s3.amazonaws.com/
|
23
|
+
"https://bstack-local-prod.s3.amazonaws.com/BrowserStackLocal-linux-x64"
|
22
24
|
else
|
23
|
-
"https://s3.amazonaws.com/
|
25
|
+
"https://bstack-local-prod.s3.amazonaws.com/BrowserStackLocal-linux-ia32"
|
24
26
|
end
|
25
27
|
end
|
26
28
|
|
@@ -42,7 +44,7 @@ class LocalBinary
|
|
42
44
|
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
43
45
|
|
44
46
|
res = http.get(uri.path)
|
45
|
-
file = open(binary_path, '
|
47
|
+
file = open(binary_path, 'wb')
|
46
48
|
file.write(res.body)
|
47
49
|
file.close
|
48
50
|
FileUtils.chmod 0755, binary_path
|
@@ -50,13 +52,35 @@ class LocalBinary
|
|
50
52
|
binary_path
|
51
53
|
end
|
52
54
|
|
55
|
+
def verify_binary(binary_path)
|
56
|
+
binary_response = IO.popen(binary_path + " --version").readline
|
57
|
+
binary_response =~ /BrowserStack Local version \d+\.\d+/
|
58
|
+
rescue Exception => e
|
59
|
+
false
|
60
|
+
end
|
61
|
+
|
53
62
|
def binary_path
|
54
63
|
dest_parent_dir = get_available_dirs
|
55
64
|
binary_path = File.join(dest_parent_dir, "BrowserStackLocal#{".exe" if @windows}")
|
65
|
+
|
56
66
|
if File.exists? binary_path
|
57
67
|
binary_path
|
58
68
|
else
|
59
|
-
download(dest_parent_dir)
|
69
|
+
binary_path = download(dest_parent_dir)
|
70
|
+
end
|
71
|
+
|
72
|
+
valid_binary = verify_binary(binary_path)
|
73
|
+
|
74
|
+
if valid_binary
|
75
|
+
binary_path
|
76
|
+
else
|
77
|
+
binary_path = download(dest_parent_dir)
|
78
|
+
valid_binary = verify_binary(binary_path)
|
79
|
+
if valid_binary
|
80
|
+
binary_path
|
81
|
+
else
|
82
|
+
raise BrowserStack::LocalException.new('BrowserStack Local binary is corrupt')
|
83
|
+
end
|
60
84
|
end
|
61
85
|
end
|
62
86
|
|
metadata
CHANGED
@@ -1,55 +1,45 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: browserstack-local
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- BrowserStack
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
date: 2016-07-11 00:00:00 Z
|
11
|
+
date: 2022-07-20 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
|
-
|
15
13
|
description: Ruby bindings for BrowserStack Local
|
16
14
|
email: support@browserstack.com
|
17
15
|
executables: []
|
18
|
-
|
19
16
|
extensions: []
|
20
|
-
|
21
17
|
extra_rdoc_files: []
|
22
|
-
|
23
|
-
files:
|
18
|
+
files:
|
24
19
|
- lib/browserstack/local.rb
|
25
20
|
- lib/browserstack/localbinary.rb
|
26
21
|
- lib/browserstack/localexception.rb
|
27
22
|
homepage: http://rubygems.org/gems/browserstack-local
|
28
|
-
licenses:
|
23
|
+
licenses:
|
29
24
|
- MIT
|
30
25
|
metadata: {}
|
31
|
-
|
32
26
|
post_install_message:
|
33
27
|
rdoc_options: []
|
34
|
-
|
35
|
-
require_paths:
|
28
|
+
require_paths:
|
36
29
|
- lib
|
37
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
-
|
40
|
-
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
30
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
46
40
|
requirements: []
|
47
|
-
|
48
|
-
rubyforge_project:
|
49
|
-
rubygems_version: 2.0.14
|
41
|
+
rubygems_version: 3.0.3.1
|
50
42
|
signing_key:
|
51
43
|
specification_version: 4
|
52
44
|
summary: BrowserStack Local
|
53
45
|
test_files: []
|
54
|
-
|
55
|
-
has_rdoc:
|