kymera 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/kymera.iml +1 -1
- data/.idea/workspace.xml +210 -160
- data/README.md +4 -3
- data/config.md +100 -0
- data/kymera.gemspec +1 -1
- data/lib/kymera/array_exten.rb +11 -0
- data/lib/kymera/broker.rb +34 -3
- data/lib/kymera/client.rb +2 -2
- data/lib/kymera/platform_utils.rb +10 -0
- data/lib/kymera/version.rb +1 -1
- data/lib/kymera/worker.rb +60 -12
- data/lib/kymera.rb +3 -4
- data/lib/spec/full_run_for_linux_spec.rb +20 -13
- data/lib/spec/startup_broker_bus_collector_spec.rb +1 -1
- data/lib/spec/worker_test_run_spec.rb +2 -2
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c82eaabac4677d7d7c25c48c3158ebe2d0a1c4ee
|
4
|
+
data.tar.gz: ed0410d78817931fe190c362a5a84c2ec7f8d288
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e5effe750d775ed7529c54ece17da64a6ee132b772712dcf52b7381cf1faaf1a6f31ea3e70c8f6d8ce785b5e52309d5144f2ffec4897a9835222106249d713a
|
7
|
+
data.tar.gz: f128ceb189c9875f894c8aa01d5428c8b3e22b792af1681df6773b90a1057caf20b1bdcaab95d41aed03d2e15b457e597bcb16b2cc1a4bf4fdcd359c170a7f41
|
data/.idea/kymera.iml
CHANGED
@@ -182,6 +182,6 @@
|
|
182
182
|
<orderEntry type="library" scope="PROVIDED" name="mongo (v1.10.2, ruby-2.0.0-p481) [gem]" level="application" />
|
183
183
|
<orderEntry type="library" scope="PROVIDED" name="multi_json (v1.10.1, ruby-2.0.0-p481) [gem]" level="application" />
|
184
184
|
<orderEntry type="library" scope="PROVIDED" name="multi_test (v0.1.1, ruby-2.0.0-p481) [gem]" level="application" />
|
185
|
-
<orderEntry type="library" scope="PROVIDED" name="rake (v10.4.
|
185
|
+
<orderEntry type="library" scope="PROVIDED" name="rake (v10.4.2, ruby-2.0.0-p481) [gem]" level="application" />
|
186
186
|
</component>
|
187
187
|
</module>
|
data/.idea/workspace.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
<project version="4">
|
3
3
|
<component name="ChangeListManager">
|
4
4
|
<list default="true" id="fe8b228f-39c5-4d1c-a114-7c0c9683636f" name="Default" comment="">
|
5
|
-
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/
|
5
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/kymera/version.rb" afterPath="$PROJECT_DIR$/lib/kymera/version.rb" />
|
6
6
|
</list>
|
7
7
|
<ignored path="kymera.iws" />
|
8
8
|
<ignored path=".idea/workspace.xml" />
|
@@ -37,104 +37,101 @@
|
|
37
37
|
</component>
|
38
38
|
<component name="FileEditorManager">
|
39
39
|
<leaf>
|
40
|
-
<file leaf-file-name="
|
41
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
40
|
+
<file leaf-file-name="broker.rb" pinned="false" current-in-tab="false">
|
41
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/broker.rb">
|
42
42
|
<provider selected="true" editor-type-id="text-editor">
|
43
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
44
|
-
<caret line="
|
43
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="2220">
|
44
|
+
<caret line="52" column="15" selection-start-line="52" selection-start-column="15" selection-end-line="52" selection-end-column="15" />
|
45
45
|
<folding />
|
46
46
|
</state>
|
47
47
|
</provider>
|
48
48
|
</entry>
|
49
49
|
</file>
|
50
|
-
<file leaf-file-name="
|
51
|
-
<entry file="file://$PROJECT_DIR$/kymera.
|
50
|
+
<file leaf-file-name="array_exten.rb" pinned="false" current-in-tab="false">
|
51
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/array_exten.rb">
|
52
52
|
<provider selected="true" editor-type-id="text-editor">
|
53
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
54
|
-
<caret line="
|
53
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="240">
|
54
|
+
<caret line="10" column="3" selection-start-line="10" selection-start-column="3" selection-end-line="10" selection-end-column="3" />
|
55
55
|
<folding />
|
56
56
|
</state>
|
57
57
|
</provider>
|
58
58
|
</entry>
|
59
59
|
</file>
|
60
|
-
<file leaf-file-name="
|
61
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/
|
60
|
+
<file leaf-file-name="test_results_collector.rb" pinned="false" current-in-tab="false">
|
61
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/test_results_collector.rb">
|
62
62
|
<provider selected="true" editor-type-id="text-editor">
|
63
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
64
|
-
<caret line="
|
63
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="885" max-vertical-offset="1965">
|
64
|
+
<caret line="92" column="9" selection-start-line="92" selection-start-column="9" selection-end-line="92" selection-end-column="9" />
|
65
65
|
<folding />
|
66
66
|
</state>
|
67
67
|
</provider>
|
68
68
|
</entry>
|
69
69
|
</file>
|
70
|
-
<file leaf-file-name="
|
71
|
-
<entry file="file://$PROJECT_DIR$/lib/spec/
|
70
|
+
<file leaf-file-name="full_run_for_linux_spec.rb" pinned="false" current-in-tab="false">
|
71
|
+
<entry file="file://$PROJECT_DIR$/lib/spec/full_run_for_linux_spec.rb">
|
72
72
|
<provider selected="true" editor-type-id="text-editor">
|
73
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
74
|
-
<caret line="
|
73
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="75" max-vertical-offset="855">
|
74
|
+
<caret line="41" column="120" selection-start-line="41" selection-start-column="120" selection-end-line="41" selection-end-column="120" />
|
75
75
|
<folding />
|
76
76
|
</state>
|
77
77
|
</provider>
|
78
78
|
</entry>
|
79
79
|
</file>
|
80
|
-
<file leaf-file-name="
|
81
|
-
<entry file="file://$PROJECT_DIR$/
|
82
|
-
<provider editor-type-id="MarkdownPreviewEditor">
|
83
|
-
<state />
|
84
|
-
</provider>
|
80
|
+
<file leaf-file-name="version.rb" pinned="false" current-in-tab="true">
|
81
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/version.rb">
|
85
82
|
<provider selected="true" editor-type-id="text-editor">
|
86
|
-
<state vertical-scroll-proportion="0.
|
87
|
-
<caret line="
|
83
|
+
<state vertical-scroll-proportion="0.02" vertical-offset="0" max-vertical-offset="750">
|
84
|
+
<caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
|
88
85
|
<folding />
|
89
86
|
</state>
|
90
87
|
</provider>
|
91
88
|
</entry>
|
92
89
|
</file>
|
93
|
-
<file leaf-file-name="
|
94
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/
|
90
|
+
<file leaf-file-name="client.rb" pinned="false" current-in-tab="false">
|
91
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/client.rb">
|
95
92
|
<provider selected="true" editor-type-id="text-editor">
|
96
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
97
|
-
<caret line="
|
93
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1545">
|
94
|
+
<caret line="34" column="21" selection-start-line="34" selection-start-column="21" selection-end-line="34" selection-end-column="21" />
|
98
95
|
<folding />
|
99
96
|
</state>
|
100
97
|
</provider>
|
101
98
|
</entry>
|
102
99
|
</file>
|
103
|
-
<file leaf-file-name="
|
104
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera.rb">
|
100
|
+
<file leaf-file-name="worker.rb" pinned="false" current-in-tab="false">
|
101
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/worker.rb">
|
105
102
|
<provider selected="true" editor-type-id="text-editor">
|
106
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
107
|
-
<caret line="
|
103
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="690" max-vertical-offset="2055">
|
104
|
+
<caret line="78" column="0" selection-start-line="78" selection-start-column="0" selection-end-line="78" selection-end-column="0" />
|
108
105
|
<folding />
|
109
106
|
</state>
|
110
107
|
</provider>
|
111
108
|
</entry>
|
112
109
|
</file>
|
113
|
-
<file leaf-file-name="
|
114
|
-
<entry file="file://$PROJECT_DIR$/
|
110
|
+
<file leaf-file-name="cucumber_test_runner.rb" pinned="false" current-in-tab="false">
|
111
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/cucumber/cucumber_test_runner.rb">
|
115
112
|
<provider selected="true" editor-type-id="text-editor">
|
116
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
117
|
-
<caret line="
|
113
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1215">
|
114
|
+
<caret line="32" column="48" selection-start-line="32" selection-start-column="48" selection-end-line="32" selection-end-column="48" />
|
118
115
|
<folding />
|
119
116
|
</state>
|
120
117
|
</provider>
|
121
118
|
</entry>
|
122
119
|
</file>
|
123
|
-
<file leaf-file-name="
|
124
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/
|
120
|
+
<file leaf-file-name="platform_utils.rb" pinned="false" current-in-tab="false">
|
121
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/platform_utils.rb">
|
125
122
|
<provider selected="true" editor-type-id="text-editor">
|
126
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
127
|
-
<caret line="
|
123
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1185">
|
124
|
+
<caret line="9" column="10" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="10" />
|
128
125
|
<folding />
|
129
126
|
</state>
|
130
127
|
</provider>
|
131
128
|
</entry>
|
132
129
|
</file>
|
133
|
-
<file leaf-file-name="
|
134
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera
|
130
|
+
<file leaf-file-name="kymera.rb" pinned="false" current-in-tab="false">
|
131
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera.rb">
|
135
132
|
<provider selected="true" editor-type-id="text-editor">
|
136
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
137
|
-
<caret line="
|
133
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="1380">
|
134
|
+
<caret line="19" column="81" selection-start-line="19" selection-start-column="81" selection-end-line="19" selection-end-column="81" />
|
138
135
|
<folding />
|
139
136
|
</state>
|
140
137
|
</provider>
|
@@ -157,24 +154,28 @@
|
|
157
154
|
<option value="$PROJECT_DIR$/lib/kymera/cucumber/cucumber_html_parser.rb" />
|
158
155
|
<option value="$PROJECT_DIR$/lib/spec/config_options.txt" />
|
159
156
|
<option value="$PROJECT_DIR$/lib/spec/test_file_paths_spec.rb" />
|
160
|
-
<option value="$PROJECT_DIR$/lib/kymera/worker.rb" />
|
161
157
|
<option value="$PROJECT_DIR$/lib/kymera/test_results_collector.rb" />
|
162
|
-
<option value="$PROJECT_DIR$/lib/kymera/client.rb" />
|
163
|
-
<option value="$PROJECT_DIR$/lib/spec/startup_broker_bus_collector_spec.rb" />
|
164
158
|
<option value="$PROJECT_DIR$/lib/kymera/config/config.yaml" />
|
165
|
-
<option value="$PROJECT_DIR$/lib/spec/worker_test_run_spec.rb" />
|
166
159
|
<option value="$PROJECT_DIR$/lib/kymera/results_bus.rb" />
|
167
|
-
<option value="$PROJECT_DIR$/lib/kymera/broker.rb" />
|
168
160
|
<option value="$PROJECT_DIR$/lib/kymera/config/config.rb" />
|
169
161
|
<option value="$PROJECT_DIR$/bin/start_kymera_broker.rb" />
|
170
162
|
<option value="$PROJECT_DIR$/bin/start_kymera_collector.rb" />
|
171
|
-
<option value="$PROJECT_DIR$/kymera.gemspec" />
|
172
163
|
<option value="$PROJECT_DIR$/bin/kymera.rb" />
|
173
164
|
<option value="$PROJECT_DIR$/bin/kymera" />
|
174
165
|
<option value="$PROJECT_DIR$/lib/spec/client_test_run_spec.rb" />
|
166
|
+
<option value="$PROJECT_DIR$/kymera.gemspec" />
|
167
|
+
<option value="$PROJECT_DIR$/README.md" />
|
168
|
+
<option value="$PROJECT_DIR$/config.md" />
|
169
|
+
<option value="$PROJECT_DIR$/lib/kymera/array_exten.rb" />
|
170
|
+
<option value="$PROJECT_DIR$/lib/spec/startup_broker_bus_collector_spec.rb" />
|
171
|
+
<option value="$PROJECT_DIR$/lib/spec/worker_test_run_spec.rb" />
|
172
|
+
<option value="$PROJECT_DIR$/lib/kymera/platform_utils.rb" />
|
173
|
+
<option value="$PROJECT_DIR$/lib/kymera/broker.rb" />
|
174
|
+
<option value="$PROJECT_DIR$/lib/kymera/client.rb" />
|
175
175
|
<option value="$PROJECT_DIR$/lib/kymera.rb" />
|
176
|
+
<option value="$PROJECT_DIR$/lib/kymera/worker.rb" />
|
177
|
+
<option value="$PROJECT_DIR$/lib/spec/full_run_for_linux_spec.rb" />
|
176
178
|
<option value="$PROJECT_DIR$/lib/kymera/version.rb" />
|
177
|
-
<option value="$PROJECT_DIR$/README.md" />
|
178
179
|
</list>
|
179
180
|
</option>
|
180
181
|
</component>
|
@@ -244,6 +245,24 @@
|
|
244
245
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
245
246
|
</PATH_ELEMENT>
|
246
247
|
</PATH>
|
248
|
+
<PATH>
|
249
|
+
<PATH_ELEMENT>
|
250
|
+
<option name="myItemId" value="kymera" />
|
251
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
252
|
+
</PATH_ELEMENT>
|
253
|
+
<PATH_ELEMENT>
|
254
|
+
<option name="myItemId" value="kymera" />
|
255
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
256
|
+
</PATH_ELEMENT>
|
257
|
+
<PATH_ELEMENT>
|
258
|
+
<option name="myItemId" value="lib" />
|
259
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
260
|
+
</PATH_ELEMENT>
|
261
|
+
<PATH_ELEMENT>
|
262
|
+
<option name="myItemId" value="spec" />
|
263
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
264
|
+
</PATH_ELEMENT>
|
265
|
+
</PATH>
|
247
266
|
<PATH>
|
248
267
|
<PATH_ELEMENT>
|
249
268
|
<option name="myItemId" value="kymera" />
|
@@ -272,7 +291,37 @@
|
|
272
291
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
273
292
|
</PATH_ELEMENT>
|
274
293
|
<PATH_ELEMENT>
|
275
|
-
<option name="myItemId" value="
|
294
|
+
<option name="myItemId" value="lib" />
|
295
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
296
|
+
</PATH_ELEMENT>
|
297
|
+
<PATH_ELEMENT>
|
298
|
+
<option name="myItemId" value="kymera" />
|
299
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
300
|
+
</PATH_ELEMENT>
|
301
|
+
<PATH_ELEMENT>
|
302
|
+
<option name="myItemId" value="cucumber" />
|
303
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
304
|
+
</PATH_ELEMENT>
|
305
|
+
</PATH>
|
306
|
+
<PATH>
|
307
|
+
<PATH_ELEMENT>
|
308
|
+
<option name="myItemId" value="kymera" />
|
309
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
310
|
+
</PATH_ELEMENT>
|
311
|
+
<PATH_ELEMENT>
|
312
|
+
<option name="myItemId" value="kymera" />
|
313
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
314
|
+
</PATH_ELEMENT>
|
315
|
+
<PATH_ELEMENT>
|
316
|
+
<option name="myItemId" value="lib" />
|
317
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
318
|
+
</PATH_ELEMENT>
|
319
|
+
<PATH_ELEMENT>
|
320
|
+
<option name="myItemId" value="kymera" />
|
321
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
322
|
+
</PATH_ELEMENT>
|
323
|
+
<PATH_ELEMENT>
|
324
|
+
<option name="myItemId" value="config" />
|
276
325
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
277
326
|
</PATH_ELEMENT>
|
278
327
|
</PATH>
|
@@ -287,7 +336,7 @@
|
|
287
336
|
<property name="recentsLimit" value="5" />
|
288
337
|
<property name="options.lastSelected" value="org.jetbrains.plugins.ruby.settings.RubyActiveModuleSdkConfigurable" />
|
289
338
|
<property name="SearchEverywhereHistory" value="s @" />
|
290
|
-
<property name="last_opened_file_path" value="$
|
339
|
+
<property name="last_opened_file_path" value="$USER_HOME$/express_automation" />
|
291
340
|
<property name="FullScreen" value="false" />
|
292
341
|
<property name="options.searchVisible" value="true" />
|
293
342
|
<property name="options.splitter.details.proportions" value="0.2" />
|
@@ -604,7 +653,7 @@
|
|
604
653
|
<servers />
|
605
654
|
</component>
|
606
655
|
<component name="ToolWindowManager">
|
607
|
-
<frame x="0" y="23" width="1440" height="821" extended-state="
|
656
|
+
<frame x="0" y="23" width="1440" height="821" extended-state="0" />
|
608
657
|
<editor active="true" />
|
609
658
|
<layout>
|
610
659
|
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
@@ -623,9 +672,9 @@
|
|
623
672
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
624
673
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
625
674
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
626
|
-
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3284974" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
627
675
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
628
676
|
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
677
|
+
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3284974" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
629
678
|
</layout>
|
630
679
|
</component>
|
631
680
|
<component name="Vcs.Log.UiProperties">
|
@@ -651,38 +700,10 @@
|
|
651
700
|
<watches-manager />
|
652
701
|
</component>
|
653
702
|
<component name="editorHistoryManager">
|
654
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/config/config.rb">
|
655
|
-
<provider selected="true" editor-type-id="text-editor">
|
656
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="300" max-vertical-offset="615">
|
657
|
-
<caret line="20" column="56" selection-start-line="20" selection-start-column="56" selection-end-line="20" selection-end-column="56" />
|
658
|
-
<folding />
|
659
|
-
</state>
|
660
|
-
</provider>
|
661
|
-
</entry>
|
662
|
-
<entry file="file://$PROJECT_DIR$/lib/spec/client_test_run_spec.rb">
|
663
|
-
<provider selected="true" editor-type-id="text-editor">
|
664
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="30" max-vertical-offset="120">
|
665
|
-
<caret line="2" column="139" selection-start-line="2" selection-start-column="139" selection-end-line="2" selection-end-column="139" />
|
666
|
-
<folding />
|
667
|
-
</state>
|
668
|
-
</provider>
|
669
|
-
</entry>
|
670
|
-
<entry file="file://$PROJECT_DIR$/README.md">
|
671
|
-
<provider editor-type-id="MarkdownPreviewEditor">
|
672
|
-
<state />
|
673
|
-
</provider>
|
674
|
-
<provider selected="true" editor-type-id="text-editor">
|
675
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="100">
|
676
|
-
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
677
|
-
<folding />
|
678
|
-
</state>
|
679
|
-
</provider>
|
680
|
-
</entry>
|
681
703
|
<entry file="file://$PROJECT_DIR$/bin/kymera">
|
682
704
|
<provider selected="true" editor-type-id="text-editor">
|
683
705
|
<state vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="1035">
|
684
706
|
<caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
|
685
|
-
<folding />
|
686
707
|
</state>
|
687
708
|
</provider>
|
688
709
|
</entry>
|
@@ -737,13 +758,6 @@
|
|
737
758
|
</state>
|
738
759
|
</provider>
|
739
760
|
</entry>
|
740
|
-
<entry file="file://$PROJECT_DIR$/lib/spec/full_run_for_linux_spec.rb">
|
741
|
-
<provider selected="true" editor-type-id="text-editor">
|
742
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
|
743
|
-
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
744
|
-
</state>
|
745
|
-
</provider>
|
746
|
-
</entry>
|
747
761
|
<entry file="file://$PROJECT_DIR$/lib/spec/worker_spec.rb">
|
748
762
|
<provider selected="true" editor-type-id="text-editor">
|
749
763
|
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
|
@@ -821,13 +835,6 @@
|
|
821
835
|
</state>
|
822
836
|
</provider>
|
823
837
|
</entry>
|
824
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/cucumber/cucumber_test_runner.rb">
|
825
|
-
<provider selected="true" editor-type-id="text-editor">
|
826
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
|
827
|
-
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
828
|
-
</state>
|
829
|
-
</provider>
|
830
|
-
</entry>
|
831
838
|
<entry file="file://$PROJECT_DIR$/lib/spec/full_run_spec.rb">
|
832
839
|
<provider selected="true" editor-type-id="text-editor">
|
833
840
|
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
|
@@ -835,13 +842,6 @@
|
|
835
842
|
</state>
|
836
843
|
</provider>
|
837
844
|
</entry>
|
838
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/cucumber/test_parser.rb">
|
839
|
-
<provider selected="true" editor-type-id="text-editor">
|
840
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
|
841
|
-
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
842
|
-
</state>
|
843
|
-
</provider>
|
844
|
-
</entry>
|
845
845
|
<entry file="file://$PROJECT_DIR$/lib/spec/html_parser_spec.rb">
|
846
846
|
<provider selected="true" editor-type-id="text-editor">
|
847
847
|
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
|
@@ -877,85 +877,122 @@
|
|
877
877
|
</state>
|
878
878
|
</provider>
|
879
879
|
</entry>
|
880
|
-
<entry file="file://$PROJECT_DIR$/lib/spec/
|
880
|
+
<entry file="file://$PROJECT_DIR$/lib/spec/test_file_paths_spec.rb">
|
881
881
|
<provider selected="true" editor-type-id="text-editor">
|
882
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
883
|
-
<caret line="
|
882
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="120">
|
883
|
+
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
|
884
884
|
</state>
|
885
885
|
</provider>
|
886
886
|
</entry>
|
887
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/
|
887
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/mongo_driver.rb">
|
888
888
|
<provider selected="true" editor-type-id="text-editor">
|
889
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
890
|
-
<caret line="
|
889
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="660">
|
890
|
+
<caret line="30" column="41" selection-start-line="30" selection-start-column="41" selection-end-line="30" selection-end-column="41" />
|
891
891
|
</state>
|
892
892
|
</provider>
|
893
893
|
</entry>
|
894
|
-
<entry file="file://$PROJECT_DIR$/lib/spec/
|
894
|
+
<entry file="file://$PROJECT_DIR$/lib/spec/config_options.txt">
|
895
895
|
<provider selected="true" editor-type-id="text-editor">
|
896
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
897
|
-
<caret line="
|
896
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="105" max-vertical-offset="855">
|
897
|
+
<caret line="34" column="52" selection-start-line="34" selection-start-column="52" selection-end-line="34" selection-end-column="52" />
|
898
898
|
</state>
|
899
899
|
</provider>
|
900
900
|
</entry>
|
901
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/
|
901
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/szmq/szmq.rb">
|
902
902
|
<provider selected="true" editor-type-id="text-editor">
|
903
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
904
|
-
<caret line="
|
903
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="485" max-vertical-offset="3870">
|
904
|
+
<caret line="50" column="6" selection-start-line="50" selection-start-column="6" selection-end-line="55" selection-end-column="9" />
|
905
|
+
<folding />
|
905
906
|
</state>
|
906
907
|
</provider>
|
907
908
|
</entry>
|
908
|
-
<entry file="file://$PROJECT_DIR$/
|
909
|
+
<entry file="file://$PROJECT_DIR$/bin/kymera">
|
909
910
|
<provider selected="true" editor-type-id="text-editor">
|
910
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
911
|
-
<caret line="
|
911
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="1035">
|
912
|
+
<caret line="31" column="94" selection-start-line="31" selection-start-column="94" selection-end-line="31" selection-end-column="94" />
|
912
913
|
</state>
|
913
914
|
</provider>
|
914
915
|
</entry>
|
915
|
-
<entry file="file://$PROJECT_DIR$/
|
916
|
+
<entry file="file://$PROJECT_DIR$/kymera.gemspec">
|
916
917
|
<provider selected="true" editor-type-id="text-editor">
|
917
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
918
|
-
<caret line="
|
918
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="555">
|
919
|
+
<caret line="11" column="64" selection-start-line="11" selection-start-column="64" selection-end-line="11" selection-end-column="64" />
|
919
920
|
</state>
|
920
921
|
</provider>
|
921
922
|
</entry>
|
922
|
-
<entry file="file://$PROJECT_DIR$/
|
923
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
923
924
|
<provider selected="true" editor-type-id="text-editor">
|
924
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
925
|
-
<caret line="
|
925
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="735" max-vertical-offset="1545">
|
926
|
+
<caret line="49" column="131" selection-start-line="49" selection-start-column="131" selection-end-line="49" selection-end-column="131" />
|
926
927
|
</state>
|
927
928
|
</provider>
|
929
|
+
<provider editor-type-id="MarkdownPreviewEditor">
|
930
|
+
<state />
|
931
|
+
</provider>
|
928
932
|
</entry>
|
929
|
-
<entry file="file://$PROJECT_DIR$/
|
933
|
+
<entry file="file://$PROJECT_DIR$/config.md">
|
930
934
|
<provider selected="true" editor-type-id="text-editor">
|
931
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
932
|
-
<caret line="
|
935
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="435" max-vertical-offset="1575">
|
936
|
+
<caret line="29" column="155" selection-start-line="29" selection-start-column="155" selection-end-line="29" selection-end-column="155" />
|
933
937
|
</state>
|
934
938
|
</provider>
|
939
|
+
<provider editor-type-id="MarkdownPreviewEditor">
|
940
|
+
<state />
|
941
|
+
</provider>
|
935
942
|
</entry>
|
936
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
943
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/cucumber/test_parser.rb">
|
944
|
+
<provider selected="true" editor-type-id="text-editor">
|
945
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="615">
|
946
|
+
<caret line="12" column="10" selection-start-line="12" selection-start-column="10" selection-end-line="12" selection-end-column="10" />
|
947
|
+
<folding />
|
948
|
+
</state>
|
949
|
+
</provider>
|
950
|
+
</entry>
|
951
|
+
<entry file="file://$PROJECT_DIR$/lib/spec/broker_spec.rb">
|
952
|
+
<provider selected="true" editor-type-id="text-editor">
|
953
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="465">
|
954
|
+
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
955
|
+
</state>
|
956
|
+
</provider>
|
957
|
+
</entry>
|
958
|
+
<entry file="file:///System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rbconfig/obsolete.rb">
|
937
959
|
<provider selected="true" editor-type-id="text-editor">
|
938
|
-
<state vertical-scroll-proportion="0.
|
939
|
-
<caret line="
|
960
|
+
<state vertical-scroll-proportion="0.62" vertical-offset="0" max-vertical-offset="750">
|
961
|
+
<caret line="31" column="2" selection-start-line="31" selection-start-column="2" selection-end-line="31" selection-end-column="2" />
|
962
|
+
<folding />
|
940
963
|
</state>
|
941
964
|
</provider>
|
942
965
|
</entry>
|
943
966
|
<entry file="file://$PROJECT_DIR$/lib/kymera/config/config.rb">
|
944
967
|
<provider selected="true" editor-type-id="text-editor">
|
945
968
|
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="615">
|
946
|
-
<caret line="
|
969
|
+
<caret line="11" column="38" selection-start-line="11" selection-start-column="38" selection-end-line="11" selection-end-column="38" />
|
947
970
|
<folding />
|
948
971
|
</state>
|
949
972
|
</provider>
|
950
973
|
</entry>
|
951
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
974
|
+
<entry file="file://$PROJECT_DIR$/lib/spec/worker_test_run_spec.rb">
|
975
|
+
<provider selected="true" editor-type-id="text-editor">
|
976
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="405">
|
977
|
+
<caret line="3" column="13" selection-start-line="3" selection-start-column="13" selection-end-line="3" selection-end-column="13" />
|
978
|
+
</state>
|
979
|
+
</provider>
|
980
|
+
</entry>
|
981
|
+
<entry file="file://$PROJECT_DIR$/lib/spec/client_test_run_spec.rb">
|
952
982
|
<provider selected="true" editor-type-id="text-editor">
|
953
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
954
|
-
<caret line="
|
983
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="120">
|
984
|
+
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="139" />
|
955
985
|
<folding />
|
956
986
|
</state>
|
957
987
|
</provider>
|
958
988
|
</entry>
|
989
|
+
<entry file="file://$PROJECT_DIR$/lib/spec/startup_broker_bus_collector_spec.rb">
|
990
|
+
<provider selected="true" editor-type-id="text-editor">
|
991
|
+
<state vertical-scroll-proportion="0.68" vertical-offset="0" max-vertical-offset="750">
|
992
|
+
<caret line="34" column="3" selection-start-line="34" selection-start-column="3" selection-end-line="34" selection-end-column="3" />
|
993
|
+
</state>
|
994
|
+
</provider>
|
995
|
+
</entry>
|
959
996
|
<entry file="file://$PROJECT_DIR$/lib/kymera/results_bus.rb">
|
960
997
|
<provider selected="true" editor-type-id="text-editor">
|
961
998
|
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="465">
|
@@ -964,69 +1001,82 @@
|
|
964
1001
|
</state>
|
965
1002
|
</provider>
|
966
1003
|
</entry>
|
967
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/
|
1004
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/platform_utils.rb">
|
968
1005
|
<provider selected="true" editor-type-id="text-editor">
|
969
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
970
|
-
<caret line="
|
1006
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1185">
|
1007
|
+
<caret line="9" column="10" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="10" />
|
971
1008
|
<folding />
|
972
1009
|
</state>
|
973
1010
|
</provider>
|
974
1011
|
</entry>
|
975
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
1012
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/array_exten.rb">
|
976
1013
|
<provider selected="true" editor-type-id="text-editor">
|
977
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
978
|
-
<caret line="
|
1014
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="240">
|
1015
|
+
<caret line="10" column="3" selection-start-line="10" selection-start-column="3" selection-end-line="10" selection-end-column="3" />
|
979
1016
|
<folding />
|
980
1017
|
</state>
|
981
1018
|
</provider>
|
982
1019
|
</entry>
|
983
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
1020
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/cucumber/cucumber_test_runner.rb">
|
984
1021
|
<provider selected="true" editor-type-id="text-editor">
|
985
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
986
|
-
<caret line="
|
1022
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1215">
|
1023
|
+
<caret line="32" column="48" selection-start-line="32" selection-start-column="48" selection-end-line="32" selection-end-column="48" />
|
987
1024
|
<folding />
|
988
1025
|
</state>
|
989
1026
|
</provider>
|
990
1027
|
</entry>
|
991
|
-
<entry file="file://$PROJECT_DIR$/
|
1028
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/test_results_collector.rb">
|
992
1029
|
<provider selected="true" editor-type-id="text-editor">
|
993
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
994
|
-
<caret line="
|
1030
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="885" max-vertical-offset="1965">
|
1031
|
+
<caret line="92" column="9" selection-start-line="92" selection-start-column="9" selection-end-line="92" selection-end-column="9" />
|
1032
|
+
<folding />
|
1033
|
+
</state>
|
1034
|
+
</provider>
|
1035
|
+
</entry>
|
1036
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/broker.rb">
|
1037
|
+
<provider selected="true" editor-type-id="text-editor">
|
1038
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="2220">
|
1039
|
+
<caret line="52" column="15" selection-start-line="52" selection-start-column="15" selection-end-line="52" selection-end-column="15" />
|
995
1040
|
<folding />
|
996
1041
|
</state>
|
997
1042
|
</provider>
|
998
1043
|
</entry>
|
999
1044
|
<entry file="file://$PROJECT_DIR$/lib/kymera.rb">
|
1000
1045
|
<provider selected="true" editor-type-id="text-editor">
|
1001
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
1002
|
-
<caret line="
|
1046
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="1380">
|
1047
|
+
<caret line="19" column="81" selection-start-line="19" selection-start-column="81" selection-end-line="19" selection-end-column="81" />
|
1003
1048
|
<folding />
|
1004
1049
|
</state>
|
1005
1050
|
</provider>
|
1006
1051
|
</entry>
|
1007
|
-
<entry file="file://$PROJECT_DIR$/lib/kymera/
|
1052
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/worker.rb">
|
1008
1053
|
<provider selected="true" editor-type-id="text-editor">
|
1009
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
1010
|
-
<caret line="
|
1054
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="690" max-vertical-offset="2055">
|
1055
|
+
<caret line="78" column="0" selection-start-line="78" selection-start-column="0" selection-end-line="78" selection-end-column="0" />
|
1011
1056
|
<folding />
|
1012
1057
|
</state>
|
1013
1058
|
</provider>
|
1014
1059
|
</entry>
|
1015
|
-
<entry file="file://$PROJECT_DIR$/kymera.
|
1060
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/client.rb">
|
1016
1061
|
<provider selected="true" editor-type-id="text-editor">
|
1017
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
1018
|
-
<caret line="
|
1062
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="90" max-vertical-offset="1545">
|
1063
|
+
<caret line="34" column="21" selection-start-line="34" selection-start-column="21" selection-end-line="34" selection-end-column="21" />
|
1019
1064
|
<folding />
|
1020
1065
|
</state>
|
1021
1066
|
</provider>
|
1022
1067
|
</entry>
|
1023
|
-
<entry file="file://$PROJECT_DIR$/
|
1024
|
-
<provider editor-type-id="
|
1025
|
-
<state
|
1068
|
+
<entry file="file://$PROJECT_DIR$/lib/spec/full_run_for_linux_spec.rb">
|
1069
|
+
<provider selected="true" editor-type-id="text-editor">
|
1070
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="75" max-vertical-offset="855">
|
1071
|
+
<caret line="41" column="120" selection-start-line="41" selection-start-column="120" selection-end-line="41" selection-end-column="120" />
|
1072
|
+
<folding />
|
1073
|
+
</state>
|
1026
1074
|
</provider>
|
1075
|
+
</entry>
|
1076
|
+
<entry file="file://$PROJECT_DIR$/lib/kymera/version.rb">
|
1027
1077
|
<provider selected="true" editor-type-id="text-editor">
|
1028
|
-
<state vertical-scroll-proportion="0.
|
1029
|
-
<caret line="
|
1078
|
+
<state vertical-scroll-proportion="0.02" vertical-offset="0" max-vertical-offset="750">
|
1079
|
+
<caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
|
1030
1080
|
<folding />
|
1031
1081
|
</state>
|
1032
1082
|
</provider>
|
data/README.md
CHANGED
@@ -27,7 +27,7 @@ The worker is the component that is responsible for actually running the tests.
|
|
27
27
|
the test is completed it will send the entire output of that run to the test results collector for processing
|
28
28
|
|
29
29
|
###Results Collector
|
30
|
-
The result collector is responsible for taking all of the results from a test run, aggregating them and sending those results back to the client
|
30
|
+
The result collector is responsible for taking all of the results from a test run, aggregating them and sending those results back to the client.
|
31
31
|
Optionally, the collector can also send a complete version of the results, parsed into html, to a mongodb database for reporting purposes.
|
32
32
|
|
33
33
|
###Results Bus
|
@@ -35,7 +35,6 @@ The Results Bus is where all the results are published. The Client listens on th
|
|
35
35
|
that the test run has completed.
|
36
36
|
|
37
37
|
## Installation
|
38
|
-
Please note that at the time of this writing, this gem has not been published. You will need to pull a copy of the repo and build the gem yourself
|
39
38
|
|
40
39
|
$ gem install kymera
|
41
40
|
|
@@ -48,6 +47,8 @@ as you Cucumber project. For convenience, there is a command line tool included
|
|
48
47
|
|
49
48
|
$ kymera config
|
50
49
|
|
50
|
+
To find more detailed information about the different options available in the kymera_config.yaml, please see the config page [here](config.md)
|
51
|
+
|
51
52
|
By default, the gem is setup to run everything locally and has the mongodb feature turned off. Before you can use the Kymera system, the following components
|
52
53
|
must be running:
|
53
54
|
* Broker
|
@@ -77,7 +78,7 @@ The run_tests method takes the following parameters
|
|
77
78
|
This can be a path to a specific test or a path to a directory of tests. The system will parse all of the feature files for
|
78
79
|
tests it is supposed to run based on the run options passed in.
|
79
80
|
* Test runner -
|
80
|
-
This is the runner that
|
81
|
+
This is the runner that the system is to use for running the tests. At the time of this writing, the only supported running is cucumber
|
81
82
|
* Runner options -
|
82
83
|
These are the options to be passed to the runner and what will be used to parse the tests to be executed.
|
83
84
|
* Branch name -
|
data/config.md
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
##Config
|
2
|
+
|
3
|
+
This page describes all of the options available in the kymera_config.yaml. The options are grouped by their relation to each of the different Kymera components.
|
4
|
+
The config file can be manipulated by in two different ways, either directly by changing the contents of the kymera_config.yaml or programatically using
|
5
|
+
the the Kymera::Config class. More on its usuage can be found [here](config_class.md)
|
6
|
+
|
7
|
+
###Client
|
8
|
+
|
9
|
+
The client needs to know where to send the test requests and where to listen for the results.
|
10
|
+
|
11
|
+
####Broker Address
|
12
|
+
|
13
|
+
The broker address is where the client will connect to send subsequent test run requests. The address as 3 components to is,
|
14
|
+
the protocol, the ip address and the port number. The protocol for the address will always be tcp. The ip should be the ip address
|
15
|
+
of the computer that the broker will reside on and the port number will be the port that the broker will be listening on for communication.
|
16
|
+
An example of this would be: 'tcp://192.168.0.12:5000'
|
17
|
+
|
18
|
+
####Results Bus Address
|
19
|
+
|
20
|
+
The results bus address is the address the client should connect to in order to receive real time results as well as run completion notification.
|
21
|
+
As with the broker address it has 3 components as well. The protocol, the ip address and the port number.
|
22
|
+
An example of this would be: 'tcp://192.168.0.12:5000'
|
23
|
+
|
24
|
+
###Broker
|
25
|
+
|
26
|
+
The broker has 4 configuration options. The client listening port, the worker listening port, the internal worker port and the number of connections
|
27
|
+
|
28
|
+
####Client Listening Port
|
29
|
+
|
30
|
+
The client listening port is the port that the broker is listening on for connections from the clients. This port number should be the port that the client
|
31
|
+
is using in the broker address
|
32
|
+
|
33
|
+
####Worker Listening Port
|
34
|
+
|
35
|
+
The worker listening port is the port that the broker is listening on for connections from the workers. This port number should be the port tat the workers
|
36
|
+
are using when specifying the broker address
|
37
|
+
|
38
|
+
####Internal Worker Port
|
39
|
+
|
40
|
+
The part of the broker that is responsible for managing the test queue needs to have its own port for connections. This port is used only within the broker
|
41
|
+
and is not needed by any other component
|
42
|
+
|
43
|
+
####Number of Connections
|
44
|
+
|
45
|
+
Currently, the broker has two queues that it uses for managing tests. When the broker is started, it spawn a number of threads based on number of connections
|
46
|
+
config option. It then uses those threads as the queue for sending tests to workers.
|
47
|
+
|
48
|
+
###Worker
|
49
|
+
|
50
|
+
####Broker address
|
51
|
+
|
52
|
+
This is the address of the broker that the client will get its test run requests from. Like the others, it has a protocol, an ip address and a port number
|
53
|
+
|
54
|
+
####Results Collector Address
|
55
|
+
|
56
|
+
This is the address where the worker will send its final results for a completed test. Like the others, it has a protocol, an ip address and a port number
|
57
|
+
|
58
|
+
####Results Bus Collector
|
59
|
+
|
60
|
+
This is the address where the worker will send its realtime output.
|
61
|
+
|
62
|
+
###Result Collector
|
63
|
+
|
64
|
+
####Incoming Listening Port
|
65
|
+
|
66
|
+
This is the port that the results collector will listen on for incoming results from workers
|
67
|
+
|
68
|
+
####Results Bus Address
|
69
|
+
|
70
|
+
This is the address that the results collector will send the completion signal to the client
|
71
|
+
|
72
|
+
####Send Mongo Results
|
73
|
+
|
74
|
+
This config options tells the collector whether or not to send the results to a mongo database
|
75
|
+
|
76
|
+
####Mongo DB Address
|
77
|
+
|
78
|
+
The location of the mongo database that the collector will send the full runs results to
|
79
|
+
|
80
|
+
####Mongo DB Port
|
81
|
+
|
82
|
+
The port number the mongo database is listening on
|
83
|
+
|
84
|
+
####Mongo Database Name
|
85
|
+
|
86
|
+
The name of the datbase that the results will be written to
|
87
|
+
|
88
|
+
####Mongo Collection Name
|
89
|
+
|
90
|
+
The name of the collection that the results will belong to
|
91
|
+
|
92
|
+
###Result Bus
|
93
|
+
|
94
|
+
####Publish Port
|
95
|
+
|
96
|
+
The port that workers and collectors will publish messages to
|
97
|
+
|
98
|
+
####Subscribe Port
|
99
|
+
|
100
|
+
The port that clients will subscribe to in order to get results
|
data/kymera.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["jakes.sarate@dat.com"]
|
11
11
|
spec.description = 'Distributed Cucumber test runner'
|
12
12
|
spec.summary = 'Execute cucumber tests across a network'
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/jakesa/kymera"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
data/lib/kymera/broker.rb
CHANGED
@@ -11,6 +11,8 @@ module Kymera
|
|
11
11
|
def initialize
|
12
12
|
config = Kymera::Config.new
|
13
13
|
@zmq = Kymera::SZMQ.new
|
14
|
+
#This will change once I get the worker registry up and running. When that is up, there will be one connection spawned for
|
15
|
+
#each of the workers that are connected
|
14
16
|
@num_of_connections = config.broker["number_of_connections"]
|
15
17
|
#This socket is for getting tests from the client
|
16
18
|
@client_address = "tcp://*:#{config.broker["client_listening_port"]}"
|
@@ -37,14 +39,22 @@ module Kymera
|
|
37
39
|
#This is the start of the test run and is called when the broker receives a test run request
|
38
40
|
def start_test_run(test_run)
|
39
41
|
test_run = JSON.parse(test_run)
|
40
|
-
|
41
|
-
tests = test_run["tests"]
|
42
|
+
tests = test_run["tests"].copy
|
42
43
|
threads = []
|
43
44
|
|
45
|
+
if test_run["grouped"] || test_run["grouped"].to_s.downcase == 'true'
|
46
|
+
tests = group_tests(tests)
|
47
|
+
end unless test_run["grouped"].nil?
|
48
|
+
|
49
|
+
@test_count = test_run["tests"].length
|
44
50
|
report_test_config(test_run)
|
51
|
+
# puts "###############################################"
|
52
|
+
# puts "These are the tests"
|
53
|
+
# p tests
|
54
|
+
# puts "#" * 25
|
45
55
|
|
46
56
|
if tests.length > @num_of_connections.to_i
|
47
|
-
1.upto @num_of_connections do
|
57
|
+
1.upto @num_of_connections.to_i do
|
48
58
|
test = tests.pop
|
49
59
|
break if test.nil?
|
50
60
|
threads << run_test(test, test_run)
|
@@ -68,6 +78,27 @@ module Kymera
|
|
68
78
|
|
69
79
|
end
|
70
80
|
|
81
|
+
def group_tests(tests)
|
82
|
+
#This creates a group for each of the available connection as specified by the @num_of_connections variable
|
83
|
+
#It will then iterate over all of the tests and add a test to each of the groups
|
84
|
+
#at the end of the iteration, if any groups are left empty, they are deleted and the trimmed array is returned
|
85
|
+
groups = []
|
86
|
+
|
87
|
+
1.upto @num_of_connections do
|
88
|
+
groups << []
|
89
|
+
end
|
90
|
+
|
91
|
+
while tests.length > 0
|
92
|
+
groups.each do |group|
|
93
|
+
test = tests.pop
|
94
|
+
group << test unless test.nil?
|
95
|
+
break if test.nil?
|
96
|
+
end
|
97
|
+
end
|
98
|
+
groups.delete_if {|group| group.empty?}
|
99
|
+
end
|
100
|
+
|
101
|
+
|
71
102
|
#If there are tests left over after the initial test start up, they are placed into a queue. The queue is then worked until all tests in the queue have been executed
|
72
103
|
def work_queue(threads, tests, options)
|
73
104
|
until tests.empty?
|
data/lib/kymera/client.rb
CHANGED
@@ -32,10 +32,10 @@ module Kymera
|
|
32
32
|
#This is the kick off point for the test run. The tests parameter is the directory location of the tests you wish to run. This will be passed into a test parser that will determine
|
33
33
|
#which of the tests in the directory need to be run based on the options passed in. The runner parameter tells the system which test runner the system should use. Right now, the only
|
34
34
|
#supported test runner is Cucumber, but I would like to expand this at the very least to also support Rspec. The options parameter are the options to be passed into the specified runner
|
35
|
-
def run_tests(tests, runner, options, branch = 'develop')
|
35
|
+
def run_tests(tests, runner, options, grouped = false, branch = 'develop')
|
36
36
|
@start_time = Time.now
|
37
37
|
tests = parse_tests(tests, runner, options)
|
38
|
-
test_run = {:tests => tests, :runner => runner, :run_id => @full_run_id, :options => options, :branch => branch, :start_time => @start_time.to_s }
|
38
|
+
test_run = {:tests => tests, :runner => runner, :run_id => @full_run_id, :options => options, :branch => branch, :start_time => @start_time.to_s, :grouped => grouped }
|
39
39
|
socket = @zmq.socket(@broker_address, 'push')
|
40
40
|
socket.connect
|
41
41
|
message = JSON.generate(test_run)
|
data/lib/kymera/version.rb
CHANGED
data/lib/kymera/worker.rb
CHANGED
@@ -9,6 +9,7 @@ module Kymera
|
|
9
9
|
@test_address = config.worker["broker_address"]
|
10
10
|
@results_address = config.worker["result_collector_address"]
|
11
11
|
@result_bus_address = config.worker["result_bus_address"]
|
12
|
+
@max_threads = Kymera.processor_count * 2
|
12
13
|
@zmq = SZMQ.new
|
13
14
|
#For the moment I am using a push/pull configuration for running of tests. Initial runs indicated that this may not work as all tests are being sent to just one
|
14
15
|
#worker at a time instead of load balancing them. It may be more advantageous to use a request/reply structure for sending tests and managing the test run queue
|
@@ -21,6 +22,8 @@ module Kymera
|
|
21
22
|
#Even though this is a push socket, I am connecting instead of binding because the static point is going to be the pull socket where the results are aggregated
|
22
23
|
#Static points are bound, dynamic points are connected
|
23
24
|
@results_socket.connect
|
25
|
+
@threads = []
|
26
|
+
@runner_id = Kymera.host_name
|
24
27
|
end
|
25
28
|
|
26
29
|
def listen
|
@@ -31,8 +34,10 @@ module Kymera
|
|
31
34
|
stop
|
32
35
|
break
|
33
36
|
else
|
34
|
-
results = run_test(message)
|
35
|
-
@results_socket.send_message(results)
|
37
|
+
# results = run_test(message)
|
38
|
+
# @results_socket.send_message(results)
|
39
|
+
puts "Received tests to run"
|
40
|
+
run_test(message, @results_socket)
|
36
41
|
@test_socket.send_message ''
|
37
42
|
end
|
38
43
|
end
|
@@ -42,22 +47,52 @@ module Kymera
|
|
42
47
|
#I need to pass in the runner and runner options. Thinking about using JSON to get those options and instantiate a runner object based on that information
|
43
48
|
#The idea is to be able to take in any number of different test runners (cucumber/rspec) without having the restart the worker object
|
44
49
|
#This is why passing in the runner on worker instantiation isnt really an option
|
45
|
-
def run_test(test)
|
50
|
+
def run_test(test, results_socket)
|
51
|
+
puts "Setting up tests..."
|
46
52
|
test = JSON.parse(test)
|
47
53
|
runner = get_runner(test["runner"], test["options"], test["run_id"])
|
48
|
-
|
54
|
+
tests = !test["test"].is_a?(Array) ? [test["test"]] : test["test"]
|
49
55
|
if Kymera.is_linux?
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
56
|
+
puts "This is a linux/unix based machine. Making adjustments...."
|
57
|
+
begin
|
58
|
+
tests.each do |_test|
|
59
|
+
if _test.include? 'c:'
|
60
|
+
_test.gsub!('c:', '~')
|
61
|
+
else
|
62
|
+
_test.gsub!('C:', '~')
|
63
|
+
end
|
64
|
+
end
|
65
|
+
rescue => e
|
66
|
+
puts e
|
54
67
|
end
|
55
|
-
else
|
56
|
-
test_path = test["test"]
|
57
68
|
end
|
58
69
|
|
59
|
-
|
60
|
-
|
70
|
+
puts "Received #{tests.length} test(s). Running those tests with a max number of threads of #{@max_threads}"
|
71
|
+
|
72
|
+
#TODO: Right now I am passing around a reference to a socket that is created on instantiation, I really should be creating and destroying a socket
|
73
|
+
#for each thread I am creating not passing one in.
|
74
|
+
0.upto @max_threads do
|
75
|
+
_test = tests.pop
|
76
|
+
break if _test.nil?
|
77
|
+
@threads << Thread.new {send_results(runner.run_test(_test, test['branch']), test, results_socket)}
|
78
|
+
end
|
79
|
+
|
80
|
+
puts "Created #{thread_count} threads...."
|
81
|
+
|
82
|
+
if tests.length > 0
|
83
|
+
puts "There were more tests than could be run at one time. Starting test queue."
|
84
|
+
end
|
85
|
+
while tests.length > 0
|
86
|
+
if thread_count < @max_threads
|
87
|
+
_test = tests.pop
|
88
|
+
@threads << Thread.new {send_results(runner.run_test(_test, test['branch']), test, results_socket)}
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
@threads.each do |t|
|
93
|
+
t.join
|
94
|
+
end unless @threads.empty?
|
95
|
+
|
61
96
|
end
|
62
97
|
|
63
98
|
def stop
|
@@ -67,6 +102,19 @@ module Kymera
|
|
67
102
|
|
68
103
|
private
|
69
104
|
|
105
|
+
def send_results(results, message, socket)
|
106
|
+
begin
|
107
|
+
socket.send_message(JSON.generate({:run_id => message["run_id"], :runner_id => @runner_id, :test_count => message["test_count"], :runner => message["runner"], :results => results, :start_time => message["start_time"]} ))
|
108
|
+
rescue => e
|
109
|
+
puts e
|
110
|
+
end
|
111
|
+
|
112
|
+
end
|
113
|
+
|
114
|
+
def thread_count
|
115
|
+
@threads.delete_if {|th| !th.alive?}.length
|
116
|
+
end
|
117
|
+
|
70
118
|
#TODO - I would like to add a way to dynamically add runners so that a user can custom build a runner and use it with this gem.
|
71
119
|
#Right now I am just doing some simple if/then logic to get predefined runners.
|
72
120
|
def get_runner(runner, options, run_id)
|
data/lib/kymera.rb
CHANGED
@@ -11,12 +11,13 @@ require_relative 'kymera/test_results_collector'
|
|
11
11
|
require_relative 'kymera/cucumber/cucumber_results_parser'
|
12
12
|
require_relative '../lib/kymera/cucumber/cucumber_html_parser'
|
13
13
|
require_relative 'kymera/config/config'
|
14
|
+
require_relative 'kymera/array_exten'
|
14
15
|
|
15
16
|
module Kymera
|
16
17
|
|
17
18
|
#Start a test run
|
18
|
-
def self.run_tests(tests, test_runner, options, branch, real_time = true)
|
19
|
-
Kymera::Client.new(real_time).run_tests(tests, test_runner, options, branch)
|
19
|
+
def self.run_tests(tests, test_runner, options, branch, grouped = false, real_time = true)
|
20
|
+
Kymera::Client.new(real_time).run_tests(tests, test_runner, options, grouped, branch)
|
20
21
|
|
21
22
|
end
|
22
23
|
|
@@ -76,8 +77,6 @@ module Kymera
|
|
76
77
|
'sub_port' => '7001'
|
77
78
|
}
|
78
79
|
}
|
79
|
-
puts Dir.pwd
|
80
|
-
puts File.join(Dir.pwd, '/kymera_config.yaml')
|
81
80
|
config_file = File.open(File.join(Dir.pwd, '/kymera_config.yaml'), 'w+')
|
82
81
|
config_options.to_yaml.split('\n').each do |line|
|
83
82
|
config_file.write(line)
|
@@ -1,44 +1,51 @@
|
|
1
|
-
|
1
|
+
require_relative '../../lib/kymera'
|
2
2
|
threads = []
|
3
3
|
|
4
4
|
trap('INT') do
|
5
5
|
threads.each do |thread|
|
6
6
|
thread.kill
|
7
7
|
end unless threads.empty?
|
8
|
+
@close = true
|
8
9
|
end
|
9
10
|
|
10
11
|
#Results bus thread
|
11
12
|
threads << Thread.new {
|
12
|
-
|
13
|
-
bus.start_bus
|
13
|
+
Kymera.start_bus
|
14
14
|
}
|
15
15
|
|
16
16
|
#Broker thread
|
17
17
|
threads << Thread.new {
|
18
|
-
|
19
|
-
broker.start_broker
|
18
|
+
Kymera.start_broker
|
20
19
|
}
|
21
20
|
|
22
21
|
#Results collector thread
|
23
22
|
threads << Thread.new {
|
24
|
-
|
25
|
-
results_collector.listen
|
23
|
+
Kymera.start_collector
|
26
24
|
}
|
27
25
|
|
28
|
-
#Worker thread
|
29
26
|
threads << Thread.new {
|
30
|
-
|
31
|
-
worker.listen
|
27
|
+
Kymera.start_worker
|
32
28
|
}
|
29
|
+
#
|
30
|
+
# threads << Thread.new {
|
31
|
+
# Kymera.start_worker
|
32
|
+
# }
|
33
|
+
#
|
34
|
+
# threads << Thread.new {
|
35
|
+
# Kymera.start_worker
|
36
|
+
# }
|
33
37
|
|
34
38
|
#give stuff a chance to start up
|
35
39
|
sleep 2
|
36
40
|
|
37
|
-
|
38
|
-
|
39
|
-
#client.run_tests('c:/apollo/source/integration_tests/features', 'cucumber', ['-p dev'])
|
41
|
+
# Kymera.run_tests('~/apollo/source/integration_tests/features/posting/delete', 'cucumber', ['-p default'], 'develop', true)
|
42
|
+
Kymera.run_tests('~/apollo/source/integration_tests/features/login_and_session', 'cucumber', ['-p default'], 'develop', true)
|
40
43
|
|
41
44
|
|
45
|
+
loop do
|
46
|
+
raise SystemExit if @close
|
47
|
+
end
|
48
|
+
|
42
49
|
|
43
50
|
|
44
51
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kymera
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jakesa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -161,8 +161,10 @@ files:
|
|
161
161
|
- README.md
|
162
162
|
- Rakefile
|
163
163
|
- bin/kymera
|
164
|
+
- config.md
|
164
165
|
- kymera.gemspec
|
165
166
|
- lib/kymera.rb
|
167
|
+
- lib/kymera/array_exten.rb
|
166
168
|
- lib/kymera/broker.rb
|
167
169
|
- lib/kymera/client.rb
|
168
170
|
- lib/kymera/config/config.rb
|
@@ -200,7 +202,7 @@ files:
|
|
200
202
|
- lib/spec/worker_spec.rb
|
201
203
|
- lib/spec/worker_test_run_spec.rb
|
202
204
|
- lib/spec/zmq_network_test_spec.rb
|
203
|
-
homepage:
|
205
|
+
homepage: https://github.com/jakesa/kymera
|
204
206
|
licenses:
|
205
207
|
- MIT
|
206
208
|
metadata: {}
|