droid-monitor 0.5.1 → 0.6.0
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/lib/droid/monitor.rb +5 -3
- data/lib/droid/monitor/common/timer.rb +52 -0
- data/lib/droid/monitor/executor/executor.rb +19 -0
- data/lib/droid/monitor/version.rb +1 -1
- data/test/monitor/timer_test.rb +24 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e89fb94f493d1e714a085b2802651c25557907b2
|
4
|
+
data.tar.gz: 824ac015895dfba0555ad9c0c30c3236fb7a8583
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 491c735e8d6407ea5642a3cdf3528b53f3036583f5c8edffaa5b443e513a7f75b8b1dba09a301885dbdd14d9441b9904c9f5b9734641238b7a55a1c2d2b0004c
|
7
|
+
data.tar.gz: c8acf9d717f88e49272709b3523218690e12a314413b7d52f3671b2b0311ff28ae6e60aed0913e41438b29be6cacef84093a1e541c6382394721200bf256282f
|
data/lib/droid/monitor.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require_relative "monitor/version"
|
2
|
+
require_relative "monitor/common/timer"
|
3
|
+
require_relative "monitor/executor/executor"
|
2
4
|
|
3
5
|
require "Open3"
|
4
6
|
|
@@ -8,8 +10,8 @@ module Droid
|
|
8
10
|
attr_accessor :package, :device_serial, :api_level
|
9
11
|
|
10
12
|
def initialize(opts = {})
|
11
|
-
|
12
|
-
|
13
|
+
raise "opts must be a hash" unless opts.is_a? Hash
|
14
|
+
raise "Package name is required." unless opts[:package]
|
13
15
|
@package = opts[:package]
|
14
16
|
@device_serial = opts[:device_serial] || ""
|
15
17
|
@api_level = device_sdk_version
|
@@ -64,7 +66,7 @@ module Droid
|
|
64
66
|
private
|
65
67
|
|
66
68
|
def adb
|
67
|
-
|
69
|
+
raise "ANDROID_HOME is not set" unless ENV["ANDROID_HOME"]
|
68
70
|
"#{ENV["ANDROID_HOME"]}/platform-tools/adb"
|
69
71
|
end
|
70
72
|
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Droid
|
2
|
+
module Monitor
|
3
|
+
module Timer
|
4
|
+
class Executor
|
5
|
+
attr_reader :interval
|
6
|
+
|
7
|
+
# @param [int] interval Interval to wait
|
8
|
+
def initialize(interval)
|
9
|
+
@interval = interval
|
10
|
+
end
|
11
|
+
|
12
|
+
# @param [Block] &block Yield the block after sleep @interval
|
13
|
+
# @return [Symbol] :finished
|
14
|
+
def execute
|
15
|
+
sleep interval
|
16
|
+
yield
|
17
|
+
|
18
|
+
:finished
|
19
|
+
end
|
20
|
+
|
21
|
+
# Loop `execute` until stopping its process
|
22
|
+
# @param [Block] &block Yield the block after sleep @interval
|
23
|
+
# @return [Symbol] :finished
|
24
|
+
def execute_loop(&block)
|
25
|
+
loop { execute(&block) }
|
26
|
+
end
|
27
|
+
|
28
|
+
# Start
|
29
|
+
# t = timer.execute_loop_thread { puts "#{Time.now}" }
|
30
|
+
# Stop
|
31
|
+
# timer.kill_thread t
|
32
|
+
#
|
33
|
+
# Loop `execute` until stopping its process on the other thread
|
34
|
+
# @param [Block] &block Yield the block after sleep @interval
|
35
|
+
# @return [Symbol] :finished
|
36
|
+
def execute_loop_thread(&block)
|
37
|
+
Thread.new { loop { execute(&block) } }
|
38
|
+
end
|
39
|
+
|
40
|
+
# @param [Thread] thread Kill the thread
|
41
|
+
def kill_thread(thread)
|
42
|
+
Thread.kill thread
|
43
|
+
end
|
44
|
+
|
45
|
+
# @return [Array[Thread]] Return a list running thread on the process
|
46
|
+
def thread_list
|
47
|
+
Thread.list
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Droid
|
2
|
+
module Monitor
|
3
|
+
class Executor
|
4
|
+
class Base
|
5
|
+
def execute(_timer)
|
6
|
+
raise NotImplementedError
|
7
|
+
end
|
8
|
+
|
9
|
+
def save
|
10
|
+
raise NotImplementedError
|
11
|
+
end
|
12
|
+
|
13
|
+
def kill
|
14
|
+
raise NotImplementedError
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
|
3
|
+
require './lib/droid/monitor/common/timer'
|
4
|
+
|
5
|
+
module Droid
|
6
|
+
module Monitor
|
7
|
+
class TimerTest < Test::Unit::TestCase
|
8
|
+
def test_timer
|
9
|
+
timer = Timer::Executor.new(0.1)
|
10
|
+
assert_equal(0.1, timer.interval)
|
11
|
+
|
12
|
+
thread_size = Thread.list.size
|
13
|
+
thread = timer.execute_loop_thread { 1 }
|
14
|
+
assert_equal(thread_size + 1, Thread.list.size)
|
15
|
+
assert_equal('run', thread.status)
|
16
|
+
|
17
|
+
timer.kill_thread thread
|
18
|
+
sleep 0.1
|
19
|
+
assert_equal(false, thread.status)
|
20
|
+
assert_equal(thread_size, Thread.list.size)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: droid-monitor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuaki MATSUO
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faml
|
@@ -104,8 +104,10 @@ files:
|
|
104
104
|
- droid-monitor.gemspec
|
105
105
|
- lib/droid/monitor.rb
|
106
106
|
- lib/droid/monitor/common/commons.rb
|
107
|
+
- lib/droid/monitor/common/timer.rb
|
107
108
|
- lib/droid/monitor/common/utils.rb
|
108
109
|
- lib/droid/monitor/cpu.rb
|
110
|
+
- lib/droid/monitor/executor/executor.rb
|
109
111
|
- lib/droid/monitor/gfxinfo.rb
|
110
112
|
- lib/droid/monitor/memory.rb
|
111
113
|
- lib/droid/monitor/net.rb
|
@@ -123,6 +125,7 @@ files:
|
|
123
125
|
- test/cpu_test.rb
|
124
126
|
- test/gfxinfo_test.rb
|
125
127
|
- test/memory_test.rb
|
128
|
+
- test/monitor/timer_test.rb
|
126
129
|
- test/monitor_test.rb
|
127
130
|
- test/net_test.rb
|
128
131
|
- test/run_test.rb
|
@@ -155,6 +158,7 @@ test_files:
|
|
155
158
|
- test/cpu_test.rb
|
156
159
|
- test/gfxinfo_test.rb
|
157
160
|
- test/memory_test.rb
|
161
|
+
- test/monitor/timer_test.rb
|
158
162
|
- test/monitor_test.rb
|
159
163
|
- test/net_test.rb
|
160
164
|
- test/run_test.rb
|