testability-driver-qt-sut-plugin 1.3.1 → 1.3.2
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/installer/extconf.rb +1 -1
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/action.rb +4 -4
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/application.rb +5 -2
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/attribute.rb +130 -91
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/configure_behaviour.rb +3 -3
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/events.rb +5 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/file_transfer.rb +40 -26
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/find.rb +1 -1
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/fps.rb +88 -71
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/gesture.rb +10 -10
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/infologger.rb +5 -5
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/key_press.rb +3 -3
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/method.rb +2 -2
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/multitouch.rb +2 -2
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/os.rb +4 -4
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/qt_api_method.rb +5 -5
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/record.rb +3 -3
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/screen_capture.rb +11 -11
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/settings.rb +8 -8
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/sut.rb +12 -12
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/synchronization.rb +7 -7
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/treewidgetitemcolumn.rb +1 -1
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/type_text.rb +1 -1
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/view_item.rb +1 -1
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/webkit.rb +126 -126
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/widget.rb +49 -29
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/group.rb +17 -21
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/qt.rb +4 -3
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/widget.rb +59 -86
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/application.rb +19 -17
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/group.rb +13 -10
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/widget.rb +38 -25
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/plugin.rb +6 -7
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/fixture_parameter.rb +1 -1
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/widget.rb +1 -4
- data/xml/template/qt.xml +1 -0
- metadata +28 -9
data/installer/extconf.rb
CHANGED
@@ -85,12 +85,12 @@ module MobyBehaviour
|
|
85
85
|
command.command_params( 'id' => id )
|
86
86
|
|
87
87
|
@sut.execute_command( command )
|
88
|
-
|
88
|
+
force_refresh(:id => get_application_id) if refresh
|
89
89
|
|
90
90
|
rescue Exception => e
|
91
91
|
|
92
92
|
$logger.behaviour "FAIL;Failed hover with refresh \"#{ refresh.to_s }\".;#{ identity };hover;"
|
93
|
-
|
93
|
+
raise e
|
94
94
|
|
95
95
|
end
|
96
96
|
|
@@ -133,12 +133,12 @@ module MobyBehaviour
|
|
133
133
|
command.command_params( 'id'=>id )
|
134
134
|
|
135
135
|
@sut.execute_command( command )
|
136
|
-
|
136
|
+
force_refresh(:id => get_application_id) if refresh
|
137
137
|
|
138
138
|
rescue Exception => e
|
139
139
|
|
140
140
|
$logger.behaviour "FAIL;Failed trigger with refresh \"#{ refresh.to_s }\".;#{ identity };trigger;"
|
141
|
-
|
141
|
+
raise e
|
142
142
|
|
143
143
|
end
|
144
144
|
|
data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/application.rb
CHANGED
@@ -47,11 +47,12 @@ module MobyBehaviour
|
|
47
47
|
#
|
48
48
|
module Application
|
49
49
|
|
50
|
-
|
51
50
|
@@__multitouch_operation = false
|
52
51
|
|
53
52
|
def multitouch_ongoing?
|
53
|
+
|
54
54
|
@@__multitouch_operation
|
55
|
+
|
55
56
|
end
|
56
57
|
|
57
58
|
# == description
|
@@ -239,6 +240,7 @@ module MobyBehaviour
|
|
239
240
|
# direction
|
240
241
|
# Symbol
|
241
242
|
# description: For future support
|
243
|
+
# example: -
|
242
244
|
#
|
243
245
|
# == returns
|
244
246
|
# NilClass
|
@@ -259,7 +261,8 @@ module MobyBehaviour
|
|
259
261
|
find_object_state = @sut.parameter[ :use_find_object, false ]
|
260
262
|
|
261
263
|
@sut.parameter[ :use_find_object ] = false
|
262
|
-
|
264
|
+
|
265
|
+
force_refresh
|
263
266
|
|
264
267
|
@sut.freeze
|
265
268
|
|
data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/attribute.rb
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
|
20
20
|
module MobyBehaviour
|
21
21
|
|
22
|
-
|
22
|
+
module QT
|
23
23
|
|
24
24
|
# == description
|
25
25
|
# Behaviours for handling attributes
|
@@ -42,11 +42,11 @@ module MobyBehaviour
|
|
42
42
|
# == objects
|
43
43
|
# *
|
44
44
|
#
|
45
|
-
|
45
|
+
module Attribute
|
46
46
|
|
47
|
-
|
47
|
+
include MobyBehaviour::QT::Behaviour
|
48
48
|
|
49
|
-
|
49
|
+
# == description
|
50
50
|
# Sets an attribute of the target object.
|
51
51
|
#
|
52
52
|
# == arguments
|
@@ -95,8 +95,8 @@ module MobyBehaviour
|
|
95
95
|
# default: nil
|
96
96
|
#
|
97
97
|
# == tables
|
98
|
-
|
99
|
-
|
98
|
+
# attribute_types_table
|
99
|
+
# title: Valid type argument values
|
100
100
|
# |Type|Example|
|
101
101
|
# |QRect|'10,10,150,150'|
|
102
102
|
# |QPoint|'100,200'|
|
@@ -114,7 +114,7 @@ module MobyBehaviour
|
|
114
114
|
# description: One of the arguments is not valid
|
115
115
|
# RuntimeError
|
116
116
|
# description: Setting of the attribute failed
|
117
|
-
|
117
|
+
def set_attribute( attribute, value, type = nil )
|
118
118
|
|
119
119
|
# verify attribute argument variable type
|
120
120
|
attribute.check_type [ Symbol, String ], 'wrong argument type $1 for attribute name (expected $2)'
|
@@ -131,131 +131,170 @@ module MobyBehaviour
|
|
131
131
|
type.not_empty 'argument type must be either nil or non empty string' if type.kind_of?( String )
|
132
132
|
|
133
133
|
# in qt_behaviour
|
134
|
-
|
134
|
+
command = command_params
|
135
135
|
|
136
|
-
|
136
|
+
command.transitions_off
|
137
137
|
|
138
|
-
|
138
|
+
command.command_name( 'SetAttribute' )
|
139
139
|
|
140
|
-
|
140
|
+
case type
|
141
141
|
|
142
|
-
|
142
|
+
when nil
|
143
143
|
|
144
|
-
|
144
|
+
# Implicit typing
|
145
145
|
|
146
|
-
|
147
|
-
|
148
|
-
|
146
|
+
# by class
|
147
|
+
if value.kind_of? Integer
|
148
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s.strip, 'attribute_type' => 'int'}
|
149
149
|
|
150
|
-
|
151
|
-
|
152
|
-
|
150
|
+
elsif value.kind_of? Date
|
151
|
+
temp_date = value.day.to_s << '.' << value.month.to_s << '.' << value.year.to_s
|
152
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => temp_date, 'attribute_type' => 'QDate' }
|
153
153
|
|
154
|
-
|
155
|
-
|
154
|
+
elsif value.kind_of? Time
|
155
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_i.to_s, 'attribute_type' => 'QDateTime' }
|
156
156
|
|
157
|
-
|
158
|
-
|
157
|
+
elsif value.kind_of? DateTime
|
158
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => Time.parse(value.to_s).to_i.to_s, 'attribute_type' => 'QDateTime' }
|
159
159
|
|
160
|
-
|
161
|
-
|
160
|
+
elsif value.kind_of? TrueClass
|
161
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s.downcase, 'attribute_type' => 'bool'}
|
162
162
|
|
163
|
-
|
164
|
-
|
163
|
+
elsif value.kind_of? FalseClass
|
164
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s.downcase, 'attribute_type' => 'bool'}
|
165
165
|
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
166
|
+
else
|
167
|
+
# by format
|
168
|
+
# if ( value.kind_of?( Integer ) || ( value.kind_of?( String ) && value.strip == value.strip.to_i.to_s ) )
|
169
|
+
if value.kind_of?( String ) && value.strip == value.strip.to_i.to_s
|
170
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s.strip, 'attribute_type' => 'int'}
|
171
171
|
|
172
|
-
|
173
|
-
|
172
|
+
elsif (value == true || value == false || (value.kind_of?(String) && (value.strip.downcase == "true" || value.strip.downcase == "false")))
|
173
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s.downcase, 'attribute_type' => 'bool'}
|
174
174
|
|
175
|
-
|
176
|
-
|
175
|
+
else
|
176
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s, 'attribute_type' => 'string'}
|
177
177
|
|
178
|
-
|
178
|
+
end
|
179
179
|
|
180
|
-
|
180
|
+
end
|
181
181
|
|
182
|
-
|
183
|
-
|
182
|
+
when "QRect"
|
183
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s, 'attribute_type' => 'QRect'}
|
184
184
|
|
185
|
-
|
186
|
-
|
185
|
+
when "QPoint"
|
186
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s, 'attribute_type' => 'QPoint'}
|
187
187
|
|
188
|
-
|
189
|
-
|
188
|
+
when "QSize"
|
189
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s, 'attribute_type' => 'QSize'}
|
190
190
|
|
191
|
-
|
191
|
+
when "QDateTime"
|
192
192
|
|
193
|
-
|
193
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_type' => 'QDateTime' }
|
194
194
|
|
195
|
-
|
196
|
-
|
195
|
+
if value.kind_of? String
|
196
|
+
params[ 'attribute_value' ] = value.to_s
|
197
197
|
|
198
|
-
|
199
|
-
|
198
|
+
elsif value.kind_of? Integer
|
199
|
+
params[ 'attribute_value' ] = value.to_s
|
200
200
|
|
201
|
-
|
202
|
-
|
201
|
+
elsif value.kind_of? Time
|
202
|
+
params[ 'attribute_value' ] = value.to_i.to_s
|
203
203
|
|
204
|
-
|
205
|
-
|
204
|
+
elsif value.kind_of? DateTime
|
205
|
+
params[ 'attribute_value' ] = Time.parse( value.to_s ).to_i.to_s
|
206
206
|
|
207
|
-
|
208
|
-
|
207
|
+
else
|
208
|
+
raise ArgumentError.new( "The value for QDateTime type attributes must be of type String, Integer, Time or DateTime, it was #{value.class.to_s}." )
|
209
209
|
|
210
|
-
|
210
|
+
end
|
211
211
|
|
212
|
-
|
212
|
+
when "QDate"
|
213
213
|
|
214
|
-
|
214
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_type' => 'QDate' }
|
215
215
|
|
216
|
-
|
217
|
-
|
216
|
+
if value.kind_of? String
|
217
|
+
params[ 'attribute_value' ] = value.to_s
|
218
218
|
|
219
|
-
|
220
|
-
|
221
|
-
|
219
|
+
elsif value.kind_of? Date
|
220
|
+
temp_date = value.day.to_s << '.' << value.month.to_s << '.' << value.year.to_s
|
221
|
+
params[ 'attribute_value' ] = temp_date
|
222
222
|
|
223
|
-
|
224
|
-
|
223
|
+
else
|
224
|
+
raise ArgumentError.new( "The value for QDate type attributes must be of type String or Date, it was #{value.class.to_s}." )
|
225
225
|
|
226
|
-
|
226
|
+
end
|
227
227
|
|
228
|
-
|
228
|
+
else
|
229
229
|
|
230
|
-
|
231
|
-
|
230
|
+
#puts "Unidentified.\nName: " << attribute.to_s << "\nValue: " << value.to_s << "\nType: " << type.to_s
|
231
|
+
params = { 'attribute_name' => attribute.to_s, 'attribute_value' => value.to_s, 'attribute_type' => type.to_s }
|
232
232
|
|
233
|
-
|
233
|
+
end
|
234
234
|
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
235
|
+
command.command_params( params )
|
236
|
+
command.service( 'objectManipulation' )
|
237
|
+
returnValue = @sut.execute_command( command )
|
238
|
+
|
239
|
+
returnValue = "OK"
|
240
|
+
begin
|
241
|
+
returnValue = @sut.execute_command( command )
|
242
|
+
rescue
|
243
|
+
$logger.behaviour "FAIL;Failed when calling method set_attribute with values attribute:#{attribute.to_s} value:#{value.to_s}.;#{identity};set_attribute;"
|
244
|
+
raise RuntimeError.new("Setting attribute '%s' to value '%s' failed with error: %s" % [attribute, value, returnValue])
|
245
|
+
end
|
246
|
+
|
247
|
+
$logger.behaviour "PASS;The method set_attribute was executed successfully with with values attribute:#{attribute.to_s} value:#{value.to_s}.;#{identity};set_attribute;"
|
248
|
+
|
249
|
+
nil
|
250
250
|
|
251
251
|
|
252
|
-
|
252
|
+
end
|
253
253
|
|
254
|
-
|
255
|
-
|
254
|
+
# == description
|
255
|
+
# Wrapper method to set test object's attribute value. See [link="#QtAttribute:set_attribute"]supported value argument types[/link] and [link="#attribute_types_table"]attribute types table[/link].\n\n
|
256
|
+
# Minimum number of required arguments is 2; attribute name and new value. Please see examples for correct call sequence.
|
257
|
+
#
|
258
|
+
# == arguments
|
259
|
+
# name
|
260
|
+
# String
|
261
|
+
# description: Attribute name
|
262
|
+
# example: "attribute_name"
|
263
|
+
# *arguments
|
264
|
+
# Array
|
265
|
+
# description: Attribute value and type
|
266
|
+
# example: ["0,0", "QPoint"]
|
267
|
+
#
|
268
|
+
# == returns
|
269
|
+
# NilClass
|
270
|
+
# description: -
|
271
|
+
# example: -
|
272
|
+
def []=( name, *arguments )
|
273
|
+
|
274
|
+
_argument_count = arguments.count
|
275
|
+
|
276
|
+
if _argument_count == 0 || _argument_count > 2
|
277
|
+
|
278
|
+
raise ArgumentError, "wrong number of arguments (#{ _argument_count } of 2)"
|
279
|
+
|
280
|
+
elsif _argument_count == 2
|
281
|
+
|
282
|
+
# set_attribute( name, arguments.last, arguments.first )
|
283
|
+
arguments.reverse!
|
284
|
+
|
285
|
+
end
|
286
|
+
|
287
|
+
# do magic
|
288
|
+
set_attribute( name, *arguments )
|
289
|
+
|
290
|
+
nil
|
291
|
+
|
292
|
+
end
|
256
293
|
|
294
|
+
# enable hooking for performance measurement & debug logging
|
295
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
257
296
|
|
258
|
-
|
297
|
+
end
|
259
298
|
|
260
|
-
|
299
|
+
end
|
261
300
|
end
|
@@ -228,7 +228,7 @@ module MobyBehaviour
|
|
228
228
|
rescue Exception => e
|
229
229
|
|
230
230
|
$logger.behaviour "FAIL;Failed to enable event logging. With event_list \"#{event_list};log_events"
|
231
|
-
|
231
|
+
raise e
|
232
232
|
|
233
233
|
end
|
234
234
|
|
@@ -253,7 +253,7 @@ module MobyBehaviour
|
|
253
253
|
rescue Exception => e
|
254
254
|
|
255
255
|
$logger.behaviour "FAIL;Failed to stop event logging.;stop_event_logging"
|
256
|
-
|
256
|
+
raise e
|
257
257
|
|
258
258
|
end
|
259
259
|
|
@@ -288,7 +288,7 @@ module MobyBehaviour
|
|
288
288
|
rescue Exception => e
|
289
289
|
|
290
290
|
$logger.behaviour "FAIL;Failed to configure logger. With params \"#{params_hash.to_s};configure_logger"
|
291
|
-
|
291
|
+
raise e
|
292
292
|
|
293
293
|
end
|
294
294
|
|
data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/file_transfer.rb
CHANGED
@@ -70,8 +70,9 @@ module MobyBehaviour
|
|
70
70
|
#
|
71
71
|
# == info
|
72
72
|
#
|
73
|
-
def delete_from_sut(arguments)
|
74
|
-
|
73
|
+
def delete_from_sut( arguments )
|
74
|
+
|
75
|
+
arguments.check_type Hash, "wrong argument type $1 for #{ __method__.to_s } method (expected $2)"
|
75
76
|
|
76
77
|
if arguments.include?( :file )
|
77
78
|
|
@@ -107,8 +108,8 @@ module MobyBehaviour
|
|
107
108
|
|
108
109
|
else
|
109
110
|
|
110
|
-
|
111
|
-
|
111
|
+
arguments.require_key :file, 'Argument $1 not found'
|
112
|
+
arguments.require_key :dir, 'Argument $1 not found'
|
112
113
|
|
113
114
|
end
|
114
115
|
|
@@ -137,8 +138,9 @@ module MobyBehaviour
|
|
137
138
|
#
|
138
139
|
# == info
|
139
140
|
#
|
140
|
-
def copy_from_sut(arguments)
|
141
|
-
|
141
|
+
def copy_from_sut( arguments )
|
142
|
+
|
143
|
+
arguments.check_type Hash, "wrong argument type $1 for #{ __method__.to_s } method (expected $2)"
|
142
144
|
|
143
145
|
device_path=arguments[ :from ].gsub('\\','/') if arguments.include?( :from )
|
144
146
|
|
@@ -169,8 +171,10 @@ module MobyBehaviour
|
|
169
171
|
end
|
170
172
|
return list_of_files
|
171
173
|
else
|
172
|
-
|
173
|
-
|
174
|
+
|
175
|
+
arguments.require_key :file, 'Argument $1 not found'
|
176
|
+
|
177
|
+
receive_file_from_device(file,File.join(arguments[ :to ],File.basename(file)))
|
174
178
|
|
175
179
|
end
|
176
180
|
end
|
@@ -200,13 +204,15 @@ module MobyBehaviour
|
|
200
204
|
# == info
|
201
205
|
#
|
202
206
|
def copy_to_sut(arguments)
|
203
|
-
|
204
|
-
|
207
|
+
|
208
|
+
arguments.check_type Hash, "wrong argument type $1 for #{ __method__.to_s } method (expected $2)"
|
209
|
+
|
210
|
+
arguments.require_key :to, 'Argument $1 not found'
|
205
211
|
|
206
212
|
begin
|
207
213
|
local_dir = Dir.new( arguments[ :from ] ) if arguments.include?( :from )
|
208
|
-
rescue Errno::ENOENT
|
209
|
-
|
214
|
+
rescue Errno::ENOENT
|
215
|
+
raise RuntimeError, "The source folder does not exist. Details:\n#{ $!.inspect }"
|
210
216
|
end
|
211
217
|
|
212
218
|
if arguments[ :file ]!=nil
|
@@ -220,7 +226,9 @@ module MobyBehaviour
|
|
220
226
|
fixture("file","mk_dir",{:file_name=>"#{arguments[ :to ]}"})
|
221
227
|
|
222
228
|
if arguments.include?( :file )==false
|
223
|
-
|
229
|
+
|
230
|
+
arguments.require_key :from, 'Argument $1 not found'
|
231
|
+
|
224
232
|
local_dir.entries.each do | local_file_or_subdir |
|
225
233
|
if !File.directory?( File.join( arguments[ :from ], local_file_or_subdir ) )
|
226
234
|
send_file_to_device(
|
@@ -249,10 +257,12 @@ module MobyBehaviour
|
|
249
257
|
end
|
250
258
|
end
|
251
259
|
else
|
252
|
-
|
260
|
+
|
261
|
+
arguments.require_key :file, 'Argument $1 not found'
|
262
|
+
|
253
263
|
fixture("file","mk_dir",{:file_name=>{:file_name=>arguments[ :to ]}})
|
254
264
|
send_file_to_device(
|
255
|
-
|
265
|
+
file,
|
256
266
|
File.join(arguments[ :to ],File.basename(file))
|
257
267
|
)
|
258
268
|
transfered_files << "#{arguments[ :to ]}/#{File.basename(file)}"
|
@@ -282,9 +292,12 @@ module MobyBehaviour
|
|
282
292
|
#
|
283
293
|
# == Info
|
284
294
|
#
|
285
|
-
def list_files_from_sut(arguments)
|
286
|
-
|
287
|
-
|
295
|
+
def list_files_from_sut( arguments )
|
296
|
+
|
297
|
+
arguments.check_type Hash, "wrong argument type $1 for #{ __method__.to_s } method (expected $2)"
|
298
|
+
|
299
|
+
arguments.require_key :from, 'Argument $1 not found'
|
300
|
+
|
288
301
|
device_path=arguments[ :from ].gsub('\\','/')
|
289
302
|
|
290
303
|
if arguments[ :file ]!=nil
|
@@ -306,7 +319,7 @@ module MobyBehaviour
|
|
306
319
|
FileUtils.mkdir_p File.dirname(local_file)
|
307
320
|
end
|
308
321
|
new_file = File.new(local_file, 'wb')
|
309
|
-
block_size =
|
322
|
+
block_size = sut_parameters[:qt_file_transfer_block_size].to_i
|
310
323
|
temp_size = block_size
|
311
324
|
offset = 0
|
312
325
|
while( temp_size == block_size )
|
@@ -318,6 +331,7 @@ module MobyBehaviour
|
|
318
331
|
temp_size = temp_data.size
|
319
332
|
offset = offset + temp_size
|
320
333
|
new_file.write(temp_data)
|
334
|
+
print "\r Downloaded #{offset} bytes of #{device_file}"
|
321
335
|
end
|
322
336
|
new_file.close
|
323
337
|
return local_file
|
@@ -325,11 +339,10 @@ module MobyBehaviour
|
|
325
339
|
|
326
340
|
def send_file_to_device(local_file, device_file)
|
327
341
|
fixture("file", "delete_file", {:file_name => device_file})
|
328
|
-
block_max_size =
|
342
|
+
block_max_size = sut_parameters[:qt_file_transfer_block_size].to_i
|
329
343
|
offset = 0
|
330
|
-
file_size = File.
|
331
|
-
|
332
|
-
file_to_be_sent = File.open(local_file,"rb")
|
344
|
+
file_size = File::Stat.new(local_file).size
|
345
|
+
file_to_be_sent = File.open(local_file,"rb")
|
333
346
|
while(offset < file_size)
|
334
347
|
block_size = file_size - offset
|
335
348
|
if(block_size > block_max_size)
|
@@ -345,13 +358,14 @@ module MobyBehaviour
|
|
345
358
|
:data_lenght=>buff.size} )
|
346
359
|
offset = offset + buff.size
|
347
360
|
end
|
361
|
+
print "\r Uploaded #{offset}/#{file_size} bytes of #{local_file}"
|
362
|
+
|
348
363
|
end
|
349
364
|
file_to_be_sent.close
|
350
365
|
end
|
351
366
|
|
352
|
-
|
353
|
-
|
354
|
-
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
367
|
+
# enable hooking for performance measurement & debug logging
|
368
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
355
369
|
|
356
370
|
|
357
371
|
end
|