controlrepo 2.0.3 → 2.0.5
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.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +2 -0
- data/README.md +23 -6
- data/controlrepo.gemspec +4 -4
- data/factsets/CentOS-5.11-32.json +263 -0
- data/factsets/CentOS-5.11-64.json +263 -0
- data/factsets/CentOS-6.6-32.json +305 -0
- data/factsets/Debian-6.0.10-32.json +322 -0
- data/factsets/Debian-6.0.10-64.json +322 -0
- data/factsets/Debian-7.8-32.json +338 -0
- data/factsets/Ubuntu-12.04-64.json +328 -0
- data/factsets/Ubuntu-14.04-32.json +337 -0
- data/lib/controlrepo.rb +10 -4
- data/lib/controlrepo/beaker.rb +1 -1
- data/lib/controlrepo/rake_tasks.rb +5 -7
- data/lib/controlrepo/test.rb +0 -1
- data/lib/controlrepo/testconfig.rb +4 -9
- data/templates/spec_helper.rb.erb +3 -1
- metadata +13 -5
data/lib/controlrepo.rb
CHANGED
@@ -5,8 +5,8 @@ require 'yaml'
|
|
5
5
|
require 'find'
|
6
6
|
require 'pathname'
|
7
7
|
require 'controlrepo/beaker'
|
8
|
-
begin
|
9
|
-
require 'pry'
|
8
|
+
begin
|
9
|
+
require 'pry'
|
10
10
|
rescue LoadError
|
11
11
|
# We don't care if i'ts not here, this is just used for
|
12
12
|
# debugging sometimes
|
@@ -23,6 +23,7 @@ class Controlrepo
|
|
23
23
|
attr_accessor :spec_dir
|
24
24
|
attr_accessor :temp_modulepath
|
25
25
|
attr_accessor :nodeset_file
|
26
|
+
attr_accessor :manifest
|
26
27
|
|
27
28
|
# Create methods on self so that we can access these basic things without
|
28
29
|
# having to actually instantiate the class, I'm debating how much stuff
|
@@ -97,6 +98,7 @@ class Controlrepo
|
|
97
98
|
@temp_environmentpath = nil
|
98
99
|
@tempdir = nil
|
99
100
|
$temp_modulepath = nil
|
101
|
+
@manifest = config['manifest'] ? File.expand_path(config['manifest'],@root) : nil
|
100
102
|
end
|
101
103
|
|
102
104
|
def to_s
|
@@ -108,7 +110,7 @@ class Controlrepo
|
|
108
110
|
facts_files: #{@facts_files}
|
109
111
|
nodeset_file: #{@nodeset_file}
|
110
112
|
roles: #{roles}
|
111
|
-
profiles #{profiles}
|
113
|
+
profiles: #{profiles}
|
112
114
|
END
|
113
115
|
end
|
114
116
|
|
@@ -285,6 +287,10 @@ class Controlrepo
|
|
285
287
|
File.write(r10k_config_file,data.to_yaml)
|
286
288
|
end
|
287
289
|
|
290
|
+
def temp_manifest
|
291
|
+
config['manifest'] ? File.expand_path(config['manifest'],@tempdir) : nil
|
292
|
+
end
|
293
|
+
|
288
294
|
private
|
289
295
|
|
290
296
|
def read_facts(facts_file)
|
@@ -341,4 +347,4 @@ class Controlrepo
|
|
341
347
|
end
|
342
348
|
return nil
|
343
349
|
end
|
344
|
-
end
|
350
|
+
end
|
data/lib/controlrepo/beaker.rb
CHANGED
@@ -24,7 +24,7 @@ class Controlrepo
|
|
24
24
|
begin
|
25
25
|
if facts['os']['distro']['id'] == 'Debian'
|
26
26
|
os = 'Debian'
|
27
|
-
version =
|
27
|
+
version = facts['os']['distro']['release']['full']
|
28
28
|
end
|
29
29
|
rescue
|
30
30
|
# Do nothing
|
@@ -80,8 +80,11 @@ task :controlrepo_autotest_prep do
|
|
80
80
|
@config = Controlrepo::TestConfig.new("#{@repo.spec_dir}/controlrepo.yaml")
|
81
81
|
|
82
82
|
# Verify that all the files exist for the tests we have set up
|
83
|
-
|
84
|
-
|
83
|
+
if Rake.application.top_level_tasks[0] == "controlrepo_spec"
|
84
|
+
@config.spec_tests.each { |test| @config.verify_spec_test(@repo,test) }
|
85
|
+
elsif Rake.application.top_level_tasks[0] == "controlrepo_acceptance"
|
86
|
+
@config.acceptance_tests.each { |test| @config.verify_acceptance_test(@repo,test) }
|
87
|
+
end
|
85
88
|
|
86
89
|
# Deploy r10k to a temp dir
|
87
90
|
@config.r10k_deploy_local(@repo)
|
@@ -161,8 +164,3 @@ task :r10k_deploy_local do
|
|
161
164
|
# Deploy r10k to a temp dir
|
162
165
|
config.r10k_deploy_local(repo)
|
163
166
|
end
|
164
|
-
|
165
|
-
# TODO: We could use rspec's tagging abilities to choose which if the acceptance tests to run.
|
166
|
-
|
167
|
-
|
168
|
-
|
data/lib/controlrepo/test.rb
CHANGED
@@ -113,7 +113,6 @@ class Controlrepo
|
|
113
113
|
# This should take an array of tests and remove any duplicates from them
|
114
114
|
|
115
115
|
# this will be an array of arrays, or maybe hashes
|
116
|
-
# TODO: Rewrite this so that it merges options hashes, or takes one, decide on the right behaviour
|
117
116
|
combinations = []
|
118
117
|
new_tests = []
|
119
118
|
tests.each do |test|
|
@@ -19,7 +19,9 @@ class Controlrepo
|
|
19
19
|
def initialize(file, environment = ENV['CONTROLREPO_env'])
|
20
20
|
begin
|
21
21
|
config = YAML.load(File.read(file))
|
22
|
-
rescue
|
22
|
+
rescue Errno::ENOENT
|
23
|
+
raise "Could not find spec/controlrepo.yaml"
|
24
|
+
rescue Psych::SyntaxError
|
23
25
|
raise "Could not parse the YAML file, check that it is valid YAML and that the encoding is correct"
|
24
26
|
end
|
25
27
|
|
@@ -96,7 +98,7 @@ class Controlrepo
|
|
96
98
|
Dir["#{spec_dir}/pre_conditions/*.pp"].each do |condition_file|
|
97
99
|
puppetcode << File.read(condition_file)
|
98
100
|
end
|
99
|
-
return
|
101
|
+
return nil if puppetcode.count == 0
|
100
102
|
puppetcode.join("\n")
|
101
103
|
end
|
102
104
|
|
@@ -184,12 +186,5 @@ class Controlrepo
|
|
184
186
|
end
|
185
187
|
end
|
186
188
|
end
|
187
|
-
|
188
|
-
# TODO: Work out the best way to format the output
|
189
|
-
# TODO: Look into bundling bundler into the temp dir
|
190
|
-
# TODO: Write task for beaker tests *brace yourself* Dont forget about the beaker file you have
|
191
|
-
# TODO: Compare the outlout of the beaker helper that I wrote
|
192
|
-
# with the output from the templated tests, us ethe better one
|
193
|
-
# bearing in minf that beaker has logger options that could help
|
194
189
|
end
|
195
190
|
end
|
@@ -2,6 +2,8 @@ require 'puppetlabs_spec_helper/module_spec_helper'
|
|
2
2
|
|
3
3
|
RSpec.configure do |c|
|
4
4
|
c.parser = 'future'
|
5
|
+
c.environmentpath = '<%= environmentpath %>'
|
5
6
|
c.module_path = '<%= modulepath %>'
|
6
7
|
c.hiera_config = '<%= environmentpath %>/<%= @environment %>/hiera.yaml'
|
7
|
-
|
8
|
+
c.manifest = '<%= repo.temp_manifest %>'
|
9
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: controlrepo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dylan Ratcliffe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -150,7 +150,7 @@ dependencies:
|
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
|
-
description:
|
153
|
+
description: Testing tools for Puppet controlrepos
|
154
154
|
email:
|
155
155
|
- dylan.ratcliffe@puppetlabs.com
|
156
156
|
executables: []
|
@@ -163,10 +163,18 @@ files:
|
|
163
163
|
- README.md
|
164
164
|
- Rakefile
|
165
165
|
- controlrepo.gemspec
|
166
|
+
- factsets/CentOS-5.11-32.json
|
167
|
+
- factsets/CentOS-5.11-64.json
|
168
|
+
- factsets/CentOS-6.6-32.json
|
166
169
|
- factsets/CentOS-6.6-64.json
|
167
170
|
- factsets/CentOS-7.0-64.json
|
171
|
+
- factsets/Debian-6.0.10-32.json
|
172
|
+
- factsets/Debian-6.0.10-64.json
|
173
|
+
- factsets/Debian-7.8-32.json
|
168
174
|
- factsets/Debian-7.8-64.json
|
169
175
|
- factsets/Ubuntu-12.04-32.json
|
176
|
+
- factsets/Ubuntu-12.04-64.json
|
177
|
+
- factsets/Ubuntu-14.04-32.json
|
170
178
|
- factsets/Ubuntu-14.04-64.json
|
171
179
|
- factsets/Windows_Server-2008r2-64.json
|
172
180
|
- factsets/Windows_Server-2012r2-64.json
|
@@ -186,7 +194,7 @@ files:
|
|
186
194
|
- templates/spec_helper.rb.erb
|
187
195
|
- templates/spec_helper_acceptance.rb.erb
|
188
196
|
- templates/test_spec.rb.erb
|
189
|
-
homepage:
|
197
|
+
homepage: https://github.com/dylanratcliffe/controlrepo_gem
|
190
198
|
licenses:
|
191
199
|
- Apache-2.0
|
192
200
|
metadata: {}
|
@@ -209,5 +217,5 @@ rubyforge_project:
|
|
209
217
|
rubygems_version: 2.4.6
|
210
218
|
signing_key:
|
211
219
|
specification_version: 4
|
212
|
-
summary:
|
220
|
+
summary: Testing tools for Puppet controlrepos
|
213
221
|
test_files: []
|