testability-driver-runner 1.0.2 → 1.0.3
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.
- data/lib/tdrunner.rb +48 -16
- data/lib/tdrunner_command_tool.rb +137 -0
- metadata +5 -4
data/lib/tdrunner.rb
CHANGED
@@ -20,6 +20,7 @@
|
|
20
20
|
|
21
21
|
require File.expand_path( File.join( File.dirname( __FILE__ ), 'tdrunner_monitor' ) )
|
22
22
|
require File.expand_path( File.join( File.dirname( __FILE__ ), 'tdrunner_profile' ) )
|
23
|
+
require File.expand_path( File.join( File.dirname( __FILE__ ), 'tdrunner_command_tool' ) )
|
23
24
|
require 'yaml'
|
24
25
|
|
25
26
|
#Sophisticated Interface for Running Random Automation
|
@@ -49,7 +50,9 @@ module TDRunner
|
|
49
50
|
elsif args[0]=='--version'
|
50
51
|
puts '1.0.0'
|
51
52
|
elsif args[0]=='--websi'
|
52
|
-
start_websi()
|
53
|
+
start_websi(args[1, args.size])
|
54
|
+
elsif args[0]=='--cmd'
|
55
|
+
tool = TDRunnerCommandTool.new(args[1, args.size])
|
53
56
|
elsif args[0]=='-p'
|
54
57
|
profile = TDRunnerProfileLoader.new(args)
|
55
58
|
tdrunner_profiles=profile.get_execution_profiles
|
@@ -63,8 +66,9 @@ module TDRunner
|
|
63
66
|
start_tdrunner(args)
|
64
67
|
end
|
65
68
|
end
|
69
|
+
|
66
70
|
#Start tdrunner web UI
|
67
|
-
def start_websi()
|
71
|
+
def start_websi(args=[])
|
68
72
|
websi_dir=[]
|
69
73
|
tdrunner_location=File.dirname(__FILE__)
|
70
74
|
websi_dir_arr=tdrunner_location.split('/')
|
@@ -74,11 +78,12 @@ module TDRunner
|
|
74
78
|
websi_path=websi_dir.join('/')
|
75
79
|
begin
|
76
80
|
Dir.chdir(websi_path+'/websi')
|
77
|
-
system
|
81
|
+
system("ruby", "script/server", *args)
|
78
82
|
rescue
|
79
83
|
ensure
|
80
84
|
end
|
81
85
|
end
|
86
|
+
|
82
87
|
#Executes the tdrunner command
|
83
88
|
#Loads the tdrunner command parameters in to memory for test execution control
|
84
89
|
def execute_test_unit_tests(test_parameters)
|
@@ -180,7 +185,8 @@ module TDRunner
|
|
180
185
|
puts 'tdrunner -e my_execution_profile my_test_folder'
|
181
186
|
puts 'tdrunner --ordered -e my_execution_profile my_test_folder'
|
182
187
|
puts ''
|
183
|
-
puts 'Create a execution profile of all Test::Unit tests which failed when tests were
|
188
|
+
puts 'Create a execution profile of all Test::Unit tests which failed when tests were'
|
189
|
+
puts 'run using an execution profile:'
|
184
190
|
puts 'tdrunner -t my_failed_test_cases.sip -e my_execution_profile my_test_case_folder'
|
185
191
|
puts ''
|
186
192
|
puts 'Runs tests using a predefined profiles:'
|
@@ -191,18 +197,44 @@ module TDRunner
|
|
191
197
|
puts 'tdrunner -c C:/tdriver_reports/test_run_yyyyddmmhhss my_test_suite_folder'
|
192
198
|
puts ''
|
193
199
|
puts ''
|
194
|
-
|
195
|
-
puts "
|
196
|
-
|
197
|
-
puts "
|
198
|
-
puts "\t
|
199
|
-
|
200
|
-
puts "\
|
201
|
-
|
202
|
-
puts "
|
203
|
-
puts "\t
|
204
|
-
|
205
|
-
puts "
|
200
|
+
|
201
|
+
puts "-H i\t\tDefines how many hours tdrunner will run i as number of hours."
|
202
|
+
|
203
|
+
puts "-i i\t\tDefines how many iterations tdrunner will run the tests i as"
|
204
|
+
puts "\t\tnumber of iterations."
|
205
|
+
|
206
|
+
puts "-d \"date time\"\tDefines end date and time when tdrunner will stop testing"
|
207
|
+
|
208
|
+
puts "-e execution_profile"
|
209
|
+
puts "\t\tUse execution profile for running tests"
|
210
|
+
|
211
|
+
puts "-m execution_profile"
|
212
|
+
puts "\t\tCreate execution profile without running tests"
|
213
|
+
|
214
|
+
puts "-t execution_profile"
|
215
|
+
puts "\t\tCreate execution profile of failed Test::Unit tests"
|
216
|
+
|
217
|
+
puts "--cmd sut sut_id httpd server_port [usb powerup|powerdown|reset] [status]"
|
218
|
+
puts "\t\tProbe status of given sut and given httpd server."
|
219
|
+
puts "\t\t(Used by tdrunner_ui.)"
|
220
|
+
puts "--cmd sut sut_id usb powerup|powerdown|reset"
|
221
|
+
puts "\t\tPerform given usb command using given sut."
|
222
|
+
puts "\t\t(Used by tdrunner_ui.)"
|
223
|
+
|
224
|
+
puts "--teardown\tRun test unit teardown only when the testcase is failed."
|
225
|
+
|
226
|
+
puts "--ordered\tUse with execution profile to run tests as they are ordered"
|
227
|
+
puts "\t\tin the sip file."
|
228
|
+
|
229
|
+
puts "--websi [optional arguments]"
|
230
|
+
puts "\t\tStarts tdrunner web interface, by default at URL"
|
231
|
+
puts "\t\thttp://localhost:3000/websi/"
|
232
|
+
|
233
|
+
puts "-p profile_name\tPull commandline arguments from tdrunner.yml which can be"
|
234
|
+
puts "\t\tdefined as strings or arrays."
|
235
|
+
|
236
|
+
puts "--version\tShow version."
|
237
|
+
puts "-h, --help\tYou're looking at it."
|
206
238
|
end
|
207
239
|
end
|
208
240
|
end
|
@@ -0,0 +1,137 @@
|
|
1
|
+
############################################################################
|
2
|
+
##
|
3
|
+
## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
|
4
|
+
## All rights reserved.
|
5
|
+
## Contact: Nokia Corporation (testabilitydriver@nokia.com)
|
6
|
+
##
|
7
|
+
## This file is part of Testability Driver.
|
8
|
+
##
|
9
|
+
## If you have questions regarding the use of this file, please contact
|
10
|
+
## Nokia at testabilitydriver@nokia.com .
|
11
|
+
##
|
12
|
+
## This library is free software; you can redistribute it and/or
|
13
|
+
## modify it under the terms of the GNU Lesser General Public
|
14
|
+
## License version 2.1 as published by the Free Software Foundation
|
15
|
+
## and appearing in the file LICENSE.LGPL included in the packaging
|
16
|
+
## of this file.
|
17
|
+
##
|
18
|
+
############################################################################
|
19
|
+
|
20
|
+
require 'tdriver'
|
21
|
+
|
22
|
+
module TDRunner
|
23
|
+
#TDRunner monitor module for controlling the SIERRA execution
|
24
|
+
class TDRunnerCommandTool
|
25
|
+
def initialize(args)
|
26
|
+
@sut_arg = ""
|
27
|
+
@httpd_port = 0
|
28
|
+
|
29
|
+
while not args.empty?
|
30
|
+
|
31
|
+
case arg=args.shift
|
32
|
+
|
33
|
+
when 'httpd' then
|
34
|
+
@httpd_port = args.shift.to_i
|
35
|
+
|
36
|
+
when 'sut' then
|
37
|
+
@sut_arg = args.shift
|
38
|
+
|
39
|
+
when 'usb' then
|
40
|
+
raise "Argument error: sut must be given before 'usb' command" if @sut_arg.empty?
|
41
|
+
|
42
|
+
case arg2=args.shift
|
43
|
+
|
44
|
+
when 'powerup'
|
45
|
+
uperror = ""
|
46
|
+
begin
|
47
|
+
sut = TDriver.sut(:Id => @sut_arg)
|
48
|
+
sut.power_up
|
49
|
+
rescue
|
50
|
+
uperror = " ERROR (#{$!.to_s.gsub(/\s+/, ' ')})"
|
51
|
+
end
|
52
|
+
puts "USB: Power up"+uperror
|
53
|
+
|
54
|
+
when 'powerdown'
|
55
|
+
downerror = ""
|
56
|
+
begin
|
57
|
+
sut = TDriver.sut(:Id => @sut_arg)
|
58
|
+
sut.power_down
|
59
|
+
rescue
|
60
|
+
downerror = " ERROR (#{$!.to_s.gsub(/\s+/, ' ')})"
|
61
|
+
end
|
62
|
+
puts "USB: Power down"+downerror
|
63
|
+
|
64
|
+
when arg+' '+'reset'
|
65
|
+
sut = TDriver.sut(:Id => @sut_arg)
|
66
|
+
sut.reset
|
67
|
+
|
68
|
+
else
|
69
|
+
raise "Argument error: Unrecognized 'usb' subcommand '#{arg2}'"
|
70
|
+
|
71
|
+
end
|
72
|
+
# end of main command 'usb'
|
73
|
+
|
74
|
+
when 'status'
|
75
|
+
if not @sut_arg.empty?
|
76
|
+
sut = TDriver.sut(:Id => @sut_arg)
|
77
|
+
puts "Selected SUT: #{@sut_arg}"
|
78
|
+
|
79
|
+
STDOUT.sync
|
80
|
+
sutstatus=''
|
81
|
+
begin
|
82
|
+
sut.refresh
|
83
|
+
sutstatus="OK"
|
84
|
+
rescue
|
85
|
+
sutstatus = "ERROR (#{$!.to_s.gsub(/\s+/, ' ')})"
|
86
|
+
end
|
87
|
+
puts "SUT connection: #{sutstatus}"
|
88
|
+
else
|
89
|
+
puts "Selected SUT: N/A"
|
90
|
+
puts "SUT connection: N/A"
|
91
|
+
end
|
92
|
+
|
93
|
+
# note: in tdrunner_gui, '?' also has the special meaning of not updating existing value in status display
|
94
|
+
# if line below is changed, tdrunner_gui code needs to be changed accordingly
|
95
|
+
puts "USB: ?"
|
96
|
+
|
97
|
+
STDOUT.sync
|
98
|
+
sutlist=''
|
99
|
+
#paramfilename = '/etc/tdriver/tdriver_params.xml'
|
100
|
+
begin
|
101
|
+
#paramfile = File.new(paramfilename)
|
102
|
+
#sutlist = paramfile.readlines.join.scan(/<sut +id *= *"([^"]+)"/).map{|i| i[0]}.join(' ')
|
103
|
+
sutlist = MobyUtil::ParameterXml.instance.sut_list.reject { |item| item.to_s == 'sut_generic' }.join(' ')
|
104
|
+
rescue
|
105
|
+
#sutlist = "Failed to read '#{paramfilename}': #{$!.to_s.gsub(/\s+/, ' ')}"
|
106
|
+
sutlist = "ERROR (#{$!.to_s.gsub(/\s+/, ' ')})"
|
107
|
+
end
|
108
|
+
puts "Available SUTs: #{sutlist}"
|
109
|
+
# end of main command 'status'
|
110
|
+
|
111
|
+
if @httpd_port > 0
|
112
|
+
httpd_str = "N/A"
|
113
|
+
|
114
|
+
if require('net/http')
|
115
|
+
uri = URI.parse("http://localhost:#{@httpd_port}/")
|
116
|
+
begin
|
117
|
+
response = Net::HTTP.get_response(uri)
|
118
|
+
httpd_str = "ALIVE (#{uri})"
|
119
|
+
rescue
|
120
|
+
httpd_str = "FAILED (#{uri})"
|
121
|
+
end
|
122
|
+
else
|
123
|
+
httpd_str = "ERROR (required ruby gem status: net/http:#{req1} uri:#{req2})"
|
124
|
+
end
|
125
|
+
|
126
|
+
puts "HTTPD: #{httpd_str}"
|
127
|
+
end #httpd status
|
128
|
+
|
129
|
+
else
|
130
|
+
raise "Argument error: Unrecognized command '#{arg}'"
|
131
|
+
end
|
132
|
+
|
133
|
+
end
|
134
|
+
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testability-driver-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 3
|
10
|
+
version: 1.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Testability Driver team
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-01-
|
18
|
+
date: 2011-01-25 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- bin/sierra
|
94
94
|
- bin/tdrunner
|
95
95
|
- lib/tdrunner_test_unit.rb
|
96
|
+
- lib/tdrunner_command_tool.rb
|
96
97
|
- lib/tdrunner.rb
|
97
98
|
- lib/tdrunner_cucumber_runners.rb
|
98
99
|
- lib/tdrunner_file_finder.rb
|