cutedriver-driver 2.0.0.20210120164037

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 (226) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +16 -0
  3. data/bin/start_app_perf +200 -0
  4. data/bin/tdriver-devtools +3 -0
  5. data/config/sut_parameters.rb +52 -0
  6. data/config/sut_setup.rb +32 -0
  7. data/config/sut_teardown.rb +32 -0
  8. data/config/tdriver_custom_error_recovery.rb +83 -0
  9. data/ext/extconf.rb +70 -0
  10. data/ext/native_extensions.c +315 -0
  11. data/lib/matti.rb +25 -0
  12. data/lib/tdriver-devtools/behaviour/old/xml/example/flick-example.rb +120 -0
  13. data/lib/tdriver-devtools/behaviour/old/xml/example/impl.rb_invalid +194 -0
  14. data/lib/tdriver-devtools/behaviour/old/xml/generate_behaviour_xml.rb +95 -0
  15. data/lib/tdriver-devtools/behaviour/old/xml/lib/tdriver_generator.rb +722 -0
  16. data/lib/tdriver-devtools/behaviour/old/xml/qdoc_generator.rb +321 -0
  17. data/lib/tdriver-devtools/behaviour/old/xml/templates/behaviour.method.template +43 -0
  18. data/lib/tdriver-devtools/behaviour/old/xml/templates/behaviour.module.template +54 -0
  19. data/lib/tdriver-devtools/behaviour/old/xml/templates/behaviour.xml.argument.template +7 -0
  20. data/lib/tdriver-devtools/behaviour/old/xml/templates/behaviour.xml.argument_type.template +7 -0
  21. data/lib/tdriver-devtools/behaviour/old/xml/templates/behaviour.xml.exception.template +5 -0
  22. data/lib/tdriver-devtools/behaviour/old/xml/templates/behaviour.xml.howto.line.template +2 -0
  23. data/lib/tdriver-devtools/behaviour/old/xml/templates/behaviour.xml.howto.template +5 -0
  24. data/lib/tdriver-devtools/behaviour/old/xml/templates/behaviour.xml.method.template +23 -0
  25. data/lib/tdriver-devtools/behaviour/old/xml/templates/behaviour.xml.template +14 -0
  26. data/lib/tdriver-devtools/behaviour/old/xml/update +3 -0
  27. data/lib/tdriver-devtools/behaviour/xml/generate.rb +88 -0
  28. data/lib/tdriver-devtools/behaviour/xml/rdoc_behaviour_xml_generator.rb +1945 -0
  29. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.argument.default.template +1 -0
  30. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.argument.template +3 -0
  31. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.argument_type.template +4 -0
  32. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.exception.template +4 -0
  33. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.method.arguments.template +4 -0
  34. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.method.deprecated.template +3 -0
  35. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.method.exceptions.template +3 -0
  36. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.method.info.template +1 -0
  37. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.method.returns.template +3 -0
  38. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.method.tables.template +3 -0
  39. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.method.template +12 -0
  40. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.returns.template +5 -0
  41. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.table.item.template +1 -0
  42. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.table.row.template +2 -0
  43. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.table.template +8 -0
  44. data/lib/tdriver-devtools/behaviour/xml/templates/behaviour.xml.template +14 -0
  45. data/lib/tdriver-devtools/doc/behaviour_xml/QtExampleGestureBehaviour.xml +138 -0
  46. data/lib/tdriver-devtools/doc/behaviour_xml/created.rid +1 -0
  47. data/lib/tdriver-devtools/doc/behaviour_xml/tdriver.hash +1 -0
  48. data/lib/tdriver-devtools/doc/feature_xml/qt_widget_hold.feature.xml +9 -0
  49. data/lib/tdriver-devtools/doc/feature_xml/qt_widget_tap.feature.xml +9 -0
  50. data/lib/tdriver-devtools/doc/generate.rb +917 -0
  51. data/lib/tdriver-devtools/doc/update +1 -0
  52. data/lib/tdriver-devtools/doc/xslt/html.rb +7 -0
  53. data/lib/tdriver-devtools/doc/xslt/template.xsl +2170 -0
  54. data/lib/tdriver-devtools/doc/xslt/update +3 -0
  55. data/lib/tdriver-devtools/plugin/placeholder.txt +1 -0
  56. data/lib/tdriver-devtools/tdriver-devtools.rb +404 -0
  57. data/lib/tdriver-devtools/tests/feature_tests/example/behaviour_example.rb +100 -0
  58. data/lib/tdriver-devtools/tests/feature_tests/generate.rb +82 -0
  59. data/lib/tdriver-devtools/tests/feature_tests/lib/custom_rdoc_generator.rb +468 -0
  60. data/lib/tdriver-devtools/tests/feature_tests/templates/feature_attribute.template +5 -0
  61. data/lib/tdriver-devtools/tests/feature_tests/templates/feature_method.template +5 -0
  62. data/lib/tdriver-devtools/tests/feature_tests/templates/scenario_attribute.template +5 -0
  63. data/lib/tdriver-devtools/tests/feature_tests/templates/scenario_method.template +5 -0
  64. data/lib/tdriver-devtools/tests/feature_tests/update +3 -0
  65. data/lib/tdriver.rb +23 -0
  66. data/lib/tdriver/base/behaviour/abstract.rb +29 -0
  67. data/lib/tdriver/base/behaviour/behaviours/object_abstract.rb +107 -0
  68. data/lib/tdriver/base/behaviour/behaviours/object_behaviour_composition.rb +99 -0
  69. data/lib/tdriver/base/behaviour/behaviours/object_behaviour_description.rb +278 -0
  70. data/lib/tdriver/base/behaviour/behaviours/object_composition.rb +119 -0
  71. data/lib/tdriver/base/behaviour/factory.rb +495 -0
  72. data/lib/tdriver/base/behaviour/loader.rb +46 -0
  73. data/lib/tdriver/base/command_data/command_data.rb +51 -0
  74. data/lib/tdriver/base/command_data/loader.rb +29 -0
  75. data/lib/tdriver/base/controller/abstraction.rb +56 -0
  76. data/lib/tdriver/base/controller/loader.rb +21 -0
  77. data/lib/tdriver/base/errors.rb +134 -0
  78. data/lib/tdriver/base/loader.rb +47 -0
  79. data/lib/tdriver/base/state_object.rb +373 -0
  80. data/lib/tdriver/base/sut/adapter.rb +54 -0
  81. data/lib/tdriver/base/sut/controller.rb +151 -0
  82. data/lib/tdriver/base/sut/factory.rb +339 -0
  83. data/lib/tdriver/base/sut/generic/behaviours/agent.rb +77 -0
  84. data/lib/tdriver/base/sut/generic/behaviours/application.rb +427 -0
  85. data/lib/tdriver/base/sut/generic/behaviours/controller.rb +67 -0
  86. data/lib/tdriver/base/sut/generic/behaviours/find.rb +107 -0
  87. data/lib/tdriver/base/sut/generic/behaviours/flash_behaviour.rb +337 -0
  88. data/lib/tdriver/base/sut/generic/behaviours/sut.rb +1888 -0
  89. data/lib/tdriver/base/sut/generic/behaviours/switchbox_behaviour.rb +210 -0
  90. data/lib/tdriver/base/sut/generic/behaviours/verification.rb +222 -0
  91. data/lib/tdriver/base/sut/generic/commands/agent.rb +43 -0
  92. data/lib/tdriver/base/sut/generic/commands/application.rb +274 -0
  93. data/lib/tdriver/base/sut/generic/commands/fixture.rb +47 -0
  94. data/lib/tdriver/base/sut/generic/commands/key_sequence.rb +94 -0
  95. data/lib/tdriver/base/sut/generic/commands/screen_capture.rb +64 -0
  96. data/lib/tdriver/base/sut/generic/plugin.rb +97 -0
  97. data/lib/tdriver/base/sut/loader.rb +35 -0
  98. data/lib/tdriver/base/sut/sut.rb +98 -0
  99. data/lib/tdriver/base/test_object/abstract.rb +208 -0
  100. data/lib/tdriver/base/test_object/adapter.rb +740 -0
  101. data/lib/tdriver/base/test_object/behaviours/syncronization.rb +144 -0
  102. data/lib/tdriver/base/test_object/behaviours/test_object.rb +1047 -0
  103. data/lib/tdriver/base/test_object/cache.rb +134 -0
  104. data/lib/tdriver/base/test_object/factory.rb +684 -0
  105. data/lib/tdriver/base/test_object/loader.rb +51 -0
  106. data/lib/tdriver/base/test_object/verification.rb +178 -0
  107. data/lib/tdriver/base/test_object/xml/abstraction.rb +63 -0
  108. data/lib/tdriver/base/test_object/xml/adapter.rb +773 -0
  109. data/lib/tdriver/env.rb +21 -0
  110. data/lib/tdriver/loader.rb +57 -0
  111. data/lib/tdriver/matti.rb +35 -0
  112. data/lib/tdriver/report/error_recovery/tdriver_custom_error_recovery.rb +83 -0
  113. data/lib/tdriver/report/error_recovery/tdriver_error_recovery.rb +168 -0
  114. data/lib/tdriver/report/error_recovery/tdriver_error_recovery_settings.rb +106 -0
  115. data/lib/tdriver/report/report.rb +61 -0
  116. data/lib/tdriver/report/report_api.rb +348 -0
  117. data/lib/tdriver/report/report_combine.rb +86 -0
  118. data/lib/tdriver/report/report_crash_file_capture.rb +178 -0
  119. data/lib/tdriver/report/report_creator.rb +665 -0
  120. data/lib/tdriver/report/report_cucumber.rb +158 -0
  121. data/lib/tdriver/report/report_cucumber_listener.rb +184 -0
  122. data/lib/tdriver/report/report_cucumber_reporter.rb +181 -0
  123. data/lib/tdriver/report/report_data_presentation.rb +156 -0
  124. data/lib/tdriver/report/report_data_table.rb +64 -0
  125. data/lib/tdriver/report/report_execution_statistics.rb +400 -0
  126. data/lib/tdriver/report/report_file_capture.rb +159 -0
  127. data/lib/tdriver/report/report_graph_generator.rb +59 -0
  128. data/lib/tdriver/report/report_grouping.rb +541 -0
  129. data/lib/tdriver/report/report_javascript.rb +199 -0
  130. data/lib/tdriver/report/report_junit_xml.rb +147 -0
  131. data/lib/tdriver/report/report_rspec.rb +108 -0
  132. data/lib/tdriver/report/report_test_case_run.rb +725 -0
  133. data/lib/tdriver/report/report_test_run.rb +1476 -0
  134. data/lib/tdriver/report/report_test_unit.rb +223 -0
  135. data/lib/tdriver/report/report_writer.rb +1621 -0
  136. data/lib/tdriver/tdriver.rb +209 -0
  137. data/lib/tdriver/util/agent/loader.rb +22 -0
  138. data/lib/tdriver/util/agent/service.rb +107 -0
  139. data/lib/tdriver/util/common/array.rb +39 -0
  140. data/lib/tdriver/util/common/boolean.rb +48 -0
  141. data/lib/tdriver/util/common/crc16.rb +149 -0
  142. data/lib/tdriver/util/common/environment.rb +154 -0
  143. data/lib/tdriver/util/common/error.rb +40 -0
  144. data/lib/tdriver/util/common/exception.rb +53 -0
  145. data/lib/tdriver/util/common/exceptions.rb +12 -0
  146. data/lib/tdriver/util/common/file.rb +328 -0
  147. data/lib/tdriver/util/common/gem.rb +109 -0
  148. data/lib/tdriver/util/common/hash.rb +288 -0
  149. data/lib/tdriver/util/common/kernel.rb +253 -0
  150. data/lib/tdriver/util/common/loader.rb +47 -0
  151. data/lib/tdriver/util/common/numeric.rb +159 -0
  152. data/lib/tdriver/util/common/object.rb +159 -0
  153. data/lib/tdriver/util/common/retryable.rb +179 -0
  154. data/lib/tdriver/util/common/stackable.rb +185 -0
  155. data/lib/tdriver/util/common/string.rb +174 -0
  156. data/lib/tdriver/util/database/access.rb +240 -0
  157. data/lib/tdriver/util/database/connection.rb +44 -0
  158. data/lib/tdriver/util/database/error.rb +34 -0
  159. data/lib/tdriver/util/database/loader.rb +28 -0
  160. data/lib/tdriver/util/filters/attribute_filter.rb +121 -0
  161. data/lib/tdriver/util/filters/loader.rb +29 -0
  162. data/lib/tdriver/util/fixture/loader.rb +22 -0
  163. data/lib/tdriver/util/fixture/service.rb +211 -0
  164. data/lib/tdriver/util/hooking/hooking.rb +477 -0
  165. data/lib/tdriver/util/keymap/keymap.rb +81 -0
  166. data/lib/tdriver/util/loader.rb +80 -0
  167. data/lib/tdriver/util/localisation/error.rb +31 -0
  168. data/lib/tdriver/util/localisation/loader.rb +25 -0
  169. data/lib/tdriver/util/localisation/localisation.rb +762 -0
  170. data/lib/tdriver/util/logger/loader.rb +22 -0
  171. data/lib/tdriver/util/logger/logger.rb +591 -0
  172. data/lib/tdriver/util/operator_data/error.rb +29 -0
  173. data/lib/tdriver/util/operator_data/loader.rb +27 -0
  174. data/lib/tdriver/util/operator_data/operator_data.rb +93 -0
  175. data/lib/tdriver/util/other/config.rb +221 -0
  176. data/lib/tdriver/util/parameter/error.rb +48 -0
  177. data/lib/tdriver/util/parameter/loader.rb +25 -0
  178. data/lib/tdriver/util/parameter/parameter.rb +1161 -0
  179. data/lib/tdriver/util/plugin/abstract.rb +61 -0
  180. data/lib/tdriver/util/plugin/error.rb +0 -0
  181. data/lib/tdriver/util/plugin/loader.rb +28 -0
  182. data/lib/tdriver/util/plugin/service.rb +319 -0
  183. data/lib/tdriver/util/recorder/loader.rb +25 -0
  184. data/lib/tdriver/util/recorder/recorder.rb +72 -0
  185. data/lib/tdriver/util/recorder/scripter.rb +294 -0
  186. data/lib/tdriver/util/statistics/statistics.rb +89 -0
  187. data/lib/tdriver/util/user_data/error.rb +28 -0
  188. data/lib/tdriver/util/user_data/loader.rb +25 -0
  189. data/lib/tdriver/util/user_data/user_data.rb +104 -0
  190. data/lib/tdriver/util/video/camera.rb +67 -0
  191. data/lib/tdriver/util/video/camera_linux.rb +153 -0
  192. data/lib/tdriver/util/video/camera_windows.rb +174 -0
  193. data/lib/tdriver/util/video/loader.rb +31 -0
  194. data/lib/tdriver/util/video/video_utils.rb +139 -0
  195. data/lib/tdriver/util/xml/abstraction.rb +117 -0
  196. data/lib/tdriver/util/xml/attribute.rb +32 -0
  197. data/lib/tdriver/util/xml/builder.rb +53 -0
  198. data/lib/tdriver/util/xml/comment.rb +32 -0
  199. data/lib/tdriver/util/xml/document.rb +32 -0
  200. data/lib/tdriver/util/xml/element.rb +32 -0
  201. data/lib/tdriver/util/xml/error.rb +46 -0
  202. data/lib/tdriver/util/xml/loader.rb +62 -0
  203. data/lib/tdriver/util/xml/nil_node.rb +95 -0
  204. data/lib/tdriver/util/xml/nodeset.rb +32 -0
  205. data/lib/tdriver/util/xml/parsers/libxml/libxml.rb +140 -0
  206. data/lib/tdriver/util/xml/parsers/loader.rb +21 -0
  207. data/lib/tdriver/util/xml/parsers/nokogiri/abstraction.rb +167 -0
  208. data/lib/tdriver/util/xml/parsers/nokogiri/attribute.rb +66 -0
  209. data/lib/tdriver/util/xml/parsers/nokogiri/builder.rb +64 -0
  210. data/lib/tdriver/util/xml/parsers/nokogiri/comment.rb +39 -0
  211. data/lib/tdriver/util/xml/parsers/nokogiri/document.rb +66 -0
  212. data/lib/tdriver/util/xml/parsers/nokogiri/element.rb +39 -0
  213. data/lib/tdriver/util/xml/parsers/nokogiri/loader.rb +58 -0
  214. data/lib/tdriver/util/xml/parsers/nokogiri/node.rb +212 -0
  215. data/lib/tdriver/util/xml/parsers/nokogiri/nodeset.rb +237 -0
  216. data/lib/tdriver/util/xml/parsers/nokogiri/text.rb +39 -0
  217. data/lib/tdriver/util/xml/text.rb +32 -0
  218. data/lib/tdriver/util/xml/xml.rb +332 -0
  219. data/lib/tdriver/verify/verify.rb +2398 -0
  220. data/lib/tdriver/version.rb +21 -0
  221. data/xml/behaviours/generic.xml +530 -0
  222. data/xml/defaults/generic.xml +11 -0
  223. data/xml/defaults/sut_generic.xml +8 -0
  224. data/xml/parameters/tdriver_parameters.xml +23 -0
  225. data/xml/templates/generic.xml +292 -0
  226. metadata +324 -0
@@ -0,0 +1,29 @@
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
+
21
+ module MobyUtil
22
+
23
+ # This error should be raised when information about operator data is not found
24
+ class OperatorDataNotFoundError < StandardError; def initialize ( msg = nil ); super( msg ); end; end # class
25
+
26
+ # This error should be raised when the search column is not found
27
+ class OperatorDataColumnNotFoundError < StandardError; def initialize ( msg = nil ); super( msg ); end; end # class
28
+
29
+ end
@@ -0,0 +1,27 @@
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
+ # user data inputs related errors
21
+ require File.expand_path( File.join( File.dirname( __FILE__ ), 'error.rb' ) )
22
+ #
23
+ # user data inputs module implementation
24
+ require File.expand_path( File.join( File.dirname( __FILE__ ), 'operator_data.rb' ) )
25
+ #
26
+
27
+
@@ -0,0 +1,93 @@
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
+ # Utility for handling operator data inputs database
21
+
22
+ module MobyUtil
23
+
24
+ class OperatorData
25
+
26
+ # == description
27
+ # Function to fetch a translation for a given logical name from the localisation DB
28
+ #
29
+ # == arguments
30
+ # operator_data_lname
31
+ # String
32
+ # description: operator data identifier
33
+ # example: "op_welcome_message""
34
+ #
35
+ # operator
36
+ # String
37
+ # description: Operator column name to be used when fetching operator data
38
+ # example: "Orange"
39
+ #
40
+ # table_name
41
+ # String
42
+ # description: Name of the operator data table to use from the operator table DB
43
+ # example: "operator_data_week201042"
44
+ #
45
+ # == returns
46
+ # String
47
+ # description: Operator data string
48
+ #
49
+ # == throws
50
+ # OperatorDataColumnNotFoundError
51
+ # description: If the desired operator data is not found
52
+ #
53
+ # OperatorDataColumnNotFoundError
54
+ # description: If the desired data column name to be used for the output is not found
55
+ #
56
+ # SqlError
57
+ # description: if there is and sql error while executing the query
58
+ #
59
+ def self.retrieve( operator_data_lname, operator, table_name )
60
+
61
+ raise OperatorDataNotFoundError.new( "Search string parameter cannot be nil" ) if operator_data_lname == nil
62
+
63
+ # Get Localization parameters for DB Connection
64
+ db_type = $parameters[ :operator_data_db_type, nil ].to_s.downcase
65
+ host = $parameters[ :operator_data_server_ip ]
66
+ username = $parameters[ :operator_data_server_username ]
67
+ password = $parameters[ :operator_data_server_password ]
68
+ database_name = $parameters[ :operator_data_server_database_name ]
69
+
70
+ db_connection = DBConnection.new( db_type, host, database_name, username, password )
71
+
72
+ search_string = "#{ operator_data_lname }' AND `Operator` = '#{ operator }"
73
+ query_string = "select `Value` from `#{ table_name }` where `LogicalName` = '#{ search_string }' and `LogicalName` <> '#MISSING'"
74
+
75
+ begin
76
+ result = MobyUtil::DBAccess.query( db_connection, query_string )
77
+ rescue
78
+ # if data column to be searched is not found then raise error for search column not found
79
+ raise OperatorDataColumnNotFoundError.new( "Search column 'Value' not found in database" ) unless $!.message.index( "Unknown column" ) == nil
80
+ raise SqlError.new( $!.message )
81
+ end
82
+
83
+ # Return always the first column of the row
84
+ raise OperatorDataNotFoundError.new("No matches found for search string '#{ operator_data_lname }' in search column 'LogicalName' for opreator #{ operator }" ) if ( result.empty?)
85
+ # Result is an Array of rows (Array<String>)! We want the first column of the first row.
86
+ return result[0][0]
87
+
88
+ end
89
+
90
+ end # class
91
+
92
+ end # module
93
+
@@ -0,0 +1,221 @@
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
+
21
+ #!/usr/bin/ruby
22
+
23
+ require 'tdriver'
24
+
25
+ #require File.expand_path( File.join( File.dirname( __FILE__ ), 'xml/xml' ) )
26
+ #require File.expand_path( File.join( File.dirname( __FILE__ ), 'common' ) )
27
+
28
+ def find_xml_element( document, name )
29
+
30
+ document.root.xpath( "/parameters/*[@name='#{ name }']" )
31
+
32
+ end
33
+
34
+ def change_attr_value( node, attribute_name, value )
35
+
36
+ node.xml.attr( attribute_name, value.to_s )
37
+
38
+ end
39
+
40
+ def change_value( path, attribute, value )
41
+
42
+ filename = MobyUtil::FileHelper.fix_path( "#{ MobyUtil::FileHelper.tdriver_home }/tdriver_parameters.xml" )
43
+
44
+ xml_document = MobyUtil::XML::parse_file( filename )
45
+
46
+ node = find_xml_element( xml_document, path )
47
+ #p node
48
+
49
+ change_attr_value( node, attribute, value)
50
+ #p node
51
+
52
+ File.open( filename, "w" ){ | file_object | file_object << xml_document.xml }
53
+
54
+ end
55
+
56
+ #xml_document = MobyUtil::XML::parse_file( MobyUtil::FileHelper.fix_path( "#{ MobyUtil::FileHelper.tdriver_home }/tdriver_parameters.xml" ) )
57
+
58
+ #root_element = xml_document.root.xpath("/parameters/*[@id='sut_qt']")
59
+
60
+ =begin
61
+ root_element = xml_document.root.xpath("/parameters/parameter[@name='app_path']")
62
+
63
+ p root_element.xml
64
+
65
+ root_element.xml.attr("value", "10")
66
+
67
+ p root_element.xml
68
+
69
+ p xml_document
70
+
71
+ =end
72
+
73
+ #p root_element.xml.class
74
+
75
+ =begin
76
+
77
+ nimi = 'sut_qt'
78
+
79
+ root_element = xml_document.root.xpath("/parameters/*[@id='#{ nimi }' or @name='#{ nimi }']/fixtures") #*[@id='#{ nimi }' or @name='#{ nimi }']")
80
+
81
+ p root_element
82
+
83
+ root_element = xml_document.root.xpath("/parameters/*[@id='#{ nimi }' or @name='#{ nimi }']")
84
+
85
+
86
+ p root_element
87
+
88
+ =end
89
+
90
+
91
+ #p root_element.xml.keys
92
+
93
+ #node = Nokogiri::XML::Node.new("<nimi>l</nimi>", xml_document.xml)
94
+
95
+ #root_element.xml.push( node )
96
+
97
+ #xml_document.root.xml.add_child( node )
98
+
99
+
100
+ #p root_element.xml.to_xml
101
+
102
+ #p xml_document.xml.to_xml
103
+
104
+
105
+ #p root_element.class
106
+
107
+ #p xml_document.xml
108
+
109
+ #exit
110
+
111
+ def help
112
+
113
+ =begin
114
+
115
+ Usage:
116
+ Products:
117
+ Options:
118
+ -a arch architecture [all] (arm, x86, all)
119
+ -c path custom scratchbox path [/scratchbox]
120
+ -d display debug messages
121
+ WARNING: may contain sensitive information such as password
122
+ -e create targets that use files.maemo.org as the repository
123
+ -f overwrite previously existing target if one exists
124
+ -h display help
125
+ -p pass password for the repository/rootstrap download
126
+ -r name release name [pre-release] (current, pre-release, previous)
127
+ you can use build number instead of release name
128
+ -s select the created target
129
+ -t prefix custom prefix for target names [maemoX]
130
+ target name will be \$prefix-\$arch
131
+ -u user username for the repository/rootstrap download
132
+ -A save authentication data into .netrc in your scratchbox home
133
+ WARNING: your username and password will be written
134
+ in cleartext into your scratchbox home .netrc
135
+ -C config use custom configuration as rootstrap [minimaldev]
136
+ configuration used will be \$arch-\$config
137
+ -D don't install debug links
138
+ -I don't install files to rootstrap
139
+ -P don't allow unauthenticated packages
140
+ -R don't install rootstrap
141
+ -S keep sources.list provided by rootstrap
142
+ -U save authentication data in sources.list
143
+ WARNING: your username and password will be written
144
+ in cleartext into your target's sources.list
145
+
146
+
147
+ =end
148
+
149
+ puts <<HELP
150
+
151
+ Usage:
152
+ tdriver-config read [path]
153
+
154
+ Example:
155
+ tdriver-config read - List keys from root level
156
+ tdriver-config read sut_qt - List keys from "sut_qt" hash
157
+ tdriver-config read sut_qt/keymap/kApp - Retrieve value of kApp
158
+
159
+ HELP
160
+
161
+ exit
162
+
163
+ end
164
+
165
+ def print_key( key, value )
166
+ puts "%s %s" % [ "#{key} ".ljust(65, '.'), value.kind_of?( Hash ) ? "<Multiple values>" : "\"#{ value.to_s }\"" ]
167
+ end
168
+
169
+ def dump_hash_values( hash, path = "" )
170
+ hash.keys.sort{ |a,b| a.to_s <=> b.to_s }.each{ | key | print_key( key, hash[ key ] ) }
171
+ end
172
+
173
+ def resolve_hash_path( hash, path_string )
174
+ return [ "", hash ] if path_string.nil? or ( path_string.kind_of?( String) and path_string.empty? )
175
+ path = hash; path_array = path_string.split( "/" ); current_path = []
176
+ [ path_array[ -1 ], ( path_array.collect{ | key |
177
+ current_path = current_path + [ key ]
178
+ if !path.has_key?( key.to_sym ); puts "No such key/hash found (%s)\n\n" % [ current_path.join( "::" ) ]; exit; end
179
+ path = path[ key.to_sym ]
180
+ }.compact)[ -1 ] ]
181
+ end
182
+
183
+ if ARGV.count < 1;
184
+
185
+ help;
186
+
187
+ else
188
+
189
+ if ![ 'read', 'write' ].include?( ARGV[ 0 ].downcase ) #!= 'read'
190
+ puts "Currently only read and write is supported"; help; exit
191
+ end
192
+
193
+ mode = ARGV[ 0 ].downcase == 'read' ? :read : :write
194
+
195
+ puts "\n"
196
+
197
+ case mode
198
+
199
+ when :write
200
+
201
+ change_value( ARGV[ 1 ], "value", ARGV[ 2 ])
202
+ print_key ARGV[ 1 ], ARGV[ 2 ]
203
+
204
+ # reload new settings
205
+ #Singleton.__init__( MobyUtil::Parameter )
206
+
207
+ when :read
208
+
209
+ require 'tdriver'
210
+
211
+ result = resolve_hash_path( MobyUtil::Parameter.parameters, ARGV[ 1 ])
212
+
213
+ result[ 1 ].kind_of?( Hash ) ? ( dump_hash_values result[ 1 ] ) : ( print_key result[ 0 ], result[ 1 ] )
214
+
215
+ end
216
+
217
+ puts "\n"
218
+
219
+
220
+ end
221
+
@@ -0,0 +1,48 @@
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
+ module MobyUtil
21
+
22
+ # This is template for tdriver custom errors
23
+ class CustomError < StandardError;
24
+
25
+ def initialize( msg = nil )
26
+
27
+ super( msg )
28
+
29
+ end
30
+
31
+ end
32
+
33
+ # This error should be raised when referred parameter is not found
34
+ class ParameterNotFoundError < CustomError; end
35
+
36
+ # This error should be raised when parameter file parsing fails
37
+ class ParameterFileParseError < CustomError; end
38
+
39
+ # This error should be raised when parameter file parsing fails
40
+ class ParameterXmlParseError < CustomError; end
41
+
42
+ # This error should be raised when desired template was not found
43
+ class TemplateNotFoundError < CustomError; end
44
+
45
+ # This error should be raised when desired template was not found
46
+ class TemplatesFileNotLoaded < CustomError; end
47
+
48
+ end # MobyUtil
@@ -0,0 +1,25 @@
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
+ # Parameter related errors
21
+ require File.expand_path( File.join( File.dirname( __FILE__ ), 'error.rb' ) )
22
+
23
+ # parameters related classes
24
+ require File.expand_path( File.join( File.dirname( __FILE__ ), 'parameter.rb' ) )
25
+