omnibus 1.3.0 → 2.0.0.rc1

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.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -1
  3. data/.rubocop.yml +30 -0
  4. data/.travis.yml +14 -3
  5. data/CHANGELOG.md +72 -49
  6. data/Gemfile +8 -5
  7. data/NOTICE +2 -2
  8. data/README.md +65 -7
  9. data/Rakefile +12 -3
  10. data/bin/makeself-header.sh +1 -1
  11. data/bin/makeself.sh +2 -2
  12. data/bin/omnibus +2 -2
  13. data/functional/fixtures/mac_pkg/files/mac_pkg/Resources/background.png +0 -0
  14. data/functional/fixtures/mac_pkg/files/mac_pkg/Resources/license.html +1 -0
  15. data/functional/fixtures/mac_pkg/files/mac_pkg/Resources/welcome.html +1 -0
  16. data/functional/fixtures/mac_pkg/package-scripts/functional-test-project/postinstall +4 -0
  17. data/functional/packagers/mac_pkg_spec.rb +72 -0
  18. data/lib/omnibus/artifact.rb +11 -13
  19. data/lib/omnibus/build_version.rb +18 -21
  20. data/lib/omnibus/builder.rb +37 -48
  21. data/lib/omnibus/clean_tasks.rb +3 -5
  22. data/lib/omnibus/cli/application.rb +46 -53
  23. data/lib/omnibus/cli/base.rb +16 -19
  24. data/lib/omnibus/cli/build.rb +13 -13
  25. data/lib/omnibus/cli/cache.rb +13 -15
  26. data/lib/omnibus/cli/release.rb +4 -9
  27. data/lib/omnibus/cli.rb +2 -4
  28. data/lib/omnibus/config.rb +43 -23
  29. data/lib/omnibus/exceptions.rb +35 -1
  30. data/lib/omnibus/fetcher.rb +9 -13
  31. data/lib/omnibus/fetchers/git_fetcher.rb +15 -19
  32. data/lib/omnibus/fetchers/net_fetcher.rb +34 -38
  33. data/lib/omnibus/fetchers/path_fetcher.rb +7 -9
  34. data/lib/omnibus/fetchers/s3_cache_fetcher.rb +3 -4
  35. data/lib/omnibus/fetchers.rb +3 -3
  36. data/lib/omnibus/health_check.rb +126 -127
  37. data/lib/omnibus/library.rb +11 -12
  38. data/lib/omnibus/overrides.rb +6 -8
  39. data/lib/omnibus/package_release.rb +20 -22
  40. data/lib/omnibus/packagers/mac_pkg.rb +285 -0
  41. data/lib/omnibus/project.rb +215 -110
  42. data/lib/omnibus/reports.rb +16 -24
  43. data/lib/omnibus/s3_cacher.rb +15 -21
  44. data/lib/omnibus/software.rb +178 -88
  45. data/lib/omnibus/util.rb +25 -13
  46. data/lib/omnibus/version.rb +2 -2
  47. data/lib/omnibus.rb +11 -13
  48. data/omnibus.gemspec +20 -18
  49. data/spec/artifact_spec.rb +55 -52
  50. data/spec/build_version_spec.rb +121 -129
  51. data/spec/config_spec.rb +40 -0
  52. data/spec/data/projects/chefdk.rb +41 -0
  53. data/spec/data/projects/sample.rb +10 -0
  54. data/spec/data/software/erchef.rb +12 -12
  55. data/spec/data/software/zlib.rb +67 -0
  56. data/spec/fetchers/git_fetcher_spec.rb +55 -48
  57. data/spec/fetchers/net_fetcher_spec.rb +72 -78
  58. data/spec/omnibus_spec.rb +59 -0
  59. data/spec/overrides_spec.rb +64 -64
  60. data/spec/package_release_spec.rb +65 -64
  61. data/spec/packagers/mac_pkg_spec.rb +261 -0
  62. data/spec/project_spec.rb +138 -0
  63. data/spec/s3_cacher_spec.rb +9 -10
  64. data/spec/software_spec.rb +71 -50
  65. data/spec/spec_helper.rb +14 -7
  66. metadata +68 -60
  67. data/.rspec +0 -1
  68. data/.yardopts +0 -6
  69. data/spec/software_dirs_spec.rb +0 -34
@@ -6,79 +6,100 @@ require 'spec_helper'
6
6
  describe Omnibus::Software do
7
7
 
8
8
  let(:project) do
9
- p = double(Omnibus::Project)
10
- p.stub(:install_path).and_return("monkeys")
11
- p
9
+ double(Omnibus::Project, install_path: 'monkeys', overrides: {})
12
10
  end
13
11
 
14
- let(:software_name) { "erchef" }
15
- let(:software_file){ software_path(software_name) }
16
- let(:version_from_file){ "4b19a96d57bff9bbf4764d7323b92a0944009b9e" }
17
- let(:software){ Omnibus::Software.load(software_file, project) }
12
+ let(:software_name) { 'erchef' }
13
+ let(:software_file) { software_path(software_name) }
18
14
 
19
- before :each do
20
- # We don't want to mess with any of this stuff for these
21
- # tests... we're just looking at version info right now
22
- Omnibus::Software.any_instance.stub(:render_tasks)
15
+ let(:software) do
16
+ Omnibus::Software.load(software_file, project)
23
17
  end
24
18
 
25
- subject { software }
26
-
27
- describe "#whitelist_file" do
19
+ before do
20
+ allow_any_instance_of(Omnibus::Software).to receive(:render_tasks)
21
+ end
28
22
 
29
- it "appends to the whitelist_files array" do
30
- software.whitelist_files.size.should equal 0
23
+ describe '#whitelist_file' do
24
+ it 'appends to the whitelist_files array' do
25
+ expect(software.whitelist_files.size).to eq(0)
31
26
  software.whitelist_file(/foo\/bar/)
32
- software.whitelist_files.size.should equal 1
27
+ expect(software.whitelist_files.size).to eq(1)
33
28
  end
34
29
 
35
- it "converts Strings to Regexp instances" do
36
- software.whitelist_file "foo/bar"
37
- software.whitelist_files.size.should equal 1
38
- software.whitelist_files.first.should be_kind_of(Regexp)
30
+ it 'converts Strings to Regexp instances' do
31
+ software.whitelist_file 'foo/bar'
32
+ expect(software.whitelist_files.size).to eq(1)
33
+ expect(software.whitelist_files.first).to be_kind_of(Regexp)
39
34
  end
40
35
  end
41
36
 
42
- context "testing version overrides" do
37
+ context 'testing repo-level version overrides' do
38
+ let(:software_name) { 'zlib' }
39
+ let(:default_version) { '1.2.6' }
40
+ let(:expected_version) { '1.2.6' }
41
+ let(:expected_override_version) { nil }
42
+ let(:expected_md5) { '618e944d7c7cd6521551e30b32322f4a' }
43
+ let(:expected_url) { 'http://downloads.sourceforge.net/project/libpng/zlib/1.2.6/zlib-1.2.6.tar.gz' }
44
+
45
+ shared_examples_for 'a software definition' do
46
+ it 'should have the same name' do
47
+ expect(software.name).to eq(software_name)
48
+ end
43
49
 
44
- context "without overrides" do
45
- its(:name){should eq(software_name)}
46
- its(:version){should eq(version_from_file)}
47
- its(:given_version){should eq(software.version)}
48
- its(:override_version){should be_nil}
49
- end
50
+ it 'should have the same version' do
51
+ expect(software.version).to eq(expected_version)
52
+ end
50
53
 
51
- context "with overrides" do
52
- let(:override_software_version){"6.6.6"}
53
- let(:overrides) do
54
- {override_software_name => override_software_version}
54
+ it 'should have the right default_version' do
55
+ expect(software.default_version).to eq(default_version)
55
56
  end
56
- let(:software){Omnibus::Software.load(software_file, project, overrides)}
57
57
 
58
- context "but not for this software" do
59
- let(:override_software_name){"chaos_monkey"}
58
+ it 'should have nil for an override_version' do
59
+ expect(software.override_version).to eq(expected_override_version)
60
+ end
60
61
 
61
- it "really should not have any overrides for this software" do
62
- overrides.should_not have_key(software_name)
63
- end
62
+ it 'should have the md5 of the default version' do
63
+ expect(software.source[:md5]).to eq(expected_md5)
64
+ end
64
65
 
65
- its(:version){should eq(version_from_file)}
66
- its(:given_version){should eq(software.version)}
67
- its(:override_version){should be_nil}
66
+ it 'should have the url of the default version' do
67
+ expect(software.source[:url]).to eq(expected_url)
68
68
  end
69
+ end
69
70
 
70
- context "for this software" do
71
- let(:override_software_name){software_name}
71
+ context 'without overrides' do
72
+ it_behaves_like 'a software definition'
73
+ end
74
+
75
+ context 'with overrides for different software' do
76
+ let(:overrides) { { 'chaos_monkey' => '1.2.8' } }
77
+ let(:software) { Omnibus::Software.load(software_file, project, overrides) }
78
+
79
+ it_behaves_like 'a software definition'
80
+ end
72
81
 
73
- it "really should have an override for this software" do
74
- overrides.should have_key(software_name)
75
- end
82
+ context 'with overrides for this software' do
83
+ let(:expected_version) { '1.2.8' }
84
+ let(:expected_override_version) { '1.2.8' }
85
+ let(:overrides) { { software_name => expected_override_version } }
86
+ let(:software) { Omnibus::Software.load(software_file, project, overrides) }
87
+ let(:expected_md5) { '44d667c142d7cda120332623eab69f40' }
88
+ let(:expected_url) { 'http://downloads.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz' }
76
89
 
77
- its(:version){should eq(override_software_version)}
78
- its(:override_version){should eq(software.version)}
79
- its(:version){should_not eq(software.given_version)}
80
- its(:given_version){should eq(version_from_file)}
90
+ it_behaves_like 'a software definition'
91
+ end
92
+
93
+ context 'with an overide in the project' do
94
+ let(:project) do
95
+ double(Omnibus::Project, install_path: 'monkeys', overrides: { zlib: { version: '1.2.8' } })
81
96
  end
97
+ let(:expected_version) { '1.2.8' }
98
+ let(:expected_override_version) { '1.2.8' }
99
+ let(:expected_md5) { '44d667c142d7cda120332623eab69f40' }
100
+ let(:expected_url) { 'http://downloads.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz' }
101
+
102
+ it_behaves_like 'a software definition'
82
103
  end
83
104
 
84
105
  end
data/spec/spec_helper.rb CHANGED
@@ -2,27 +2,34 @@
2
2
  require 'rake/dsl_definition'
3
3
 
4
4
  require 'omnibus'
5
+ require 'fauxhai'
5
6
 
6
7
  module Omnibus
7
8
  module RSpec
8
-
9
- SPEC_DATA = File.expand_path(File.join(File.dirname(__FILE__), "data"))
9
+ SPEC_DATA = File.expand_path(File.join(File.dirname(__FILE__), 'data'))
10
10
 
11
11
  def software_path(name)
12
- File.join(SPEC_DATA, "software", "#{name}.rb")
12
+ File.join(SPEC_DATA, 'software', "#{name}.rb")
13
13
  end
14
14
 
15
15
  def overrides_path(name)
16
- File.join(SPEC_DATA, "overrides", "#{name}.overrides")
16
+ File.join(SPEC_DATA, 'overrides', "#{name}.overrides")
17
+ end
18
+
19
+ def project_path(name)
20
+ File.join(SPEC_DATA, 'projects', "#{name}.rb")
17
21
  end
18
-
19
22
  end
20
23
  end
21
24
 
22
25
  RSpec.configure do |config|
23
26
  config.include Omnibus::RSpec
24
- config.filter_run :focus => true
27
+ config.filter_run focus: true
25
28
  config.run_all_when_everything_filtered = true
26
29
  config.treat_symbols_as_metadata_keys_with_true_values = true
27
- end
28
30
 
31
+ # Force the expect syntax
32
+ config.expect_with :rspec do |c|
33
+ c.syntax = :expect
34
+ end
35
+ end
metadata CHANGED
@@ -1,84 +1,74 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omnibus
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
5
- prerelease:
4
+ version: 2.0.0.rc1
6
5
  platform: ruby
7
6
  authors:
8
- - Opscode
7
+ - Chef Software, Inc.
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-12-06 00:00:00.000000000 Z
11
+ date: 2014-02-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: mixlib-shellout
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: 1.3.0
19
+ version: '1.3'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: 1.3.0
26
+ version: '1.3'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: mixlib-config
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: 2.1.0
33
+ version: '2.1'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: 2.1.0
40
+ version: '2.1'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: ohai
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ~>
52
46
  - !ruby/object:Gem::Version
53
- version: 0.6.12
47
+ version: '6.12'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ~>
60
53
  - !ruby/object:Gem::Version
61
- version: 0.6.12
54
+ version: '6.12'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
- version: '0.9'
61
+ version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
- version: '0.9'
68
+ version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: fpm
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,78 +83,83 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: uber-s3
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: thor
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: 0.16.0
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: 0.16.0
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: rspec
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - ~>
132
116
  - !ruby/object:Gem::Version
133
- version: '0'
117
+ version: '2.14'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - ~>
140
123
  - !ruby/object:Gem::Version
141
- version: '0'
124
+ version: '2.14'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: '0.18'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ version: '0.18'
142
139
  - !ruby/object:Gem::Dependency
143
- name: rspec_junit_formatter
140
+ name: bundler
144
141
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
142
  requirements:
147
- - - ! '>='
143
+ - - '>='
148
144
  - !ruby/object:Gem::Version
149
145
  version: '0'
150
146
  type: :development
151
147
  prerelease: false
152
148
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
149
  requirements:
155
- - - ! '>='
150
+ - - '>='
156
151
  - !ruby/object:Gem::Version
157
152
  version: '0'
158
153
  description: Omnibus helps you build self-installing, full-stack software builds.
159
- email: info@opscode.com
154
+ email: info@getchef.com
160
155
  executables:
161
156
  - omnibus
162
157
  extensions: []
163
158
  extra_rdoc_files: []
164
159
  files:
165
160
  - .gitignore
166
- - .rspec
161
+ - .rubocop.yml
167
162
  - .travis.yml
168
- - .yardopts
169
163
  - CHANGELOG.md
170
164
  - Gemfile
171
165
  - LICENSE
@@ -175,6 +169,11 @@ files:
175
169
  - bin/makeself-header.sh
176
170
  - bin/makeself.sh
177
171
  - bin/omnibus
172
+ - functional/fixtures/mac_pkg/files/mac_pkg/Resources/background.png
173
+ - functional/fixtures/mac_pkg/files/mac_pkg/Resources/license.html
174
+ - functional/fixtures/mac_pkg/files/mac_pkg/Resources/welcome.html
175
+ - functional/fixtures/mac_pkg/package-scripts/functional-test-project/postinstall
176
+ - functional/packagers/mac_pkg_spec.rb
178
177
  - lib/omnibus.rb
179
178
  - lib/omnibus/artifact.rb
180
179
  - lib/omnibus/build_version.rb
@@ -198,6 +197,7 @@ files:
198
197
  - lib/omnibus/library.rb
199
198
  - lib/omnibus/overrides.rb
200
199
  - lib/omnibus/package_release.rb
200
+ - lib/omnibus/packagers/mac_pkg.rb
201
201
  - lib/omnibus/project.rb
202
202
  - lib/omnibus/reports.rb
203
203
  - lib/omnibus/s3_cacher.rb
@@ -222,59 +222,67 @@ files:
222
222
  - omnibus.gemspec
223
223
  - spec/artifact_spec.rb
224
224
  - spec/build_version_spec.rb
225
+ - spec/config_spec.rb
225
226
  - spec/data/overrides/bad_line.overrides
226
227
  - spec/data/overrides/good.overrides
227
228
  - spec/data/overrides/with_dupes.overrides
229
+ - spec/data/projects/chefdk.rb
230
+ - spec/data/projects/sample.rb
228
231
  - spec/data/software/erchef.rb
232
+ - spec/data/software/zlib.rb
229
233
  - spec/fetchers/git_fetcher_spec.rb
230
234
  - spec/fetchers/net_fetcher_spec.rb
235
+ - spec/omnibus_spec.rb
231
236
  - spec/overrides_spec.rb
232
237
  - spec/package_release_spec.rb
238
+ - spec/packagers/mac_pkg_spec.rb
239
+ - spec/project_spec.rb
233
240
  - spec/s3_cacher_spec.rb
234
- - spec/software_dirs_spec.rb
235
241
  - spec/software_spec.rb
236
242
  - spec/spec_helper.rb
237
243
  homepage: https://github.com/opscode/omnibus-ruby
238
244
  licenses:
239
245
  - Apache 2.0
246
+ metadata: {}
240
247
  post_install_message:
241
248
  rdoc_options: []
242
249
  require_paths:
243
250
  - lib
244
251
  required_ruby_version: !ruby/object:Gem::Requirement
245
- none: false
246
252
  requirements:
247
- - - ! '>='
253
+ - - '>='
248
254
  - !ruby/object:Gem::Version
249
255
  version: 1.9.1
250
256
  required_rubygems_version: !ruby/object:Gem::Requirement
251
- none: false
252
257
  requirements:
253
- - - ! '>='
258
+ - - '>'
254
259
  - !ruby/object:Gem::Version
255
- version: '0'
256
- segments:
257
- - 0
258
- hash: -488059737138888426
260
+ version: 1.3.1
259
261
  requirements: []
260
262
  rubyforge_project:
261
- rubygems_version: 1.8.23
263
+ rubygems_version: 2.2.1
262
264
  signing_key:
263
- specification_version: 3
265
+ specification_version: 4
264
266
  summary: Omnibus helps you build self-installing, full-stack software builds.
265
267
  test_files:
266
268
  - spec/artifact_spec.rb
267
269
  - spec/build_version_spec.rb
270
+ - spec/config_spec.rb
268
271
  - spec/data/overrides/bad_line.overrides
269
272
  - spec/data/overrides/good.overrides
270
273
  - spec/data/overrides/with_dupes.overrides
274
+ - spec/data/projects/chefdk.rb
275
+ - spec/data/projects/sample.rb
271
276
  - spec/data/software/erchef.rb
277
+ - spec/data/software/zlib.rb
272
278
  - spec/fetchers/git_fetcher_spec.rb
273
279
  - spec/fetchers/net_fetcher_spec.rb
280
+ - spec/omnibus_spec.rb
274
281
  - spec/overrides_spec.rb
275
282
  - spec/package_release_spec.rb
283
+ - spec/packagers/mac_pkg_spec.rb
284
+ - spec/project_spec.rb
276
285
  - spec/s3_cacher_spec.rb
277
- - spec/software_dirs_spec.rb
278
286
  - spec/software_spec.rb
279
287
  - spec/spec_helper.rb
280
288
  has_rdoc:
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color --format doc
data/.yardopts DELETED
@@ -1,6 +0,0 @@
1
- --markup=markdown
2
- --markup-provider=redcarpet
3
- --readme=README.md
4
- -
5
- CHANGELOG.md
6
- LICENSE
@@ -1,34 +0,0 @@
1
- require 'omnibus'
2
- require 'spec_helper'
3
-
4
- describe Omnibus do
5
-
6
- describe '#software_dirs' do
7
-
8
- before :each do
9
- # This is probably really silly, but it works
10
- Omnibus.class_eval { @software_dirs = nil }
11
- end
12
-
13
- context 'omnibus_software_root not nil' do
14
- before :each do
15
- Omnibus.stub(:omnibus_software_root) { './data' }
16
- end
17
-
18
- it 'will include list of software from omnibus-software gem' do
19
- Omnibus.software_dirs.length.should eq 2
20
- end
21
- end
22
-
23
- context 'omnibus_software_root nil' do
24
- before :each do
25
- Omnibus.stub(:omnibus_software_root) { nil }
26
- end
27
-
28
- it 'will not include list of software from omnibus-software gem' do
29
- Omnibus.software_dirs.length.should eq 1
30
- end
31
- end
32
- end
33
-
34
- end