rubotium 0.0.4 → 0.0.7

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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/bin/rubotium +4 -2
  4. data/lib/rubotium/adb/commands/command.rb +55 -0
  5. data/lib/rubotium/adb/commands/install_command.rb +19 -0
  6. data/lib/rubotium/adb/commands/instrument_command.rb +27 -0
  7. data/lib/rubotium/adb/commands/memory_command.rb +19 -0
  8. data/lib/rubotium/adb/commands/pull_command.rb +19 -0
  9. data/lib/rubotium/adb/commands/shell_command.rb +21 -0
  10. data/lib/rubotium/adb/commands/uninstall_command.rb +19 -0
  11. data/lib/rubotium/adb/commands.rb +7 -0
  12. data/lib/rubotium/adb/devices.rb +15 -6
  13. data/lib/rubotium/adb/parsers/procrank.rb +51 -0
  14. data/lib/rubotium/adb/parsers/single_test_result_parser.rb +61 -0
  15. data/lib/rubotium/adb/parsers/test_results_parser.rb +69 -0
  16. data/lib/rubotium/adb/parsers.rb +3 -0
  17. data/lib/rubotium/adb/test_result_parser.rb +5 -4
  18. data/lib/rubotium/adb.rb +3 -5
  19. data/lib/rubotium/apk/android_apk.rb +102 -0
  20. data/lib/rubotium/apk.rb +2 -2
  21. data/lib/rubotium/cmd.rb +1 -1
  22. data/lib/rubotium/device.rb +19 -33
  23. data/lib/rubotium/devices.rb +27 -14
  24. data/lib/rubotium/formatters/junit_formatter.rb +10 -11
  25. data/lib/rubotium/memory/data_point.rb +63 -0
  26. data/lib/rubotium/memory/monitor.rb +65 -0
  27. data/lib/rubotium/memory.rb +8 -0
  28. data/lib/rubotium/package.rb +7 -4
  29. data/lib/rubotium/runnable_test.rb +13 -0
  30. data/lib/rubotium/test_cases_reader.rb +32 -0
  31. data/lib/rubotium/test_result.rb +52 -0
  32. data/lib/rubotium/test_results.rb +18 -0
  33. data/lib/rubotium/test_runners/instrumentation_test_runner.rb +24 -0
  34. data/lib/rubotium/tests_runner.rb +80 -0
  35. data/lib/rubotium/version.rb +1 -1
  36. data/lib/rubotium.rb +54 -41
  37. data/rubotium.gemspec +0 -1
  38. data/spec/fixtures/adb_raw_result.rb +138 -0
  39. data/spec/fixtures/adb_raw_results.rb +153 -0
  40. data/spec/fixtures/adb_results.rb +4 -0
  41. data/spec/lib/rubotium/adb/adb_devices_spec.rb +43 -12
  42. data/spec/lib/rubotium/adb/adb_result_parser_spec.rb +22 -7
  43. data/spec/lib/rubotium/adb/adb_shell_spec.rb +11 -6
  44. data/spec/lib/rubotium/adb/parsers/procrank_spec.rb +61 -0
  45. data/spec/lib/rubotium/adb/parsers/single_test_result_parser_spec.rb +116 -0
  46. data/spec/lib/rubotium/adb/parsers/test_results_parser_spec.rb +108 -0
  47. data/spec/lib/rubotium/apk/android_apk_spec.rb +37 -0
  48. data/spec/lib/rubotium/apk/mock/BarcodeScanner4.2.apk +0 -0
  49. data/spec/lib/rubotium/apk/mock/UECExpress.apk +0 -0
  50. data/spec/lib/rubotium/apk/mock/dummy.apk +1 -0
  51. data/spec/lib/rubotium/apk/mock/sample.apk +0 -0
  52. data/spec/lib/rubotium/device_spec.rb +38 -0
  53. data/spec/lib/rubotium/devices_spec.rb +41 -24
  54. data/spec/lib/rubotium/memory/data_point_spec.rb +42 -0
  55. data/spec/lib/rubotium/memory/monitor_spec.rb +6 -0
  56. data/spec/lib/rubotium/tests_runner_spec.rb +47 -0
  57. data/spec/spec_helper.rb +2 -0
  58. data/test.rb +11 -0
  59. metadata +62 -41
  60. data/lib/rubotium/adb/command.rb +0 -21
  61. data/lib/rubotium/adb/install_command.rb +0 -17
  62. data/lib/rubotium/adb/instrumentation.rb +0 -36
  63. data/lib/rubotium/adb/uninstall_command.rb +0 -17
  64. data/lib/rubotium/apk/converter.rb +0 -22
  65. data/lib/rubotium/grouper.rb +0 -40
  66. data/lib/rubotium/jar_reader.rb +0 -70
  67. data/lib/rubotium/runable_test.rb +0 -11
  68. data/lib/rubotium/test_case.rb +0 -6
  69. data/lib/rubotium/test_suite.rb +0 -12
  70. data/spec/lib/rubotium/adb/adb_instrumentation_spec.rb +0 -32
  71. data/spec/lib/rubotium/grouper_spec.rb +0 -56
  72. data/spec/lib/rubotium/jar_reader_spec.rb +0 -58
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8d2713d08a8ec60ecaa7277615c145a5bbe436b
4
- data.tar.gz: 2ea6a4ca2872a4337a6ea47b34c54e00c6088550
3
+ metadata.gz: 72623c02c54541abecf0431da8b66994b1404a95
4
+ data.tar.gz: 25d93c5df3c122e59a6fe66f9d848c5be3744556
5
5
  SHA512:
6
- metadata.gz: 68954818a9d17051921527e42dbed48bd43ea3cdbd2ffe9559d7537098db79e96d016c710cbac99d0220b64378a82a65b5ee55f876b44cd92dfa3656e62c262f
7
- data.tar.gz: e9250e52f6aba83e0ec5c650a36a82a6e8cbeaa12ff05efe62dc74798e9d81bf7e23f7d1d4b0c73ff6ebfbee57019c03c6916f5e1dc06eac18c8184cdd7ce7b2
6
+ metadata.gz: f42c5267c1aba6a11a8d6e2b5b7d8c813a1690e3479544294847b4c91474e30ae65ec8407685e7bd0fa7c679c146d6cedb5787d5bbc28fefb71b28f2b5341926
7
+ data.tar.gz: edd630a22f94aa3004f3287b031a40bf3ada2de15e5db653c488016941d868cc44dd9f0e983eba2b5e1a8db96da9b1e8a512dd6e59c84c5e0c7e5d8d91bc3060
data/.gitignore CHANGED
@@ -11,6 +11,10 @@ doc/
11
11
  lib/bundler/man
12
12
  pkg
13
13
  rdoc
14
+ results
15
+ screens
16
+ logs
17
+ report.xml
14
18
  spec/reports
15
19
  test/tmp
16
20
  test/version_tmp
data/bin/rubotium CHANGED
@@ -10,7 +10,8 @@ opts = Trollop::options do
10
10
  opt :rerun, 'Retries count', :default => 0, :short => '-R'
11
11
  opt :out, 'Report file', :default => 'report.xml', :short => '-o'
12
12
  opt :device, 'Match devices', :type => :string, :short => '-d'
13
- opt :runner, 'Test runner', :type => :string, :short => 'r'
13
+ opt :runner, 'Test runner', :type => :string, :short => '-r'
14
+ opt :annotation, 'Run annotated tests', :type => :string, :short => '-n'
14
15
  end
15
16
 
16
17
  params = {
@@ -20,7 +21,8 @@ params = {
20
21
  :rerun_count => opts[:rerun],
21
22
  :report => opts[:out],
22
23
  :device_matcher => opts[:device],
23
- :runner => opts[:runner]
24
+ :runner => opts[:runner],
25
+ :annotation => opts[:annotation]
24
26
  }
25
27
 
26
28
  Rubotium.new(params)
@@ -0,0 +1,55 @@
1
+ module Rubotium
2
+ module Adb
3
+ module Commands
4
+ class Command
5
+ def initialize(device_serial)
6
+ @device_serial = device_serial
7
+ end
8
+
9
+ def install(apk_path)
10
+ execute(install_command(apk_path))
11
+ end
12
+
13
+ def uninstall(package_name)
14
+ execute(uninstall_command(package_name))
15
+ end
16
+
17
+ def pull(files_glob)
18
+ execute(pull_command(files_glob))
19
+ end
20
+
21
+ def shell(command)
22
+ execute(shell_command(command))
23
+ end
24
+
25
+ def execute(command_to_run)
26
+ puts "EXECUTING_COMMAND: #{adb_command} #{command_to_run.executable_command}"
27
+ CMD.run_command(adb_command + " " + command_to_run.executable_command)
28
+ end
29
+
30
+ private
31
+ attr_reader :device_serial
32
+
33
+ def adb_command
34
+ "adb -s #{device_serial} "
35
+ end
36
+
37
+ def install_command(apk_path)
38
+ Rubotium::Adb::Commands::InstallCommand.new(apk_path)
39
+ end
40
+
41
+ def uninstall_command(package_name)
42
+ Rubotium::Adb::Commands::UninstallCommand.new(package_name)
43
+ end
44
+
45
+ def pull_command(files_glob)
46
+ Rubotium::Adb::Commands::PullCommand.new(files_glob)
47
+ end
48
+
49
+ def shell_command(command)
50
+ Rubotium::Adb::Commands::ShellCommand.new(command)
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,19 @@
1
+ module Rubotium
2
+ module Adb
3
+ module Commands
4
+ class InstallCommand
5
+ COMMAND = 'install'
6
+ def initialize(apk_path)
7
+ @apk_path = apk_path
8
+ end
9
+
10
+ def executable_command
11
+ "#{COMMAND} #{apk_path}"
12
+ end
13
+
14
+ private
15
+ attr_reader :apk_path
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,27 @@
1
+ module Rubotium
2
+ module Adb
3
+ module Commands
4
+ class InstrumentCommand
5
+ COMMAND = 'am instrument -w -e class'
6
+ def initialize(package_name, test_name, test_package_name, test_runner)
7
+ @package_name = package_name
8
+ @test_name = test_name
9
+ @test_package_name = test_package_name
10
+ @test_runner = test_runner
11
+ end
12
+
13
+ def executable_command
14
+ [COMMAND, ].join(' ')
15
+ end
16
+
17
+ private
18
+
19
+ attr_reader :package_name
20
+
21
+ def test_case
22
+ [package_name, test_name].join('#')
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,19 @@
1
+ module Rubotium
2
+ module Adb
3
+ module Commands
4
+ class MemoryCommand
5
+ COMMAND = 'procrank'
6
+ def initialize(application_package_name)
7
+ @application_package_name = application_package_name
8
+ end
9
+
10
+ def executable_command
11
+ "#{COMMAND} | grep #{application_package_name}"
12
+ end
13
+
14
+ private
15
+ attr_reader :application_package_name
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Rubotium
2
+ module Adb
3
+ module Commands
4
+ class PullCommand
5
+ COMMAND = 'pull'
6
+ def initialize(path)
7
+ @path = path
8
+ end
9
+
10
+ def executable_command
11
+ "#{COMMAND} #{path}"
12
+ end
13
+
14
+ private
15
+ attr_reader :path
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ module Rubotium
2
+ module Adb
3
+ module Commands
4
+ class ShellCommand
5
+ COMMAND = 'shell'
6
+
7
+ def initialize(command)
8
+ @command = command
9
+ end
10
+
11
+ def executable_command
12
+ "#{COMMAND} #{command}"
13
+ end
14
+
15
+ private
16
+
17
+ attr_reader :command
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ module Rubotium
2
+ module Adb
3
+ module Commands
4
+ class UninstallCommand
5
+ COMMAND = 'uninstall'
6
+ def initialize(package_name)
7
+ @package_name = package_name
8
+ end
9
+
10
+ def executable_command
11
+ "#{COMMAND} #{package_name}"
12
+ end
13
+
14
+ private
15
+ attr_reader :package_name
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,7 @@
1
+ require_relative 'commands/command'
2
+ require_relative 'commands/install_command'
3
+ require_relative 'commands/instrument_command'
4
+ require_relative 'commands/memory_command'
5
+ require_relative 'commands/pull_command'
6
+ require_relative 'commands/shell_command'
7
+ require_relative 'commands/uninstall_command'
@@ -1,15 +1,24 @@
1
1
  module Rubotium
2
2
  module Adb
3
3
  class Devices
4
- attr_reader :list
5
4
 
6
- def initialize
7
- @list = parse(CMD.run_command('adb devices',{ :timeout => 5 } ))
5
+ def attached
6
+ parse.map{|device_serial|
7
+ create_device(device_serial)
8
+ }
8
9
  end
9
10
 
10
11
  private
11
- def parse result
12
- list = result.split("\n")
12
+ def create_device(device_serial)
13
+ Device.new(device_serial)
14
+ end
15
+
16
+ def adb_devices_command
17
+ CMD.run_command('adb devices', { :timeout => 5 } )
18
+ end
19
+
20
+ def parse
21
+ list = adb_devices_command.split("\n")
13
22
  list.shift
14
23
  attached_devices list
15
24
  end
@@ -22,4 +31,4 @@ module Rubotium
22
31
  end
23
32
  end
24
33
  end
25
- end
34
+ end
@@ -0,0 +1,51 @@
1
+ require 'ostruct'
2
+ module Rubotium
3
+ module Adb
4
+ module Parsers
5
+ class Procrank
6
+
7
+ DEFAULT_RESULT = [0, 0, 0, 0, 0, '']
8
+
9
+ def initialize(result)
10
+ @result = result
11
+ end
12
+
13
+ def parse
14
+ OpenStruct.new(:pid => pid, :vss => vss, :rss => rss, :pss => pss, :uss => uss, :cmdline => cmdline)
15
+ end
16
+
17
+ private
18
+
19
+ attr_reader :result
20
+ def pid
21
+ split.first.to_i
22
+ end
23
+
24
+ def vss
25
+ split[1].to_i
26
+ end
27
+
28
+ def rss
29
+ split[2].to_i
30
+ end
31
+
32
+ def pss
33
+ split[3].to_i
34
+ end
35
+
36
+ def uss
37
+ split[4].to_i
38
+ end
39
+
40
+ def cmdline
41
+ split[-1]
42
+ end
43
+
44
+ def split
45
+ @split ||= result.empty? ? DEFAULT_RESULT : result.split
46
+ end
47
+
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,61 @@
1
+ module Rubotium
2
+ module Adb
3
+ module Parsers
4
+ class SingleTestResultParser
5
+ STATUS_CODE_PATTERN = Regexp.new('.*INSTRUMENTATION_STATUS_CODE: (-?\d)$', Regexp::MULTILINE)
6
+ STACK_TRACE__PATTERN = Regexp.new('INSTRUMENTATION_STATUS: stack=(.*)INSTRUMENTATION_STATUS:', Regexp::MULTILINE)
7
+ TEST_NAME_PATTERN = Regexp.new('INSTRUMENTATION_STATUS: test=(.*)$')
8
+ CLASS_NAME_PATTERN = Regexp.new('INSTRUMENTATION_STATUS: class=(.*)$')
9
+ ERROR_STATUS = 'ERROR'
10
+ FAIL_STATUS = 'FAIL'
11
+ OK_STATUS = 'OK'
12
+
13
+ attr_reader :result, :stack_trace, :time, :error_message, :status, :package_name
14
+
15
+ def initialize(test_result)
16
+ @result = test_result
17
+ end
18
+
19
+ def class_name
20
+ match_class_name.strip
21
+ end
22
+
23
+ def test_name
24
+ match_test_name.strip
25
+ end
26
+
27
+ def failed?
28
+ result[STATUS_CODE_PATTERN, 1] == '-2'
29
+ end
30
+
31
+ def passed?
32
+ result[STATUS_CODE_PATTERN, 1] == '0'
33
+ end
34
+
35
+ def errored?
36
+ result[STATUS_CODE_PATTERN, 1] == '-1'
37
+ end
38
+
39
+ def stack_trace
40
+ match_stack_trace.strip
41
+ end
42
+
43
+ private
44
+
45
+ attr_reader :result
46
+
47
+ def match_class_name
48
+ result[CLASS_NAME_PATTERN, 1]
49
+ end
50
+
51
+ def match_test_name
52
+ result[TEST_NAME_PATTERN, 1]
53
+ end
54
+
55
+ def match_stack_trace
56
+ result[STACK_TRACE__PATTERN, 1] || ''
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,69 @@
1
+ module Rubotium
2
+ module Adb
3
+ module Parsers
4
+ class TestResultsParser
5
+ PATTERN = Regexp.new('(INSTRUMENTATION_STATUS_CODE: 1.*?INSTRUMENTATION_STATUS_CODE: -?\d)', Regexp::MULTILINE)
6
+ TIME_PATTERN = Regexp.new('Time: (.*)')
7
+ SHORT_MESSAGE_PATTERN = Regexp.new('INSTRUMENTATION_RESULT: shortMsg=(.*)')
8
+ LONG_MESSAGE_PATTERN = Regexp.new('INSTRUMENTATION_RESULT: longMsg=(.*)')
9
+ ERROR_MESSAGE_PATTERN = Regexp.new('INSTRUMENTATION_STATUS: Error=(.*)')
10
+
11
+ def initialize(results)
12
+ @results = results
13
+ end
14
+
15
+ def test_results
16
+ tests.map{|result|
17
+ create_single_test_result_parser(result)
18
+ }
19
+ end
20
+
21
+ def count
22
+ tests.count
23
+ end
24
+
25
+ def failed?
26
+ count == 0
27
+ end
28
+
29
+ def successful?
30
+ count > 0
31
+ end
32
+
33
+ def time
34
+ match_time.strip
35
+ end
36
+
37
+ def message
38
+ [error_message, short_message, long_message].compact.join("\n")
39
+ end
40
+
41
+ private
42
+ attr_reader :results
43
+ def tests
44
+ @tests ||= results.scan(PATTERN).flatten
45
+ end
46
+
47
+ def match_time
48
+ results[TIME_PATTERN, 1] || '0'
49
+ end
50
+
51
+ def error_message
52
+ results[ERROR_MESSAGE_PATTERN, 1]
53
+ end
54
+
55
+ def short_message
56
+ results[SHORT_MESSAGE_PATTERN, 1]
57
+ end
58
+
59
+ def long_message
60
+ results[LONG_MESSAGE_PATTERN, 1]
61
+ end
62
+
63
+ def create_single_test_result_parser(result)
64
+ Rubotium::Adb::Parsers::SingleTestResultParser.new(result)
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,3 @@
1
+ require_relative 'parsers/procrank'
2
+ require_relative 'parsers/test_results_parser'
3
+ require_relative 'parsers/single_test_result_parser'
@@ -7,10 +7,11 @@ module Rubotium
7
7
 
8
8
  attr_reader :result, :stack_trace, :time, :error_message, :status, :package_name, :test_name
9
9
 
10
- def initialize(result, package_name, test_name)
10
+ def initialize(result, runnable, device_name)
11
+ @device = device_name
11
12
  @result = result
12
- @package_name = package_name
13
- @test_name = test_name
13
+ @package_name = runnable.package_name
14
+ @test_name = runnable.test_name
14
15
  parse
15
16
  end
16
17
 
@@ -84,4 +85,4 @@ module Rubotium
84
85
  end
85
86
  end
86
87
  end
87
- end
88
+ end
data/lib/rubotium/adb.rb CHANGED
@@ -1,13 +1,11 @@
1
- require_relative 'adb/command'
2
- require_relative 'adb/install_command'
3
- require_relative 'adb/uninstall_command'
1
+ require_relative 'adb/commands'
4
2
  require_relative 'adb/devices'
5
3
  require_relative 'adb/test_result_parser'
6
4
  require_relative 'adb/shell'
7
- require_relative 'adb/instrumentation'
5
+ require_relative 'adb/parsers'
8
6
 
9
7
  module Rubotium
10
8
  module Adb
11
9
 
12
10
  end
13
- end
11
+ end
@@ -0,0 +1,102 @@
1
+ require "tmpdir"
2
+ require "pp"
3
+ module Rubotium
4
+ module Apk
5
+ require "tmpdir"
6
+ require "pp"
7
+ class AndroidApk
8
+ attr_accessor :results,:label,:labels,:icon,:icons,:package_name,:version_code,:version_name,:sdk_version,:target_sdk_version,:filepath
9
+ def initialize(path_to_apk)
10
+ @path = path_to_apk
11
+ raise(Errno::ENOENT, "File does not exist") unless File.exist?(@path)
12
+ end
13
+
14
+ def package_name
15
+ parsed_aapt['package']['name']
16
+ end
17
+
18
+ def icon
19
+
20
+ end
21
+
22
+ def results
23
+ command = "aapt dump badging \"" + @path + "\" 2>&1"
24
+ results = `#{command}`
25
+ if $?.exitstatus != 0 or results.index("ERROR: dump failed")
26
+ raise(RuntimeError, results)
27
+ end
28
+ @results ||= results
29
+ end
30
+
31
+ def parsed_aapt
32
+ vars = Hash.new
33
+ results.split("\n").each do |line|
34
+ key, value = _parse_line(line)
35
+ next if key.nil?
36
+ if vars.key?(key)
37
+ if (vars[key].is_a?(Hash) and value.is_a?(Hash))
38
+ vars[key].merge(value)
39
+ else
40
+ vars[key] = [vars[key]] unless (vars[key].is_a?(Array))
41
+ if (value.is_a?(Array))
42
+ vars[key].concat(value)
43
+ else
44
+ vars[key].push(value)
45
+ end
46
+ end
47
+ else
48
+ vars[key] = value.nil? ? nil :
49
+ (value.is_a?(Hash) ? value :
50
+ (value.length > 1 ? value : value[0]))
51
+ end
52
+ end
53
+ return vars
54
+ end
55
+
56
+ def _parse_values(str)
57
+ return nil if str.nil?
58
+ if str.index("='")
59
+ # key-value hash
60
+ vars = Hash[str.scan(/(\S+)='((?:\\'|[^'])*)'/)]
61
+ vars.each_value {|v| v.gsub(/\\'/, "'")}
62
+ else
63
+ # values array
64
+ vars = str.scan(/'((?:\\'|[^'])*)'/).map{|v| v[0].gsub(/\\'/, "'")}
65
+ end
66
+ return vars
67
+ end
68
+
69
+ def _parse_line(line)
70
+ return nil if line.nil?
71
+ info = line.split(":", 2)
72
+ return info[0], _parse_values( info[1] )
73
+ end
74
+
75
+ def self._parse_aapt(results)
76
+ vars = Hash.new
77
+ results.split("\n").each do |line|
78
+ key, value = _parse_line(line)
79
+ next if key.nil?
80
+ if vars.key?(key)
81
+ if (vars[key].is_a?(Hash) and value.is_a?(Hash))
82
+ vars[key].merge(value)
83
+ else
84
+ vars[key] = [vars[key]] unless (vars[key].is_a?(Array))
85
+ if (value.is_a?(Array))
86
+ vars[key].concat(value)
87
+ else
88
+ vars[key].push(value)
89
+ end
90
+ end
91
+ else
92
+ vars[key] = value.nil? ? nil :
93
+ (value.is_a?(Hash) ? value :
94
+ (value.length > 1 ? value : value[0]))
95
+ end
96
+ end
97
+ return vars
98
+ end
99
+ end
100
+
101
+ end
102
+ end
data/lib/rubotium/apk.rb CHANGED
@@ -1,7 +1,7 @@
1
- require_relative 'apk/converter'
1
+ require_relative 'apk/android_apk'
2
2
 
3
3
  module Rubotium
4
4
  module Apk
5
5
 
6
6
  end
7
- end
7
+ end
data/lib/rubotium/cmd.rb CHANGED
@@ -5,7 +5,7 @@ module Rubotium
5
5
  def run_command(command_to_run, opts = {})
6
6
  begin
7
7
  Timeout::timeout(opts[:timeout] || 10 * 60) {
8
- puts "[EXECUTING]: #{command_to_run}" if ENV['DEBUG']
8
+ Rubotium.logger.debug "[EXECUTING]: #{command_to_run}"
9
9
  `#{command_to_run}`
10
10
  }
11
11
  rescue Timeout::Error