omf_ec 6.1.2.pre.3 → 6.1.2.pre.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/bin/omf_ec CHANGED
@@ -4,4 +4,6 @@ require 'omf_ec'
4
4
  require 'omf_ec/runner'
5
5
  $stdout.sync = true
6
6
 
7
- OmfEc::Runner.new.run
7
+ runner = OmfEc::Runner.new
8
+ runner.init
9
+ runner.run
data/lib/omf_ec/dsl.rb CHANGED
@@ -141,7 +141,7 @@ module OmfEc
141
141
  # Take the same parameter as def_property
142
142
  #
143
143
  def ensure_property(name, default_value, description = nil, type = nil)
144
- begin
144
+ begin
145
145
  property[name]
146
146
  rescue
147
147
  def_property(name, default_value, description, type)
@@ -211,10 +211,10 @@ module OmfEc
211
211
  end
212
212
  end
213
213
 
214
- # Load an additional OEDL script
214
+ # Load an additional OEDL script
215
215
  #
216
- # First try to load the script from the paths associated to this running
217
- # Ruby instance. This would allow the loading of scripts shipped with
216
+ # First try to load the script from the paths associated to this running
217
+ # Ruby instance. This would allow the loading of scripts shipped with
218
218
  # the EC gem. If that fails, then look for the script in the local file
219
219
  # system or at the given web URL.
220
220
  #
@@ -226,7 +226,7 @@ module OmfEc
226
226
  #
227
227
  def load_oedl(location, opts = {})
228
228
  # Define the additional properties from opts
229
- opts.each { |k,v| def_property(k, v,) }
229
+ opts.each { |k,v| def_property(k, v,) }
230
230
  # Try to load OEDL Library as built-in then external
231
231
  begin
232
232
  require location
@@ -238,13 +238,14 @@ module OmfEc
238
238
  file = Tempfile.new("oedl-#{Time.now.to_i}")
239
239
  open(location) { |io| file.write(io.read) }
240
240
  file.close
241
- load(file.path)
241
+ OmfEc.experiment.archive_oedl(file.path)
242
+ load(file.path)
242
243
  file.unlink
243
244
  info "Loaded external OEDL library '#{location}'"
244
245
  rescue Exception => e
245
246
  error "Fail loading external OEDL library '#{location}': #{e}"
246
247
  end
247
- rescue Exception => e
248
+ rescue Exception => e
248
249
  error "Fail loading built-in OEDL library '#{location}': #{e}"
249
250
  end
250
251
  end
@@ -5,6 +5,7 @@
5
5
 
6
6
  require 'hashie'
7
7
  require 'singleton'
8
+ require 'zlib'
8
9
  require 'monitor'
9
10
 
10
11
  module OmfEc
@@ -187,6 +188,15 @@ module OmfEc
187
188
  MetaData.inject(domain.to_s, key.to_s, value.to_s)
188
189
  end
189
190
 
191
+ # Archive OEDL content to OML db
192
+ def archive_oedl(script_name)
193
+ log_metadata(
194
+ script_name,
195
+ Base64.encode64(Zlib::Deflate.deflate(File.read(script_name))),
196
+ "oedl_content"
197
+ )
198
+ end
199
+
190
200
  # Purely for backward compatibility
191
201
  class << self
192
202
  # Disconnect communicator, try to delete any XMPP affiliations
data/lib/omf_ec/runner.rb CHANGED
@@ -9,6 +9,8 @@ module OmfEc
9
9
  class Runner
10
10
  include Hashie
11
11
 
12
+ attr_reader :oedl_path
13
+
12
14
  def initialize
13
15
  @gem_version = OmfEc::VERSION
14
16
  @oml_enabled = false
@@ -245,6 +247,7 @@ module OmfEc
245
247
  OmfEc.experiment.log_metadata("ec_version", "#{OmfEc::VERSION}")
246
248
  OmfEc.experiment.log_metadata("exp_path", @oedl_path)
247
249
  OmfEc.experiment.log_metadata("ec_pid", "#{Process.pid}")
250
+ OmfEc.experiment.archive_oedl(@oedl_path)
248
251
 
249
252
  begin
250
253
  load @oedl_path
@@ -268,9 +271,13 @@ module OmfEc
268
271
  end
269
272
  end
270
273
 
271
- def run
274
+ def init
272
275
  oml_init
273
276
  setup_experiment
277
+ #load_experiment
278
+ end
279
+
280
+ def run
274
281
  load_experiment
275
282
  end
276
283
  end
data/omf_ec.gemspec CHANGED
@@ -22,13 +22,12 @@ Gem::Specification.new do |s|
22
22
  s.require_paths = ["lib"]
23
23
 
24
24
  # specify any dependencies here; for example:
25
- s.add_development_dependency "minitest", "~> 3.2"
26
- s.add_development_dependency "em-minitest-spec", "~> 1.1.1"
25
+ s.add_development_dependency "minitest"
27
26
  s.add_development_dependency "simplecov"
28
27
  s.add_development_dependency "pry"
29
28
  s.add_development_dependency "mocha"
29
+ s.add_development_dependency "evented-spec"
30
30
 
31
31
  s.add_runtime_dependency "omf_common", "= #{OmfCommon::VERSION}"
32
- s.add_runtime_dependency "gli"
33
32
  s.add_runtime_dependency "sequel"
34
33
  end
File without changes
@@ -0,0 +1,25 @@
1
+ require 'test_helper'
2
+ require 'omf_ec/runner'
3
+
4
+ describe OmfEc::Runner do
5
+ before do
6
+ uninit
7
+ end
8
+
9
+ after do
10
+ uninit
11
+ end
12
+ it "must allow to accept a set of command line options" do
13
+ ARGV.clear
14
+ "-u amqp://localhost --slice empty --oml_uri tcp:localhost:3003 -e xxx -d --experiment e1 --show-graph exec #{File.dirname(__FILE__)}/../oedls/empty.oedl -- --prop_1 p1value".split(" ").each do |opt|
15
+ ARGV << opt
16
+ end
17
+ runner = OmfEc::Runner.new
18
+ runner.init
19
+
20
+ assert_equal 'e1', OmfEc.experiment.name
21
+ assert_equal "tcp:localhost:3003", OmfEc.experiment.oml_uri
22
+ assert_equal true, OmfEc.experiment.show_graph
23
+ assert_match /oedls\/empty.oedl/, runner.oedl_path
24
+ end
25
+ end
data/test/test_helper.rb CHANGED
@@ -11,17 +11,17 @@ require 'minitest/autorun'
11
11
  require 'minitest/pride'
12
12
  require 'mocha/setup'
13
13
 
14
- require 'omf_ec'
14
+ require 'evented-spec'
15
15
 
16
- # Default fixture directory
17
- FIXTURE_DIR = "#{File.dirname(__FILE__)}/fixture"
16
+ require 'omf_ec'
18
17
 
19
18
  # Shut up all the loggers
20
19
  Logging.logger.root.clear_appenders
21
20
 
22
- # Reading fixture file
23
- def fixture(name)
24
- File.read("#{FIXTURE_DIR}/#{name.to_s}")
21
+ def uninit
22
+ OmfEc::Experiment.reset
23
+ OmfEc::ExperimentProperty.reset
24
+ OmfCommon::Eventloop.reset
25
25
  end
26
26
 
27
27
  class OmfCommon::Eventloop
@@ -32,21 +32,12 @@ end
32
32
 
33
33
  class OmfEc::Experiment
34
34
  def self.reset
35
- instance.instance_eval do
36
- @groups = []
37
- @events = []
38
- @app_definitions = Hashie::Mash.new
39
- @sub_groups = Hashie::Mash.new
40
- @cmdline_properties = Hashie::Mash.new
41
- end
35
+ Singleton.__init__(self)
42
36
  end
43
37
  end
44
38
 
45
39
  class OmfEc::ExperimentProperty
46
40
  def self.reset
47
- @@properties = Hashie::Mash.new
48
- @@creation_observers = []
41
+ Singleton.__init__(self)
49
42
  end
50
43
  end
51
-
52
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omf_ec
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.2.pre.3
4
+ version: 6.1.2.pre.4
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,42 +9,42 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-05-07 00:00:00.000000000 Z
12
+ date: 2014-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '3.2'
21
+ version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: '3.2'
29
+ version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
- name: em-minitest-spec
31
+ name: simplecov
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ~>
35
+ - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
- version: 1.1.1
37
+ version: '0'
38
38
  type: :development
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ~>
43
+ - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: 1.1.1
45
+ version: '0'
46
46
  - !ruby/object:Gem::Dependency
47
- name: simplecov
47
+ name: pry
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
@@ -60,7 +60,7 @@ dependencies:
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  - !ruby/object:Gem::Dependency
63
- name: pry
63
+ name: mocha
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
@@ -76,7 +76,7 @@ dependencies:
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  - !ruby/object:Gem::Dependency
79
- name: mocha
79
+ name: evented-spec
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - '='
100
100
  - !ruby/object:Gem::Version
101
- version: 6.1.2.pre.3
101
+ version: 6.1.2.pre.4
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,23 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - '='
108
108
  - !ruby/object:Gem::Version
109
- version: 6.1.2.pre.3
110
- - !ruby/object:Gem::Dependency
111
- name: gli
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
109
+ version: 6.1.2.pre.4
126
110
  - !ruby/object:Gem::Dependency
127
111
  name: sequel
128
112
  requirement: !ruby/object:Gem::Requirement
@@ -184,12 +168,14 @@ files:
184
168
  - lib/omf_ec/runner.rb
185
169
  - lib/omf_ec/version.rb
186
170
  - omf_ec.gemspec
171
+ - test/oedls/empty.oedl
187
172
  - test/omf_ec/app_context_spec.rb
188
173
  - test/omf_ec/context_spec.rb
189
174
  - test/omf_ec/dsl_spec.rb
190
175
  - test/omf_ec/experiment_property_spec.rb
191
176
  - test/omf_ec/experiment_spec.rb
192
177
  - test/omf_ec/group_spec.rb
178
+ - test/omf_ec/runner_spec.rb
193
179
  - test/test_helper.rb
194
180
  homepage: http://omf.mytestbed.net
195
181
  licenses: