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

Sign up to get free protection for your applications and to get access to all the features.
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: