scout-gear 8.0.0 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.vimproject +48 -9
  3. data/Rakefile +6 -1
  4. data/VERSION +1 -1
  5. data/bin/scout +16 -4
  6. data/doc/lib/scout/path.md +35 -0
  7. data/doc/lib/scout/workflow/task.md +13 -0
  8. data/lib/rbbt-scout.rb +2 -1
  9. data/lib/scout/cmd.rb +32 -29
  10. data/lib/scout/concurrent_stream.rb +36 -19
  11. data/lib/scout/exceptions.rb +10 -0
  12. data/lib/scout/indiferent_hash.rb +17 -0
  13. data/lib/scout/log/color.rb +11 -11
  14. data/lib/scout/log/progress/report.rb +8 -5
  15. data/lib/scout/log/progress/util.rb +3 -0
  16. data/lib/scout/log/trap.rb +3 -3
  17. data/lib/scout/log.rb +67 -36
  18. data/lib/scout/meta_extension.rb +34 -0
  19. data/lib/scout/misc/digest.rb +11 -2
  20. data/lib/scout/misc/filesystem.rb +2 -3
  21. data/lib/scout/misc/format.rb +12 -7
  22. data/lib/scout/misc/monitor.rb +11 -0
  23. data/lib/scout/misc/system.rb +48 -0
  24. data/lib/scout/named_array.rb +8 -0
  25. data/lib/scout/offsite/ssh.rb +174 -0
  26. data/lib/scout/offsite/step.rb +100 -0
  27. data/lib/scout/offsite/sync.rb +55 -0
  28. data/lib/scout/offsite.rb +3 -0
  29. data/lib/scout/open/lock.rb +5 -24
  30. data/lib/scout/open/remote.rb +12 -1
  31. data/lib/scout/open/stream.rb +109 -122
  32. data/lib/scout/open/util.rb +9 -0
  33. data/lib/scout/open.rb +12 -11
  34. data/lib/scout/path/find.rb +15 -10
  35. data/lib/scout/path/util.rb +5 -0
  36. data/lib/scout/path.rb +1 -1
  37. data/lib/scout/persist/serialize.rb +4 -4
  38. data/lib/scout/persist.rb +1 -1
  39. data/lib/scout/resource/open.rb +8 -0
  40. data/lib/scout/resource/path.rb +16 -9
  41. data/lib/scout/resource/software.rb +4 -2
  42. data/lib/scout/resource/util.rb +10 -4
  43. data/lib/scout/resource.rb +2 -0
  44. data/lib/scout/tsv/dumper.rb +5 -1
  45. data/lib/scout/tsv/index.rb +28 -86
  46. data/lib/scout/tsv/open.rb +35 -14
  47. data/lib/scout/tsv/parser.rb +22 -5
  48. data/lib/scout/tsv/persist/tokyocabinet.rb +2 -0
  49. data/lib/scout/tsv/stream.rb +204 -0
  50. data/lib/scout/tsv/transformer.rb +11 -0
  51. data/lib/scout/tsv.rb +9 -2
  52. data/lib/scout/work_queue/worker.rb +2 -2
  53. data/lib/scout/work_queue.rb +37 -12
  54. data/lib/scout/workflow/definition.rb +2 -1
  55. data/lib/scout/workflow/deployment/orchestrator.rb +254 -0
  56. data/lib/scout/workflow/deployment.rb +1 -0
  57. data/lib/scout/workflow/step/dependencies.rb +46 -14
  58. data/lib/scout/workflow/step/file.rb +5 -0
  59. data/lib/scout/workflow/step/info.rb +13 -3
  60. data/lib/scout/workflow/step/inputs.rb +5 -0
  61. data/lib/scout/workflow/step/load.rb +1 -1
  62. data/lib/scout/workflow/step/provenance.rb +1 -0
  63. data/lib/scout/workflow/step/status.rb +27 -9
  64. data/lib/scout/workflow/step.rb +82 -30
  65. data/lib/scout/workflow/task/dependencies.rb +116 -0
  66. data/lib/scout/workflow/task/inputs.rb +36 -17
  67. data/lib/scout/workflow/task.rb +12 -109
  68. data/lib/scout/workflow/usage.rb +57 -41
  69. data/lib/scout/workflow.rb +19 -13
  70. data/lib/scout-gear.rb +2 -0
  71. data/lib/scout.rb +6 -0
  72. data/scout-gear.gemspec +38 -7
  73. data/scout_commands/doc +37 -0
  74. data/scout_commands/find +1 -0
  75. data/scout_commands/offsite +30 -0
  76. data/scout_commands/resource/produce +66 -0
  77. data/scout_commands/template +52 -0
  78. data/scout_commands/update +29 -0
  79. data/scout_commands/workflow/info +15 -3
  80. data/scout_commands/workflow/install +105 -0
  81. data/scout_commands/workflow/task +46 -6
  82. data/share/software/install_helpers +2 -2
  83. data/share/templates/command +25 -0
  84. data/share/templates/workflow.rb +14 -0
  85. data/test/scout/offsite/test_ssh.rb +15 -0
  86. data/test/scout/offsite/test_step.rb +32 -0
  87. data/test/scout/offsite/test_sync.rb +36 -0
  88. data/test/scout/offsite/test_task.rb +0 -0
  89. data/test/scout/resource/test_path.rb +6 -0
  90. data/test/scout/test_named_array.rb +6 -0
  91. data/test/scout/test_persist.rb +3 -2
  92. data/test/scout/test_tsv.rb +17 -0
  93. data/test/scout/test_work_queue.rb +64 -42
  94. data/test/scout/tsv/persist/test_adapter.rb +1 -1
  95. data/test/scout/tsv/test_index.rb +14 -0
  96. data/test/scout/tsv/test_parser.rb +35 -0
  97. data/test/scout/tsv/test_stream.rb +200 -0
  98. data/test/scout/tsv/test_transformer.rb +12 -0
  99. data/test/scout/workflow/deployment/test_orchestrator.rb +272 -0
  100. data/test/scout/workflow/step/test_dependencies.rb +68 -0
  101. data/test/scout/workflow/step/test_info.rb +17 -0
  102. data/test/scout/workflow/step/test_status.rb +0 -1
  103. data/test/scout/workflow/task/test_dependencies.rb +357 -0
  104. data/test/scout/workflow/task/test_inputs.rb +52 -0
  105. data/test/scout/workflow/test_definition.rb +18 -0
  106. data/test/scout/workflow/test_documentation.rb +24 -0
  107. data/test/scout/workflow/test_step.rb +109 -0
  108. data/test/scout/workflow/test_task.rb +0 -287
  109. data/test/test_scout.rb +9 -0
  110. metadata +89 -5
  111. data/scout_commands/workflow/task_old +0 -706
@@ -21,292 +21,5 @@ class TestTask < Test::Unit::TestCase
21
21
  assert_equal 2, s.run
22
22
  end
23
23
 
24
- def test_task_override_dep
25
- wf = Workflow.annonymous_workflow "TaskInputs" do
26
- input :input1, :integer
27
- task :step1 => :integer do |i| i end
28
-
29
- dep :step1
30
- input :input2, :integer, "Integer", 3
31
- task :step2 => :integer do |i| i * step(:step1).load end
32
- end
33
-
34
- assert_equal 6, wf.job(:step2, :input1 => 2, :input2 => 3).run
35
-
36
- step1_job = wf.job(:step1, :input1 => 6)
37
- assert_equal 18, wf.job(:step2, :input1 => 2, "TaskInputs#step1" => step1_job).run
38
-
39
- assert_equal 18, wf.job(:step2, :input1 => 2, "TaskInputs#step1" => step1_job).run
40
-
41
- assert_equal 18, wf.job(:step2, "TaskInputs#step1" => step1_job).run
42
- end
43
-
44
- def test_input_dep
45
- wf = Workflow.annonymous_workflow "TaskInputs" do
46
- input :v1, :integer
47
- input :v2, :integer
48
- task :sum => :integer do |v1,v2|
49
- v1 + v2
50
- end
51
-
52
- input :input1, :integer
53
- task :step1 => :integer do |i| i end
54
-
55
- input :input2, :integer
56
- task :step2 => :integer do |i| i end
57
-
58
- dep :step1, :input1 => 2
59
- dep :step2, :input2 => 3
60
- dep :sum, :v1 => :step1, :v2 => :step2
61
- task :my_sum => :integer do
62
- dependencies.last.load
63
- end
64
-
65
- dep :my_sum
66
- task :double => :integer do
67
- step(:my_sum).load * 2
68
- end
69
- end
70
-
71
- job = wf.job(:my_sum)
72
- assert_equal 5, job.run
73
- assert_equal Task::DEFAULT_NAME, job.name
74
-
75
- job = wf.job(:double)
76
- assert_equal Task::DEFAULT_NAME, job.name
77
-
78
- step1 = wf.job(:step1, :input1 => 3)
79
- assert_equal 3, step1.run
80
- job = wf.job(:double, "TaskInputs#step1" => step1)
81
- assert_equal 12, job.run
82
- assert_not_equal Task::DEFAULT_NAME, job.name
83
-
84
- step1 = wf.job(:step1, :input1 => 4)
85
- assert_equal 4, step1.run
86
- job = wf.job(:double, "TaskInputs#step1" => step1)
87
- assert_equal 14, job.run
88
- assert_not_equal Task::DEFAULT_NAME, job.name
89
- end
90
-
91
- def test_input_dep_override
92
- wf = Workflow.annonymous_workflow "TaskInputs" do
93
- input :v1, :integer
94
- input :v2, :integer
95
- task :sum => :integer do |v1,v2|
96
- v1 + v2
97
- end
98
-
99
- input :input1, :integer
100
- task :step1 => :integer do |i| i end
101
-
102
- input :input2, :integer
103
- task :step2 => :integer do |i| i end
104
-
105
- dep :step1
106
- dep :step2
107
- task :my_sum => :integer do
108
- dependencies.inject(0){|acc,d| acc += d.load }
109
- end
110
- end
111
-
112
- step2 = wf.job(:step2, :input2 => 4)
113
- job = wf.job(:my_sum, :input1 => 2, :input2 => 3, "TaskInputs#step2"=> step2)
114
- assert_equal 6, job.exec
115
-
116
- job = wf.job(:my_sum, :input1 => 2, :input2 => 3)
117
- assert_equal 5, job.run
118
-
119
- TmpFile.with_file(4) do |file|
120
- job = wf.job(:my_sum, :input1 => 2, :input2 => 3, "TaskInputs#step2"=> file)
121
- assert_equal 6, job.run
122
- assert_not_equal Task::DEFAULT_NAME, job.name
123
- end
124
- end
125
-
126
- def test_input_rename
127
- wf = Workflow.annonymous_workflow "TaskInputs" do
128
- input :v1, :integer
129
- input :v2, :integer
130
- task :sum => :integer do |v1,v2|
131
- v1 + v2
132
- end
133
-
134
- input :vv1, :integer
135
- input :vv2, :integer
136
- dep :sum, :v1 => :vv1, :v2 => :vv2
137
- task :my_sum => :integer do
138
- dependencies.last.load
139
- end
140
- end
141
-
142
- job = wf.job(:my_sum, :vv1 => 2, :vv2 => 3)
143
- assert_equal 5, job.run
144
- end
145
-
146
- def test_defaults_in_dep_block
147
- wf = Workflow.annonymous_workflow "TaskInputs" do
148
- input :v1, :integer
149
- input :v2, :integer
150
- task :sum => :integer do |v1,v2|
151
- v1 + v2
152
- end
153
-
154
- input :vv1, :integer
155
- input :vv2, :integer, nil, 3
156
- dep :sum, :v1 => :placeholder, :v2 => :placeholder do |jobname,options,dependencies|
157
- raise "Non-numeric value where integer expected" unless Numeric === options[:vv1]
158
- {inputs: {v1: options[:vv1], v2: options[:vv2]} }
159
- end
160
- task :my_sum => :integer do
161
- dependencies.last.load
162
- end
163
- end
164
-
165
- job = wf.job(:my_sum, :vv1 => "2")
166
- assert_equal 5, job.run
167
- end
168
-
169
- def test_dependency_jobname
170
- wf = Workflow.annonymous_workflow "TaskInputs" do
171
- input :v1, :integer
172
- input :v2, :integer
173
- task :sum => :integer do |v1,v2|
174
- v1 + v2
175
- end
176
-
177
- input :vv1, :integer
178
- input :vv2, :integer
179
- dep :sum, :v1 => :vv1, :v2 => :vv2, :jobname => "OTHER_NAME"
180
- task :my_sum => :integer do
181
- dependencies.last.load
182
- end
183
- end
184
-
185
- job = wf.job(:my_sum, "TEST_NAME", :vv1 => 2, :vv2 => 3)
186
- assert_equal 5, job.run
187
- assert_equal "TEST_NAME", job.clean_name
188
- assert_equal "OTHER_NAME", job.step(:sum).clean_name
189
- end
190
-
191
- def test_no_param_last_job
192
- wf = Workflow.annonymous_workflow "TaskInputs" do
193
- input :v1, :integer
194
- input :v2, :integer
195
- task :sum => :integer do |v1,v2|
196
- v1 + v2
197
- end
198
-
199
- dep :sum
200
- task :my_sum => :integer do
201
- dependencies.last.load
202
- end
203
- end
204
-
205
- job = wf.job(:my_sum, :v1 => 2, :v2 => "3")
206
- assert_equal 5, job.run
207
- refute_equal Task::DEFAULT_NAME, job.name
208
- end
209
-
210
- def test_no_param_last_job_block
211
- wf = Workflow.annonymous_workflow "TaskInputs" do
212
- input :v1, :integer
213
- input :v2, :integer
214
- task :sum => :integer do |v1,v2|
215
- v1 + v2
216
- end
217
-
218
- dep :sum do |jobname,options|
219
- {inputs: options}
220
- end
221
- task :my_sum => :integer do
222
- dependencies.last.load
223
- end
224
- end
225
-
226
- job = wf.job(:my_sum, :v1 => 2, :v2 => "3")
227
- assert_equal 5, job.run
228
- refute_equal Task::DEFAULT_NAME, job.name
229
- end
230
-
231
-
232
- def test_override_inputs_block
233
- wf = Workflow.annonymous_workflow "TaskInputs" do
234
- input :input1, :string
235
- task :step1 => :string do |i| i end
236
-
237
- dep :step1, :input1 => 1 do |id,options|
238
- {:inputs => options}
239
- end
240
- input :input2, :string
241
- task :step2 => :string do |i| step(:step1).load end
242
- end
243
-
244
- job = wf.job(:step2, :input1 => 2)
245
- assert_equal 1, job.run
246
- assert_equal Task::DEFAULT_NAME, job.name
247
- assert_not_equal Task::DEFAULT_NAME, job.step(:step1).name
248
- end
249
-
250
- def test_override_inputs_block_array
251
- wf = Workflow.annonymous_workflow "TaskInputs" do
252
- input :input1, :string
253
- task :step1 => :string do |i| i end
254
-
255
- dep :step1, :input1 => 1 do |id,options|
256
- [{:inputs => options}]
257
- end
258
- input :input2, :string
259
- task :step2 => :string do |i| step(:step1).load end
260
- end
261
-
262
- job = wf.job(:step2, :input1 => 2)
263
- assert_equal 1, job.run
264
- assert_equal Task::DEFAULT_NAME, job.name
265
- assert_not_equal Task::DEFAULT_NAME, job.step(:step1).name
266
- end
267
-
268
- def test_override_inputs
269
- wf = Workflow.annonymous_workflow "TaskInputs" do
270
- input :input1, :string
271
- task :step1 => :string do |i| i end
272
-
273
- dep :step1, :input1 => 1
274
- input :input2, :string
275
- task :step2 => :string do |i| step(:step1).load end
276
- end
277
-
278
- job = wf.job(:step2, :input1 => 2)
279
- assert_equal 1, job.run
280
- assert_equal Task::DEFAULT_NAME, job.name
281
- assert_not_equal Task::DEFAULT_NAME, job.step(:step1).name
282
- end
283
-
284
- def test_non_default_inputs
285
- wf = Workflow.annonymous_workflow "TaskInputs" do
286
- input :input1, :integer, "", 1
287
- input :input2, :integer, "", 0
288
- task :step1 => :string do |i1,i2| i1 + i2 end
289
-
290
- dep :step1, :input2 => 1
291
- task :step2 => :string do |i| step(:step1).load end
292
-
293
- dep :step2
294
- task :step3 => :string do |i| step(:step1).load end
295
- end
296
-
297
- job = wf.job(:step3, :input1 => 1)
298
- assert_equal Task::DEFAULT_NAME, job.name
299
- assert_not_equal Task::DEFAULT_NAME, job.step(:step1).name
300
- assert_equal 2, job.run
301
-
302
- job = wf.job(:step3, :input1 => 2)
303
- assert_equal 3, job.run
304
-
305
-
306
- job = wf.job(:step3)
307
- assert_equal Task::DEFAULT_NAME, job.name
308
- assert_not_equal Task::DEFAULT_NAME, job.step(:step1).name
309
- end
310
-
311
24
  end
312
25
 
@@ -0,0 +1,9 @@
1
+ require File.expand_path(__FILE__).sub(%r(/test/.*), '/test/test_helper.rb')
2
+ require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1')
3
+
4
+ class TestScout < Test::Unit::TestCase
5
+ def test_version
6
+ assert_equal 3, Scout.version.split(".").length
7
+ end
8
+ end
9
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout-gear
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0
4
+ version: 9.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-23 00:00:00.000000000 Z
11
+ date: 2023-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: term-ansicolor
@@ -24,6 +24,62 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: net-ssh
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: matrix
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sys-proctable
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: RubyInline
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
27
83
  - !ruby/object:Gem::Dependency
28
84
  name: rdoc
29
85
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +136,8 @@ dependencies:
80
136
  - - ">="
81
137
  - !ruby/object:Gem::Version
82
138
  version: '0'
83
- description: Temporary files, logs, etc.
139
+ description: Temporary files, logs, path, resources, persistence, workflows, TSV,
140
+ etc.
84
141
  email: mikisvaz@gmail.com
85
142
  executables:
86
143
  - scout
@@ -97,6 +154,8 @@ files:
97
154
  - Rakefile
98
155
  - VERSION
99
156
  - bin/scout
157
+ - doc/lib/scout/path.md
158
+ - doc/lib/scout/workflow/task.md
100
159
  - lib/rbbt-scout.rb
101
160
  - lib/scout-gear.rb
102
161
  - lib/scout.rb
@@ -125,6 +184,10 @@ files:
125
184
  - lib/scout/misc/monitor.rb
126
185
  - lib/scout/misc/system.rb
127
186
  - lib/scout/named_array.rb
187
+ - lib/scout/offsite.rb
188
+ - lib/scout/offsite/ssh.rb
189
+ - lib/scout/offsite/step.rb
190
+ - lib/scout/offsite/sync.rb
128
191
  - lib/scout/open.rb
129
192
  - lib/scout/open/lock.rb
130
193
  - lib/scout/open/lock/lockfile.rb
@@ -140,6 +203,7 @@ files:
140
203
  - lib/scout/persist/path.rb
141
204
  - lib/scout/persist/serialize.rb
142
205
  - lib/scout/resource.rb
206
+ - lib/scout/resource/open.rb
143
207
  - lib/scout/resource/path.rb
144
208
  - lib/scout/resource/produce.rb
145
209
  - lib/scout/resource/produce/rake.rb
@@ -167,6 +231,7 @@ files:
167
231
  - lib/scout/tsv/persist/fix_width_table.rb
168
232
  - lib/scout/tsv/persist/serialize.rb
169
233
  - lib/scout/tsv/persist/tokyocabinet.rb
234
+ - lib/scout/tsv/stream.rb
170
235
  - lib/scout/tsv/transformer.rb
171
236
  - lib/scout/tsv/traverse.rb
172
237
  - lib/scout/tsv/util.rb
@@ -180,33 +245,44 @@ files:
180
245
  - lib/scout/work_queue/worker.rb
181
246
  - lib/scout/workflow.rb
182
247
  - lib/scout/workflow/definition.rb
248
+ - lib/scout/workflow/deployment.rb
249
+ - lib/scout/workflow/deployment/orchestrator.rb
183
250
  - lib/scout/workflow/documentation.rb
184
251
  - lib/scout/workflow/step.rb
185
252
  - lib/scout/workflow/step/config.rb
186
253
  - lib/scout/workflow/step/dependencies.rb
187
254
  - lib/scout/workflow/step/file.rb
188
255
  - lib/scout/workflow/step/info.rb
256
+ - lib/scout/workflow/step/inputs.rb
189
257
  - lib/scout/workflow/step/load.rb
190
258
  - lib/scout/workflow/step/progress.rb
191
259
  - lib/scout/workflow/step/provenance.rb
192
260
  - lib/scout/workflow/step/status.rb
193
261
  - lib/scout/workflow/task.rb
262
+ - lib/scout/workflow/task/dependencies.rb
194
263
  - lib/scout/workflow/task/inputs.rb
195
264
  - lib/scout/workflow/usage.rb
196
265
  - lib/scout/workflow/util.rb
197
266
  - lib/workflow-scout.rb
198
267
  - scout-gear.gemspec
199
268
  - scout_commands/alias
269
+ - scout_commands/doc
200
270
  - scout_commands/find
201
271
  - scout_commands/glob
272
+ - scout_commands/offsite
202
273
  - scout_commands/rbbt
274
+ - scout_commands/resource/produce
275
+ - scout_commands/template
276
+ - scout_commands/update
203
277
  - scout_commands/workflow/info
278
+ - scout_commands/workflow/install
204
279
  - scout_commands/workflow/list
205
280
  - scout_commands/workflow/task
206
- - scout_commands/workflow/task_old
207
281
  - share/color/color_names
208
282
  - share/color/diverging_colors.hex
209
283
  - share/software/install_helpers
284
+ - share/templates/command
285
+ - share/templates/workflow.rb
210
286
  - test/scout/indiferent_hash/test_case_insensitive.rb
211
287
  - test/scout/indiferent_hash/test_options.rb
212
288
  - test/scout/log/test_color.rb
@@ -215,6 +291,10 @@ files:
215
291
  - test/scout/misc/test_filesystem.rb
216
292
  - test/scout/misc/test_insist.rb
217
293
  - test/scout/misc/test_system.rb
294
+ - test/scout/offsite/test_ssh.rb
295
+ - test/scout/offsite/test_step.rb
296
+ - test/scout/offsite/test_sync.rb
297
+ - test/scout/offsite/test_task.rb
218
298
  - test/scout/open/test_lock.rb
219
299
  - test/scout/open/test_remote.rb
220
300
  - test/scout/open/test_stream.rb
@@ -259,6 +339,7 @@ files:
259
339
  - test/scout/tsv/test_open.rb
260
340
  - test/scout/tsv/test_parser.rb
261
341
  - test/scout/tsv/test_persist.rb
342
+ - test/scout/tsv/test_stream.rb
262
343
  - test/scout/tsv/test_transformer.rb
263
344
  - test/scout/tsv/test_traverse.rb
264
345
  - test/scout/tsv/test_util.rb
@@ -269,11 +350,13 @@ files:
269
350
  - test/scout/tsv/util/test_unzip.rb
270
351
  - test/scout/work_queue/test_socket.rb
271
352
  - test/scout/work_queue/test_worker.rb
353
+ - test/scout/workflow/deployment/test_orchestrator.rb
272
354
  - test/scout/workflow/step/test_dependencies.rb
273
355
  - test/scout/workflow/step/test_info.rb
274
356
  - test/scout/workflow/step/test_load.rb
275
357
  - test/scout/workflow/step/test_provenance.rb
276
358
  - test/scout/workflow/step/test_status.rb
359
+ - test/scout/workflow/task/test_dependencies.rb
277
360
  - test/scout/workflow/task/test_inputs.rb
278
361
  - test/scout/workflow/test_definition.rb
279
362
  - test/scout/workflow/test_documentation.rb
@@ -283,6 +366,7 @@ files:
283
366
  - test/scout/workflow/test_util.rb
284
367
  - test/test_helper.rb
285
368
  - test/test_scout-gear.rb
369
+ - test/test_scout.rb
286
370
  homepage: http://github.com/mikisvaz/scout-gear
287
371
  licenses:
288
372
  - MIT
@@ -302,7 +386,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
302
386
  - !ruby/object:Gem::Version
303
387
  version: '0'
304
388
  requirements: []
305
- rubygems_version: 3.4.11
389
+ rubygems_version: 3.4.13
306
390
  signing_key:
307
391
  specification_version: 4
308
392
  summary: basic gear for scouts