parallel_calabash 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +6 -2
- data/lib/parallel_calabash/adb_helper.rb +14 -8
- data/lib/parallel_calabash/runner.rb +2 -2
- data/lib/parallel_calabash/version.rb +1 -1
- data/spec/lib/parallel_calabash/runner_spec.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbfcdf254dae2ce04a16ac134e29380063893b60
|
4
|
+
data.tar.gz: cba4c0855b92d9c3edb2b95a108ee69a8bb0faaa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e76605cc0a097f870b93966deefacfa52809047c09e3a07462a9da11a2baf4ab0ef69edaf802dad26bc48774daebc763ec7042934d2373b8a218ee50e18b5af3
|
7
|
+
data.tar.gz: d5065c95805a678c532d008c72cb37c169dc447113c8348b254b8eae948d4f493c551174301205cff9df958289f212282412cdf82f116007c8ed73b98fe2b43a
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# calabash parallel execution
|
2
2
|
|
3
|
+
# Now Supported on Windows
|
4
|
+
|
3
5
|
## Watch a quick demo here:
|
4
6
|
|
5
7
|
https://www.youtube.com/watch?v=sK3s0txeJvc
|
@@ -43,11 +45,13 @@ Example: parallel_calabash -a my.apk -o 'cucumber_opts_like_tags_profile_etc_her
|
|
43
45
|
|
44
46
|
## REPROTING
|
45
47
|
|
46
|
-
use ENV['TEST_PROCESS_NUMBER'] environment variable in your ruby scripts to find out the process number. you can use this for reporting purpose.
|
48
|
+
use ENV['TEST_PROCESS_NUMBER'] environment variable in your ruby scripts to find out the process number. you can use this for reporting purpose OR process specific action.
|
49
|
+
|
50
|
+
To get device model info, use ENV['DEVICE_INFO'] env variable.
|
47
51
|
|
48
52
|
eg. modify default profile in cucumber.yml as below to get different report from different process
|
49
53
|
|
50
|
-
default: --format html --out reports/
|
54
|
+
default: --format html --out reports/Report_<%=ENV['DEVICE_INFO']%>_<%= ENV['TEST_PROCESS_NUMBER']%>.html --format pretty
|
51
55
|
|
52
56
|
## Contributing
|
53
57
|
|
@@ -2,20 +2,26 @@ module ParallelCalabash
|
|
2
2
|
module AdbHelper
|
3
3
|
class << self
|
4
4
|
|
5
|
-
def
|
5
|
+
def device_for_process process_num
|
6
|
+
connected_devices_with_model_info[process_num]
|
7
|
+
end
|
8
|
+
|
9
|
+
def number_of_connected_devices
|
10
|
+
connected_devices_with_model_info.size
|
11
|
+
end
|
12
|
+
|
13
|
+
def connected_devices_with_model_info
|
6
14
|
begin
|
7
|
-
`adb devices`.
|
15
|
+
`adb devices -l`.split("\n").collect{|line| device_id_and_model(line)}.compact
|
8
16
|
rescue
|
9
17
|
[]
|
10
18
|
end
|
11
19
|
end
|
12
20
|
|
13
|
-
def
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
def number_of_connected_devices
|
18
|
-
connected_devices.size
|
21
|
+
def device_id_and_model line
|
22
|
+
if line.include?("device ")
|
23
|
+
[line.split(" ").first,line.scan(/model:(.*) device/).flatten.first]
|
24
|
+
end
|
19
25
|
end
|
20
26
|
|
21
27
|
end
|
@@ -25,8 +25,8 @@ module ParallelCalabash
|
|
25
25
|
|
26
26
|
def command_for_process process_number, cmd
|
27
27
|
env = {}
|
28
|
-
|
29
|
-
env = env.merge({'AUTOTEST' => '1', 'ADB_DEVICE_ARG' =>
|
28
|
+
device_id, device_info = ParallelCalabash::AdbHelper.device_for_process process_number
|
29
|
+
env = env.merge({'AUTOTEST' => '1', 'ADB_DEVICE_ARG' => device_id, 'DEVICE_INFO' => device_info, "TEST_PROCESS_NUMBER" => (process_number+1).to_s})
|
30
30
|
separator = (WINDOWS ? ' & ' : ';')
|
31
31
|
exports = env.map { |k, v| WINDOWS ? "(SET \"#{k}=#{v}\")" : "#{k}=#{v};export #{k}" }.join(separator)
|
32
32
|
exports + separator + cmd
|
@@ -4,9 +4,9 @@ require 'parallel_calabash'
|
|
4
4
|
describe ParallelCalabash::Runner do
|
5
5
|
describe :command_for_process do
|
6
6
|
it 'should return command with env variables' do
|
7
|
-
ParallelCalabash::AdbHelper.should_receive(:device_for_process).with(0).and_return("
|
7
|
+
ParallelCalabash::AdbHelper.should_receive(:device_for_process).with(0).and_return(["4d00fa3cb814c03f", "GT_N7100"])
|
8
8
|
expect(ParallelCalabash::Runner.command_for_process(0, 'base_command')).to eq \
|
9
|
-
"AUTOTEST=1;export AUTOTEST
|
9
|
+
"AUTOTEST=1;export AUTOTEST;ADB_DEVICE_ARG=4d00fa3cb814c03f;export ADB_DEVICE_ARG;DEVICE_INFO=GT_N7100;export DEVICE_INFO;TEST_PROCESS_NUMBER=1;export TEST_PROCESS_NUMBER;base_command"
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parallel_calabash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rajdeep
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|