testability-driver 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/bin/start_app_perf +6 -6
  2. data/lib/tdriver-devtools/behaviour/xml/rdoc_behaviour_xml_generator.rb +4 -4
  3. data/lib/tdriver-devtools/doc/xslt/template.xsl +103 -21
  4. data/lib/tdriver/base/behaviour/behaviours/object_behaviour_description.rb +1 -1
  5. data/lib/tdriver/base/command_data/loader.rb +6 -2
  6. data/lib/tdriver/base/loader.rb +21 -14
  7. data/lib/tdriver/base/state_object.rb +1 -1
  8. data/lib/tdriver/base/sut/controller.rb +8 -2
  9. data/lib/tdriver/base/sut/generic/behaviours/sut.rb +103 -46
  10. data/lib/tdriver/base/sut/generic/behaviours/switchbox_behaviour.rb +2 -2
  11. data/lib/tdriver/base/sut/generic/behaviours/verification.rb +1 -1
  12. data/lib/tdriver/base/sut/generic/commands/application.rb +18 -278
  13. data/lib/tdriver/base/sut/generic/commands/key_sequence.rb +1 -1
  14. data/lib/tdriver/base/sut/sut.rb +1 -1
  15. data/lib/tdriver/base/test_object/abstract.rb +1 -1
  16. data/lib/tdriver/base/test_object/adapter.rb +4 -1
  17. data/lib/tdriver/base/test_object/behaviours/syncronization.rb +3 -3
  18. data/lib/tdriver/base/test_object/behaviours/test_object.rb +61 -24
  19. data/lib/tdriver/base/test_object/cache.rb +6 -4
  20. data/lib/tdriver/base/test_object/factory.rb +4 -2
  21. data/lib/tdriver/base/test_object/loader.rb +23 -14
  22. data/lib/tdriver/base/test_object/xml/abstraction.rb +63 -0
  23. data/lib/tdriver/base/test_object/xml/adapter.rb +4 -1
  24. data/lib/tdriver/report/report_test_run.rb +1 -1
  25. data/lib/tdriver/report/report_writer.rb +4 -3
  26. data/lib/tdriver/util/common/boolean.rb +10 -13
  27. data/lib/tdriver/util/common/environment.rb +8 -7
  28. data/lib/tdriver/util/common/hash.rb +5 -5
  29. data/lib/tdriver/util/common/numeric.rb +5 -5
  30. data/lib/tdriver/util/common/object.rb +3 -3
  31. data/lib/tdriver/util/common/retryable.rb +65 -2
  32. data/lib/tdriver/util/common/string.rb +4 -4
  33. data/lib/tdriver/util/database/access.rb +9 -11
  34. data/lib/tdriver/util/fixture/service.rb +54 -0
  35. data/lib/tdriver/util/localisation/localisation.rb +3 -2
  36. data/lib/tdriver/util/logger/logger.rb +55 -41
  37. data/lib/tdriver/util/parameter/parameter.rb +38 -7
  38. data/lib/tdriver/util/xml/abstraction.rb +8 -8
  39. data/lib/tdriver/util/xml/builder.rb +1 -1
  40. data/lib/tdriver/util/xml/xml.rb +11 -11
  41. data/lib/tdriver/verify/verify.rb +33 -36
  42. data/lib/tdriver/version.rb +1 -1
  43. data/xml/defaults/sut_generic.xml +1 -29
  44. data/xml/templates/generic.xml +28 -0
  45. metadata +48 -17
@@ -54,7 +54,7 @@ class Numeric
54
54
  if negative?
55
55
 
56
56
  # replace macros
57
- message.gsub!( '$1', self.inspect )
57
+ message.gsub!( '$1', inspect )
58
58
 
59
59
  raise exception, message, caller
60
60
 
@@ -70,7 +70,7 @@ class Numeric
70
70
  if zero?
71
71
 
72
72
  # replace macros
73
- message.gsub!( '$1', self.inspect )
73
+ message.gsub!( '$1', inspect )
74
74
 
75
75
  raise exception, message, caller
76
76
 
@@ -86,7 +86,7 @@ class Numeric
86
86
  if positive?
87
87
 
88
88
  # replace macros
89
- message.gsub!( '$1', self.inspect )
89
+ message.gsub!( '$1', inspect )
90
90
 
91
91
  raise exception, message, caller
92
92
 
@@ -106,7 +106,7 @@ class Numeric
106
106
  raise TypeError, 'wrong argument type #{ message.class } for exception message (expected String)' unless message.kind_of?( String )
107
107
 
108
108
  # replace macros
109
- message.gsub!( '$1', self.inspect )
109
+ message.gsub!( '$1', inspect )
110
110
 
111
111
  message.gsub!( '$2', range.inspect )
112
112
 
@@ -122,7 +122,7 @@ class Numeric
122
122
  def limit( minimum_value, maximum_value )
123
123
 
124
124
  # limit current value
125
- self.min( minimum_value ).max( maximum_value )
125
+ min( minimum_value ).max( maximum_value )
126
126
 
127
127
  end
128
128
 
@@ -74,7 +74,7 @@ class Object
74
74
 
75
75
  raise TypeError, "invalid argument type #{ type } for check_type. Did you mean #{ type.class }?", caller unless type.kind_of?( Class )
76
76
 
77
- if self.kind_of?( type )
77
+ if kind_of?( type )
78
78
 
79
79
  found = true
80
80
 
@@ -91,7 +91,7 @@ class Object
91
91
  unless found
92
92
 
93
93
  # convert macros
94
- [ self.class, verbose_type_list.join, self.inspect ].each_with_index{ | param, index | message.gsub!( "$#{ index + 1 }", param.to_s ) }
94
+ [ self.class, verbose_type_list.join, inspect ].each_with_index{ | param, index | message.gsub!( "$#{ index + 1 }", param.to_s ) }
95
95
 
96
96
  # raise the exception
97
97
  raise TypeError, message, caller
@@ -144,7 +144,7 @@ class Object
144
144
  unless found
145
145
 
146
146
  # convert macros
147
- [ self.class, verbose_values_list.join, self.inspect ].each_with_index{ | param, index | message.gsub!( "$#{ index + 1 }", param.to_s ) }
147
+ [ self.class, verbose_values_list.join, inspect ].each_with_index{ | param, index | message.gsub!( "$#{ index + 1 }", param.to_s ) }
148
148
 
149
149
  # raise the exception
150
150
  raise ArgumentError, message, caller
@@ -42,13 +42,45 @@ module MobyUtil
42
42
 
43
43
  attempt = 1
44
44
 
45
+
46
+ # number of block arguments
47
+ _block_arity = block.arity
48
+
49
+ if _block_arity > 1
50
+
51
+ _block_arity = 2
52
+
53
+ elsif _block_arity < 1
54
+
55
+ _block_arity = 0
56
+
57
+ end
58
+
59
+ # last exception
60
+ _exception = nil
61
+
62
+ # default
63
+ _arguments = []
64
+
45
65
  begin
46
66
 
67
+ case _block_arity
68
+
69
+ when 1
70
+ arguments = [ attempt ]
71
+
72
+ when 2
73
+ arguments = [ attempt, _exception ]
74
+
75
+ end
76
+
47
77
  # yield given block and pass attempt number as parameter
48
- yield( attempt )
78
+ yield( *arguments )
49
79
 
50
80
  rescue *options[ :exception ]
51
81
 
82
+ _exception = $!
83
+
52
84
  if ( attempt < options[ :tries ] ) && ![ *options[ :unless ] ].include?( $!.class )
53
85
 
54
86
  sleep_retry_interval( options[ :interval ] ) if options[ :interval ] > 0
@@ -84,13 +116,44 @@ module MobyUtil
84
116
  # attempt number
85
117
  attempt = 0
86
118
 
119
+ # number of block arguments
120
+ _block_arity = block.arity
121
+
122
+ if _block_arity > 1
123
+
124
+ _block_arity = 2
125
+
126
+ elsif _block_arity < 1
127
+
128
+ _block_arity = 0
129
+
130
+ end
131
+
132
+ # last exception
133
+ _exception = nil
134
+
135
+ # default
136
+ _arguments = []
137
+
87
138
  begin
88
139
 
140
+ case _block_arity
141
+
142
+ when 1
143
+ arguments = [ attempt ]
144
+
145
+ when 2
146
+ arguments = [ attempt, _exception ]
147
+
148
+ end
149
+
89
150
  # execute block
90
- yield( attempt )
151
+ yield( *arguments )
91
152
 
92
153
  rescue *options[ :exception ]
93
154
 
155
+ _exception = $!
156
+
94
157
  if (Time.now - start_time) <= options[ :timeout ] && ![ *options[ :unless ] ].include?( $!.class )
95
158
 
96
159
  sleep_retry_interval( options[ :interval ] ) if options[ :interval ] > 0
@@ -22,13 +22,13 @@ class String
22
22
 
23
23
  def true?
24
24
 
25
- /^true$/i.match( self.to_s ) != nil
25
+ /^true$/i.match( to_s ) != nil
26
26
 
27
27
  end
28
28
 
29
29
  def false?
30
30
 
31
- /^false$/i.match( self.to_s ) != nil
31
+ /^false$/i.match( to_s ) != nil
32
32
 
33
33
  end
34
34
 
@@ -37,7 +37,7 @@ class String
37
37
  if empty?
38
38
 
39
39
  # replace macros
40
- #message.gsub!( '$1', self.inspect )
40
+ #message.gsub!( '$1', inspect )
41
41
 
42
42
  raise exception, message, caller
43
43
 
@@ -83,7 +83,7 @@ class String
83
83
  # TrueClass/FalseClass
84
84
  def to_boolean( *default )
85
85
 
86
- if /^(true|false)$/i.match( self.to_s )
86
+ if /^(true|false)$/i.match( to_s )
87
87
 
88
88
  $1.downcase == 'true'
89
89
 
@@ -69,10 +69,8 @@ module MobyUtil
69
69
  # Create first instance of this class if it doesn't exist
70
70
  self.instance
71
71
 
72
- #raise ArgumentError.new("Invalid connection object provided.") if dbc.nil? or !dbc.kind_of? MobyUtil::DBConnection
73
72
  dbc.check_type( MobyUtil::DBConnection, "Wrong argument type $1 for database connection object (expected $2)" )
74
73
 
75
- #raise ArgumentError.new("The query qtring must be provided as a non empty string.") if query_string.nil? or query_string.class != String or query_string.empty?
76
74
  query_string.check_type( String, "Wrong variable type $1 for database query string (expected $2)")
77
75
  query_string.not_empty( "Database query string must not be empty string" )
78
76
 
@@ -84,28 +82,22 @@ module MobyUtil
84
82
 
85
83
  # Check creation parameters
86
84
 
87
- #raise DbTypeNotDefinedError.new( "Database type need to be either 'mysql' or 'sqlite'!" ) if db_type == nil
88
85
  db_type.check_type( String, "Wrong argument type $1 for database type (expected $2)" )
89
86
 
90
- #raise DbTypeNotSupportedError.new( "Database type '#{db_type}' not supported! Type need to be either 'mysql' or 'sqlite'!" ) unless db_type == DB_TYPE_MYSQL or db_type == DB_TYPE_SQLITE
91
87
  db_type.validate( [ DB_TYPE_MYSQL, DB_TYPE_SQLITE ], "Unsupported database type $1 (expected $2)" )
92
88
 
93
89
  if ( db_type == DB_TYPE_MYSQL )
94
90
 
95
- # raise ArgumentError.new("Host must be provided as a non empty string.") if host.nil? or host.class != String or host.empty?
96
91
  host.check_type( String, "Wrong variable type $1 for host (expected $2)" )
97
92
  host.not_empty( "Host must not be empty string" )
98
93
 
99
- #raise ArgumentError.new("Username must be provided as a non empty string.") if username.nil? or username.class != String or username.empty?
100
94
  username.check_type( String, "Wrong variable type $1 for username (expected $2)" )
101
95
  username.not_empty( "Username must not be empty string" )
102
96
 
103
- #raise ArgumentError.new("Password must be provided as a string.") if password.nil? or password.class != String
104
97
  password.check_type( String, "Wrong variable type $1 for password (expected $2)")
105
98
 
106
99
  end
107
100
 
108
- #raise ArgumentError.new("The database name must be provided as a non empty string.") if database_name.nil? or database_name.class != String or database_name.empty?
109
101
  database_name.check_type( String, "Wrong variable type $1 for database name (expected $2)" )
110
102
  database_name.not_empty( "Database name must not be empty string" )
111
103
 
@@ -117,7 +109,14 @@ module MobyUtil
117
109
 
118
110
  if db_type == DB_TYPE_MYSQL
119
111
 
120
- query_result = @@_connections[ host + db_type + database_name ].dbh.query( query_string ) # identical?
112
+ begin
113
+ query_result = @@_connections[ host + db_type + database_name ].dbh.query( query_string ) # identical?
114
+ rescue
115
+ #Possible timeout in query attempt to recreate the connection and redo the query
116
+ dbc.dbh = connect_db( db_type, host, username, password, database_name )
117
+ @@_connections[ host + db_type + database_name ] = dbc
118
+ query_result = @@_connections[ host + db_type + database_name ].dbh.query( query_string ) # identical?
119
+ end
121
120
 
122
121
  elsif dbc.db_type == DB_TYPE_SQLITE
123
122
 
@@ -172,7 +171,6 @@ module MobyUtil
172
171
  #
173
172
  def self.affected_rows(dbc)
174
173
 
175
- #raise ArgumentError.new("Invalid connection object provided.") if dbc.nil? or !dbc.kind_of? MobyUtil::DBConnection
176
174
  dbc.check_type( MobyUtil::DBConnection, "Wrong argument type $1 for database connection object (expected $2)" )
177
175
 
178
176
  # Check for exsting connection for that host and create it if needed
@@ -209,7 +207,7 @@ module MobyUtil
209
207
  dbh.query 'SET NAMES utf8' if db_type == DB_TYPE_MYSQL # set the utf8 encoding
210
208
  dbh = SQLite3::Database.new( database_name ) if db_type == DB_TYPE_SQLITE
211
209
  rescue
212
- raise SqlConnectError.new( $!.message )
210
+ raise SqlConnectError, $!.message
213
211
  end
214
212
 
215
213
  return dbh
@@ -101,6 +101,57 @@ module TDriver
101
101
 
102
102
  end # FixturePluginService
103
103
 
104
+ module FixtureSetupFunctions
105
+
106
+ def []( name )
107
+
108
+ name.check_type [ String, Symbol ], 'wrong argument type $1 for fixture name (expected $2)'
109
+
110
+ @target.parameter[ :fixtures ].fetch( name.to_sym ){ | name |
111
+
112
+ raise MobyBase::BehaviourError.new( "Fixture", "Failed to execute fixture due to #{ name.to_s.inspect } not found for #{ @target.sut.id.inspect }" )
113
+
114
+ }
115
+
116
+ end
117
+
118
+ def []=( name, plugin )
119
+
120
+ name.check_type [ String, Symbol ], 'wrong argument type $1 for fixture name (expected $2)'
121
+
122
+ plugin.check_type [ String ], 'wrong argument type $1 for fixture pluin name (expected $2)'
123
+
124
+ name = name.to_sym
125
+
126
+ plugin = plugin.to_s
127
+
128
+ # create fixtures configuration hash unless already exists
129
+ @target.parameter[ :fixtures ] = {} unless @target.parameter.has_key?( :fixtures )
130
+
131
+ if @target.parameter[ :fixtures ].has_key?( name )
132
+
133
+ # retrieve existing fixture configuration
134
+ fixture_hash = @target.parameter[ :fixtures ][ name ]
135
+
136
+ else
137
+
138
+ # fixture was not found from hash, add sut environment to hash
139
+ fixture_hash = { :env => @target.instance_variable_get(:@environment) }
140
+
141
+ end
142
+
143
+ # store plugin name to hash
144
+ fixture_hash[ :plugin ] = plugin
145
+
146
+ # store fixture settings to fixtures configuration hash
147
+ @target.parameter[ :fixtures ][ name ] = fixture_hash
148
+
149
+ self
150
+
151
+ end
152
+
153
+ end
154
+
104
155
  class FixtureService
105
156
 
106
157
  # remove all public methods
@@ -128,6 +179,9 @@ module TDriver
128
179
  # store caller backtrace
129
180
  @caller = caller
130
181
 
182
+ # extend with fixture setup functions if self is kind of sut
183
+ extend FixtureSetupFunctions if @target.sut?
184
+
131
185
  self
132
186
 
133
187
  end
@@ -231,9 +231,10 @@ module MobyUtil
231
231
  # "Luo" => ["", "227"],
232
232
  # "Sukuma" => ["", "228"],
233
233
  # "Aceh" => ["", "229"],
234
- #"English_India" => ["", "230"], # In e32long.h, Pearl script, but not in Nokia Language Codes Standard
234
+ "English_India" => ["en_in", "230"], # In e32long.h, Pearl script, but not in Nokia Language Codes Standard
235
235
  "Malay Apac" => ["MA", "326"], # In e32long.h, Pearl script, but not in Nokia Language Codes Standard
236
- # "Indonesian Apac" =>["", "327"],
236
+ "Indonesian Apac" =>["id_ap", "327"],
237
+ "English Bangladesh" =>["en_ba", "328"],
237
238
  # "Bengali IN" => ["bn_IN", ""],
238
239
  # "Bosnian" => ["bs", ""],
239
240
  }
@@ -1,20 +1,20 @@
1
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
- ##
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
18
  ############################################################################
19
19
 
20
20
  module MobyUtil
@@ -179,7 +179,7 @@ module MobyUtil
179
179
  if @logger_engine_loaded
180
180
 
181
181
  # Allow only FileOutputter instances
182
- raise ArgumentError, 'Outputter pattern not valid, %M required by minimum' if !/\%M/.match( pattern )
182
+ raise ArgumentError, 'Outputter pattern not valid, %M required by minimum' if !/\%M/.match( pattern )
183
183
 
184
184
  # create pattern for outputter
185
185
  outputter_instance.formatter = Log4r::PatternFormatter.new :pattern => pattern
@@ -203,7 +203,7 @@ module MobyUtil
203
203
 
204
204
  Log4r::Logger.global
205
205
 
206
- else
206
+ else
207
207
 
208
208
  nil
209
209
 
@@ -211,6 +211,19 @@ module MobyUtil
211
211
 
212
212
  end
213
213
 
214
+ # TODO: add documentation
215
+ def log_to_report_details(script_call)
216
+ script_call.each do |call|
217
+ if call.include?('testability-driver')==false and call.include?('ruby')==false and call.include?('.rb')==true and call!=@previous_call
218
+ if $tdriver_reporter
219
+ $new_test_case.capture_dump(true,:text=> call) if $new_test_case
220
+ end
221
+ break
222
+ end
223
+ end
224
+ @previous_call=script_call
225
+ end
226
+
214
227
  # TODO: add documentation
215
228
  def log( level, *text_array )
216
229
 
@@ -219,7 +232,7 @@ module MobyUtil
219
232
  # convert to lowercase string
220
233
  level = level.to_s.downcase
221
234
 
222
- include_behaviour_info = @include_behaviour_info
235
+ include_behaviour_info = @include_behaviour_info
223
236
 
224
237
  # debug log entries and logging by using TDriver.logging.info or MobyUtil::Logging.instance.info etc
225
238
  if caller.first =~ /method_missing/
@@ -253,6 +266,7 @@ module MobyUtil
253
266
 
254
267
  }
255
268
 
269
+ log_to_report_details(caller) if $parameters[:report_script_steps_to_details, nil ]=='true'
256
270
  end
257
271
 
258
272
  end
@@ -287,7 +301,7 @@ module MobyUtil
287
301
  ARGV.delete('--debug_exceptions')
288
302
 
289
303
  # hook Object(Kernel)#raise
290
- ::Object.class_exec{
304
+ ::Object.class_exec{
291
305
 
292
306
  ::Kernel.module_exec{
293
307
 
@@ -297,27 +311,27 @@ module MobyUtil
297
311
 
298
312
  begin
299
313
 
300
- # raise and catch exception
314
+ # raise and catch exception
301
315
  original_raise( *args )
302
316
 
303
317
  rescue
304
318
 
305
319
  # remove wrapper calls from backtrace
306
320
  while $!.backtrace.first =~ /(logger\.rb).*(raise)/
307
-
321
+
308
322
  $!.backtrace.shift
309
-
323
+
310
324
  end
311
-
325
+
312
326
  puts "[debug] #{ $!.class }: #{ $!.message }\n[debug] Backtrace: \n[debug] #{ $!.backtrace.collect{ | line | " ... from #{ line }" }.join("\n[debug] ") }\n\n"
313
-
327
+
314
328
  # raise exception again
315
329
  original_raise $!
316
330
 
317
- end
331
+ end
318
332
 
319
333
  end
320
-
334
+
321
335
  }
322
336
  }
323
337
 
@@ -354,7 +368,7 @@ module MobyUtil
354
368
 
355
369
  if $parameters[ :logging_xml_parse_error_dump_path, nil ].nil?
356
370
 
357
- warn("warning: Configuration parameter :logging_xml_parse_error_dump_path missing, disabling the feature...")
371
+ warn("warning: Configuration parameter :logging_xml_parse_error_dump_path missing, disabling the feature...")
358
372
 
359
373
  # disable feature
360
374
  raise ArgumentError
@@ -401,11 +415,11 @@ module MobyUtil
401
415
 
402
416
  else
403
417
 
404
- warn("warning: Configuration parameter :logging_xml_parse_error_dump missing, disabling the feature...")
418
+ warn("warning: Configuration parameter :logging_xml_parse_error_dump missing, disabling the feature...")
405
419
  $parameters[ :logging_xml_parse_error_dump ] = 'false'
406
420
 
407
421
  end
408
-
422
+
409
423
  unless logging_level.zero?
410
424
 
411
425
  # logger output path
@@ -421,7 +435,7 @@ module MobyUtil
421
435
 
422
436
  @logger_engine_loaded = true
423
437
 
424
- # disable logging if exception is raised during
438
+ # disable logging if exception is raised during
425
439
  begin
426
440
 
427
441
  # create outputter folder if not exist
@@ -441,27 +455,27 @@ module MobyUtil
441
455
  end
442
456
 
443
457
  # check if outputter is enabled
444
- if $parameters[ :logging_outputter_enabled, false ].true?
458
+ if $parameters[ :logging_outputter_enabled, false ].true?
445
459
 
446
460
  # create new outputter instance type of FileOutputter
447
461
  outputter = create_outputter(
448
462
 
449
463
  # outputter type
450
- Log4r::FileOutputter,
464
+ Log4r::FileOutputter,
451
465
 
452
466
  # outputter name
453
467
  "TDriver_LOG",
454
468
 
455
- # outputter filename
456
- :filename => File.join( outputter_path, filename ),
469
+ # outputter filename
470
+ :filename => File.join( outputter_path, filename ),
457
471
 
458
472
  # append to or truncate file
459
- :trunc => $parameters[ :logging_outputter_append, false ].false?,
473
+ :trunc => $parameters[ :logging_outputter_append, false ].false?,
460
474
 
461
475
  # logging level
462
476
  :level => logging_level
463
477
 
464
- )
478
+ )
465
479
 
466
480
  # set outputter log event write pattern
467
481
  set_outputter_pattern( outputter, $parameters[ :logging_outputter_pattern, '%d [%c] [%l] %M' ] )
@@ -470,14 +484,14 @@ module MobyUtil
470
484
  add_outputter( @logger_instance, outputter )
471
485
 
472
486
  end
473
-
487
+
474
488
  # Add stdout outputter if set on configuration parameters
475
489
  if $parameters[ :logging_stdout_outputter_enabled, false ].true?
476
490
  stdout_outputter = create_outputter(
477
491
  Log4r::StdoutOutputter, # outputter type
478
492
  "TDriver_LOG_stdout", # outputter name
479
493
  :level => logging_level # logging level
480
- )
494
+ )
481
495
  set_outputter_pattern( stdout_outputter, $parameters[ :logging_outputter_pattern, '%d [%c] [%l] %M' ] )
482
496
 
483
497
  add_outputter( @logger_instance, stdout_outputter )
@@ -507,7 +521,7 @@ module MobyUtil
507
521
  # pass logger instance to hooking module
508
522
  TDriver::Hooking.logger_instance = MobyUtil::Logger.instance
509
523
 
510
- end
524
+ end
511
525
 
512
526
  # enable logging
513
527
  @enabled_stack = [ true ]
@@ -563,7 +577,7 @@ module MobyUtil
563
577
  end
564
578
 
565
579
  end # Logger
566
-
580
+
567
581
  end # MobyUtil
568
582
 
569
583
  # set global variable pointing to parameter class