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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8cc655d40172d283efa73b96f3c78cb6635831d3
4
- data.tar.gz: 2e849878dd36d52192694a604c8892c0d754f640
3
+ metadata.gz: c82eaabac4677d7d7c25c48c3158ebe2d0a1c4ee
4
+ data.tar.gz: ed0410d78817931fe190c362a5a84c2ec7f8d288
5
5
  SHA512:
6
- metadata.gz: b103e950d6ad6fa279e478638ce7a8b57fe1d6995972311eb47a93a7337d458ef814a343d14a26f5fe54046bdc57033327d4352defc6c39d161895f1cf1d4d43
7
- data.tar.gz: bb9bbad63b74bd981de900738a2f286f3be083bdab5c7efe3fdbb524f6f648971514090c78772553706d95ac022007faf2a2cf4bf5f887ed0c30d68a807d8911
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.1, ruby-2.0.0-p481) [gem]" level="application" />
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$/README.md" afterPath="$PROJECT_DIR$/README.md" />
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="startup_broker_bus_collector_spec.rb" pinned="false" current-in-tab="false">
41
- <entry file="file://$PROJECT_DIR$/lib/spec/startup_broker_bus_collector_spec.rb">
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="405" max-vertical-offset="600">
44
- <caret line="27" column="56" selection-start-line="27" selection-start-column="56" selection-end-line="27" selection-end-column="56" />
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="kymera.gemspec" pinned="false" current-in-tab="false">
51
- <entry file="file://$PROJECT_DIR$/kymera.gemspec">
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="555">
54
- <caret line="15" column="47" selection-start-line="15" selection-start-column="47" selection-end-line="15" selection-end-column="47" />
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="broker.rb" pinned="false" current-in-tab="false">
61
- <entry file="file://$PROJECT_DIR$/lib/kymera/broker.rb">
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="540" max-vertical-offset="1755">
64
- <caret line="36" column="44" selection-start-line="36" selection-start-column="44" selection-end-line="36" selection-end-column="44" />
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="client_test_run_spec.rb" pinned="false" current-in-tab="false">
71
- <entry file="file://$PROJECT_DIR$/lib/spec/client_test_run_spec.rb">
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="30" max-vertical-offset="120">
74
- <caret line="2" column="139" selection-start-line="2" selection-start-column="139" selection-end-line="2" selection-end-column="139" />
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="README.md" pinned="false" current-in-tab="true">
81
- <entry file="file://$PROJECT_DIR$/README.md">
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.1875" vertical-offset="0" max-vertical-offset="1530">
87
- <caret line="9" column="77" selection-start-line="9" selection-start-column="77" selection-end-line="9" selection-end-column="77" />
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="version.rb" pinned="false" current-in-tab="false">
94
- <entry file="file://$PROJECT_DIR$/lib/kymera/version.rb">
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="135">
97
- <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
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="kymera.rb" pinned="false" current-in-tab="false">
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="990" max-vertical-offset="1395">
107
- <caret line="66" column="41" selection-start-line="66" selection-start-column="41" selection-end-line="66" selection-end-column="41" />
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="kymera" pinned="false" current-in-tab="false">
114
- <entry file="file://$PROJECT_DIR$/bin/kymera">
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="180" max-vertical-offset="1035">
117
- <caret line="31" column="94" selection-start-line="31" selection-start-column="94" selection-end-line="31" selection-end-column="94" />
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="results_bus.rb" pinned="false" current-in-tab="false">
124
- <entry file="file://$PROJECT_DIR$/lib/kymera/results_bus.rb">
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="240" max-vertical-offset="465">
127
- <caret line="16" column="26" selection-start-line="16" selection-start-column="26" selection-end-line="16" selection-end-column="26" />
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="szmq.rb" pinned="false" current-in-tab="false">
134
- <entry file="file://$PROJECT_DIR$/lib/kymera/szmq/szmq.rb">
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="485" max-vertical-offset="3870">
137
- <caret line="50" column="6" selection-start-line="50" selection-start-column="6" selection-end-line="55" selection-end-column="9" />
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="bin" />
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&#10;@" />
290
- <property name="last_opened_file_path" value="$PROJECT_DIR$" />
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="6" />
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/broker_spec.rb">
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="750">
883
- <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
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/platform_utils.rb">
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="1035">
890
- <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
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/test_file_paths_spec.rb">
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="0" max-vertical-offset="120">
897
- <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
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/test_results_collector.rb">
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="0" max-vertical-offset="1965">
904
- <caret line="92" column="9" selection-start-line="92" selection-start-column="9" selection-end-line="92" selection-end-column="9" />
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$/lib/kymera/mongo_driver.rb">
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="0" max-vertical-offset="660">
911
- <caret line="30" column="41" selection-start-line="30" selection-start-column="41" selection-end-line="30" selection-end-column="41" />
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$/lib/kymera/client.rb">
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="300" max-vertical-offset="1545">
918
- <caret line="45" column="29" selection-start-line="45" selection-start-column="29" selection-end-line="45" selection-end-column="29" />
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$/lib/kymera/worker.rb">
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="60" max-vertical-offset="1335">
925
- <caret line="24" column="0" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
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$/lib/spec/config_options.txt">
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="105" max-vertical-offset="855">
932
- <caret line="34" column="52" selection-start-line="34" selection-start-column="52" selection-end-line="34" selection-end-column="52" />
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/spec/worker_test_run_spec.rb">
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.0" vertical-offset="0" max-vertical-offset="750">
939
- <caret line="0" column="19" selection-start-line="0" selection-start-column="19" selection-end-line="0" selection-end-column="19" />
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="20" column="56" selection-start-line="20" selection-start-column="56" selection-end-line="20" selection-end-column="56" />
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/kymera/broker.rb">
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="1755">
954
- <caret line="36" column="44" selection-start-line="36" selection-start-column="44" selection-end-line="36" selection-end-column="44" />
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/szmq/szmq.rb">
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="485" max-vertical-offset="3870">
970
- <caret line="50" column="6" selection-start-line="50" selection-start-column="6" selection-end-line="55" selection-end-column="9" />
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/spec/startup_broker_bus_collector_spec.rb">
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="600">
978
- <caret line="27" column="56" selection-start-line="27" selection-start-column="56" selection-end-line="27" selection-end-column="56" />
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/spec/client_test_run_spec.rb">
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="120">
986
- <caret line="2" column="139" selection-start-line="2" selection-start-column="139" selection-end-line="2" selection-end-column="139" />
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$/bin/kymera">
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="180" max-vertical-offset="1035">
994
- <caret line="31" column="94" selection-start-line="31" selection-start-column="94" selection-end-line="31" selection-end-column="94" />
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="615" max-vertical-offset="1395">
1002
- <caret line="66" column="41" selection-start-line="66" selection-start-column="41" selection-end-line="66" selection-end-column="41" />
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/version.rb">
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="0" max-vertical-offset="135">
1010
- <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
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.gemspec">
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="0" max-vertical-offset="555">
1018
- <caret line="15" column="47" selection-start-line="15" selection-start-column="47" selection-end-line="15" selection-end-column="47" />
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$/README.md">
1024
- <provider editor-type-id="MarkdownPreviewEditor">
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.1875" vertical-offset="0" max-vertical-offset="1530">
1029
- <caret line="9" column="77" selection-start-line="9" selection-start-column="77" selection-end-line="9" selection-end-column="77" />
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 they system is to use for running the tests. At the time of this writing, the only supported running is cucumber
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($/)
@@ -0,0 +1,11 @@
1
+ #This extends the array class to add copy functionality.
2
+ class Array
3
+ def copy_to(array)
4
+ self.map {|t| array << t}
5
+ array
6
+ end
7
+
8
+ def copy
9
+ self.map {|t| t}
10
+ end
11
+ end
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
- @test_count = test_run["tests"].length
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)
@@ -25,6 +25,16 @@ module Kymera
25
25
  end
26
26
  end
27
27
 
28
+ def self.hwprefs_available?
29
+ avail = true
30
+ begin
31
+ `hwprefs`
32
+ rescue
33
+ avail = false
34
+ end
35
+ avail
36
+ end
37
+
28
38
  def self.is_linux?
29
39
  case RbConfig::CONFIG['host_os']
30
40
  when /linux|darwin/
@@ -1,3 +1,3 @@
1
1
  module Kymera
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
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
- test_path = nil
54
+ tests = !test["test"].is_a?(Array) ? [test["test"]] : test["test"]
49
55
  if Kymera.is_linux?
50
- if test["test"].include? 'c:'
51
- test_path = test["test"].gsub('c:','~')
52
- else
53
- test_path = test["test"].gsub('C:','~')
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
- results = runner.run_test(test_path, test['branch'])
60
- JSON.generate({:run_id => test["run_id"], :test_count => test["test_count"], :runner => test["runner"], :results => results, :start_time => test["start_time"]} )
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
- require 'kymera'
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
- bus = Kymera::ResultsBus.new('tcp://*:7000', 'tcp://*:7001')
13
- bus.start_bus
13
+ Kymera.start_bus
14
14
  }
15
15
 
16
16
  #Broker thread
17
17
  threads << Thread.new {
18
- broker = Kymera::Broker.new('tcp://*:5550', 'tcp://127.0.0.1:5551', 'tcp://127.0.0.1:5552', 20)
19
- broker.start_broker
18
+ Kymera.start_broker
20
19
  }
21
20
 
22
21
  #Results collector thread
23
22
  threads << Thread.new {
24
- results_collector = Kymera::TestResultsCollector.new('tcp://*:5556', 'tcp://127.0.0.1:7000')
25
- results_collector.listen
23
+ Kymera.start_collector
26
24
  }
27
25
 
28
- #Worker thread
29
26
  threads << Thread.new {
30
- worker = Kymera::Worker.new('tcp://127.0.0.1:5552', 'tcp://127.0.0.1:5556', 'tcp://127.0.0.1:7000')
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
- client = Kymera::Client.new('tcp://127.0.0.1:5550','tcp://127.0.0.1:7001')
38
- client.run_tests('~/apollo/source/integration_tests/features/login_and_session/logout.feature', 'cucumber', ['-p default'])
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
 
@@ -1,4 +1,4 @@
1
- require 'kymera'
1
+ require_relative '../../lib/kymera'
2
2
  threads = []
3
3
 
4
4
  trap('INT') do
@@ -1,5 +1,5 @@
1
- # require_relative '../../lib/kymera'
2
- require 'kymera'
1
+ require_relative '../../lib/kymera'
2
+ # require 'kymera'
3
3
 
4
4
  # args = ARGV
5
5
  # if args[0] == 'remote'
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.0
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-16 00:00:00.000000000 Z
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: {}