pdqtest 1.9.9beta5 → 1.9.9beta6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a9b6fed071d96aaf5e9be2d817ef816dc0a4ba8e56e93413a1c40889225fd03
4
- data.tar.gz: 31d2c4d2eaf7a731dcb72d62a0cf84d5257e7de755c87a7531b7fc1414329f7f
3
+ metadata.gz: e9833010ae1e09cfb08af4e3ce5471a07df1fcc7fd8f674b44399f6f5dc021fc
4
+ data.tar.gz: c5310840d59b593d0bae1d63a2cc61b84f47ccc8cfa6f72afedb5e9f10335e91
5
5
  SHA512:
6
- metadata.gz: 8565026a8c28a794fe58c26065de33bd17c62daab57fc917af5d5742cecea6c9f7508a51fab8de0fbd763ff6c7ea89be1c7bc1b43049479a71073eaa05306509
7
- data.tar.gz: e6aa081aa4de254977b034327c85090b0c9e0dd3c1e75131af26eab434fec8a80730699ec03b4852f936d8d07cb83d630ff3411675c8a420c38c9e6b7fdca4a9
6
+ metadata.gz: d2472553063f8d3b17612b7b692a6af350bb7f83090296042778cce7e0e40e0b87a680af4abb98cda3916276643e8bc409e42dc9b46edcd8397a69de538ef07c
7
+ data.tar.gz: bacbb3ffde09c8df33c5d5861a3b51735d830bef228b7d42ff9d00533bbd08bf30b7590b2e0092429c785e881355296a8bd648b9296db715aa3efe359712e646
@@ -20,3 +20,4 @@
20
20
  * Create/copy files, directories, etc.
21
21
  * Install OS packages
22
22
  * Install python scripts to mock database servers using SQLite... 😉
23
+ * Files added by PDQTest >= 2.0 have the magic marker: `*File originally created by PDQTest*`
@@ -0,0 +1,157 @@
1
+ geoff@computer:~/tmp/ssh$ git checkout -b pdk
2
+ Switched to a new branch 'pdk'
3
+ geoff@computer:~/tmp/ssh$ pdqtest init
4
+ Puppet metadata not found at metadata.json - not a valid puppet module
5
+ geoff@computer:~/tmp/ssh$ ls
6
+ total 72K
7
+ 4.0K bitbucket-pipelines.yml 4.0K Gemfile 4.0K Makefile 4.0K Rakefile
8
+ 4.0K CHANGELOG 4.0K Gemfile.lock 4.0K manifests 4.0K README.md
9
+ 4.0K data 4.0K hiera.yaml 4.0K metadata.json 4.0K REFERENCE.md
10
+ 4.0K examples 12K LICENSE 4.0K Puppetfile.lock 4.0K spec
11
+ geoff@computer:~/tmp/ssh$ pdqtest init
12
+ Doing one-time upgrade to PDK - Generating fresh set of files...
13
+ pdk (INFO): Creating new module: x
14
+ pdk (INFO): Module 'x' generated at path '/tmp/d20180929-15397-q82464/x', from template 'file:///opt/puppetlabs/pdk/share/cache/pdk-templates.git'.
15
+ pdk (INFO): In your module directory, add classes with the 'pdk new class' command.
16
+ new module x --skip-interview: 😬
17
+ Detected PDQTest 1.x file at spec/spec_helper.rb (will upgrade to PDK)
18
+ Detected PDQTest 1.x file at spec/default_facts.yml (will upgrade to PDK)
19
+ Detected PDQTest 1.x file at .pdkignore (will upgrade to PDK)
20
+ Detected PDQTest 1.x file at Gemfile (will upgrade to PDK)
21
+ Detected PDQTest 1.x file at Rakefile (will upgrade to PDK)
22
+ Detected PDQTest 1.x file at .gitignore (will upgrade to PDK)
23
+ Updated .sync.yml with {".travis.yml"=>{:unmanaged=>true}}
24
+ enabling PDK in metadata.json
25
+ geoff@computer:~/tmp/ssh$ git status
26
+ On branch pdk
27
+ Changes not staged for commit:
28
+ (use "git add <file>..." to update what will be committed)
29
+ (use "git checkout -- <file>..." to discard changes in working directory)
30
+
31
+ modified: .gitignore
32
+ modified: .travis.yml
33
+ modified: Gemfile
34
+ modified: Makefile
35
+ modified: Rakefile
36
+ modified: metadata.json
37
+ modified: spec/spec_helper.rb
38
+
39
+ Untracked files:
40
+ (use "git add <file>..." to include in what will be committed)
41
+
42
+ .Puppetfile.pdqtest
43
+ .librarian/
44
+ .pdkignore
45
+ .pdqtest/
46
+ .puppet-lint.rc
47
+ .sync.yaml
48
+ Puppetfile.lock
49
+ make.ps1
50
+ spec/acceptance/init__before.bats
51
+ spec/acceptance/init__setup.sh
52
+ spec/default_facts.yml
53
+ spec/fixtures/
54
+
55
+ no changes added to commit (use "git add" and/or "git commit -a")
56
+ geoff@computer:~/tmp/ssh$ cat Makefile
57
+ all:
58
+ cd .pdqtest && pwd && bundle exec pdqtest all
59
+ $(MAKE) docs
60
+
61
+ fast:
62
+ cd .pdqtest && pwd && bundle exec pdqtest fast
63
+
64
+ shell:
65
+ cd .pdqtest && pwd && bundle exec pdqtest --keep-container acceptance
66
+
67
+ setup:
68
+ cd .pdqtest && pwd && bundle exec pdqtest setup
69
+
70
+ shellnopuppet:
71
+ cd .pdqtest && pwd && bundle exec pdqtest shell
72
+
73
+ logical:
74
+ cd .pdqtest && pwd && bundle exec pdqtest syntax
75
+ cd .pdqtest && pwd && bundle exec pdqtest rspec
76
+ $(MAKE) docs
77
+
78
+ #nastyhack:
79
+ # # fix for - https://tickets.puppetlabs.com/browse/PDK-1192
80
+ # find vendor -iname '*.pp' -exec rm {} \;
81
+
82
+ pdqtestbundle:
83
+ # Install all gems into _normal world_ bundle so we can use all of em
84
+ cd .pdqtest && pwd && bundle install
85
+
86
+ docs:
87
+ cd .pdqtest && pwd && bundle exec "cd ..&& puppet strings"
88
+
89
+
90
+ Gemfile.local:
91
+ echo "[🐌] Creating symlink and running pdk bundle..."
92
+ ln -s Gemfile.project Gemfile.local
93
+ $(MAKE) pdkbundle
94
+
95
+ pdkbundle:
96
+ pdk bundle install
97
+ geoff@computer:~/tmp/ssh$ make pdqtestbundle
98
+ # Install all gems into _normal world_ bundle so we can use all of em
99
+ cd .pdqtest && pwd && bundle install
100
+ /home/geoff/tmp/ssh/.pdqtest
101
+ Resolving dependencies...
102
+ Using rake 12.3.1
103
+ Using bundler 1.16.1
104
+ Using colored 1.2
105
+ Using cri 2.6.1
106
+ Using deep_merge 1.2.1
107
+ Using excon 0.62.0
108
+ Using multi_json 1.13.1
109
+ Using docker-api 1.34.2
110
+ Using nesty 1.0.2
111
+ Using escort 0.4.0
112
+ Using facter 2.5.1
113
+ Using multipart-post 2.0.0
114
+ Using faraday 0.13.1
115
+ Using faraday_middleware 0.12.2
116
+ Using fast_gettext 1.1.2
117
+ Using locale 2.1.2
118
+ Using text 1.3.1
119
+ Using gettext 3.2.9
120
+ Using gettext-setup 0.30
121
+ Using hiera 3.4.5
122
+ Using hocon 1.2.5
123
+ Using httpclient 2.8.3
124
+ Using little-plugger 1.1.4
125
+ Using log4r 1.1.10
126
+ Using logging 2.2.2
127
+ Using minitar 0.6.1
128
+ Using semantic_puppet 1.0.2
129
+ Using puppet_forge 2.2.9
130
+ Using r10k 2.6.4
131
+ Using thor 0.20.0
132
+ Using pdqtest 1.9.9beta6
133
+ Using puppet-resource_api 1.6.0
134
+ Using puppet 6.0.0
135
+ Using puppet-lint 2.3.6
136
+ Using rgen 0.8.2
137
+ Using yard 0.9.16
138
+ Using puppet-strings 2.1.0
139
+ Using puppet-syntax 2.4.1
140
+ Bundle complete! 5 Gemfile dependencies, 38 gems now installed.
141
+ Use `bundle info [gemname]` to see where a bundled gem is installed.
142
+ geoff@computer:~/tmp/ssh$ make
143
+ cd .pdqtest && pwd && bundle exec pdqtest all
144
+ /home/geoff/tmp/ssh/.pdqtest
145
+ pdk (INFO): Using Ruby 2.4.4
146
+ pdk (INFO): Using Puppet 5.5.6
147
+ [✔] Checking metadata syntax (metadata.json tasks/*.json).
148
+ [✖] Checking module metadata style (metadata.json).
149
+ [✔] Checking Puppet manifest syntax (**/**.pp).
150
+ [✔] Checking Puppet manifest style (**/*.pp).
151
+ warning: metadata-json-lint: metadata.json: Dependency puppetlabs-stdlib has an open ended dependency version requirement >= 4.15.0
152
+ validate 'metadata,puppet': 💣
153
+ Error encountered running #<Proc:0x000055595e990ce8@/home/geoff/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/pdqtest-1.9.9beta6/exe/pdqtest:91 (lambda)>
154
+ Overall: 💩
155
+ ABORTED - there are test failures! :(
156
+ Makefile:2: recipe for target 'all' failed
157
+ make: *** [all] Error 1
data/exe/pdqtest CHANGED
@@ -23,6 +23,11 @@ require 'pdqtest/fastcheck'
23
23
  # display help if nothing specified
24
24
  ARGV.push('-h') if ARGV.empty?
25
25
 
26
+ # Setup logging and print out where we were started from because we have to use
27
+ # a separate Gemfile to PDK
28
+ PDQTest::Logger.logger
29
+ $logger.info("Entered PDQTest from #{Dir.pwd}")
30
+
26
31
 
27
32
  Escort::App.create do |app|
28
33
  app.version PDQTest::VERSION
@@ -77,7 +82,7 @@ Escort::App.create do |app|
77
82
  command.summary "All"
78
83
  command.description "Run all tests"
79
84
  command.action do |options, arguments|
80
- PDQTest::Logger.logger
85
+
81
86
  $logger.level = :debug if options[:global][:options][:debug]
82
87
 
83
88
  PDQTest::Emoji.disable(options[:global][:options][:disable_emoji])
@@ -102,7 +107,6 @@ Escort::App.create do |app|
102
107
  command.summary "Fast"
103
108
  command.description "Run basic lint/syntax and acceptance tests (skips rspec)"
104
109
  command.action do |options, arguments|
105
- PDQTest::Logger.logger
106
110
  $logger.level = :debug if options[:global][:options][:debug]
107
111
 
108
112
  PDQTest::Emoji.disable(options[:global][:options][:disable_emoji])
@@ -112,6 +116,7 @@ Escort::App.create do |app|
112
116
  PDQTest::Instance.set_keep_container(options[:global][:options][:keep_container])
113
117
  PDQTest::Instance.set_docker_image(options[:global][:options][:image_name])
114
118
 
119
+ $logger.debug "before chdir #{Dir.pwd}"
115
120
  Dir.chdir ".." do
116
121
  PDQTest::Core.run([
117
122
  lambda {PDQTest::Fastcheck.run},
@@ -122,21 +127,6 @@ Escort::App.create do |app|
122
127
  end
123
128
  end
124
129
 
125
- app.command :rspec do |command|
126
- command.summary "RSpec"
127
- command.description "Run the RSpec tests (`pdk test unit` with emojis)"
128
- command.action do |options, arguments|
129
- PDQTest::Logger.logger
130
- $logger.level = :debug if options[:global][:options][:debug]
131
-
132
- PDQTest::Emoji.disable(options[:global][:options][:disable_emoji])
133
- Dir.chdir ".." do
134
- PDQTest::Core.run(lambda {PDQTest::Pdk.run("test unit")})
135
- end
136
- end
137
- end
138
-
139
-
140
130
  app.command :acceptance do |command|
141
131
  command.summary "Acceptance"
142
132
  command.description "Run the acceptance (Docker) tests"
@@ -149,7 +139,6 @@ Escort::App.create do |app|
149
139
  )
150
140
  end
151
141
  command.action do |options, arguments|
152
- PDQTest::Logger.logger
153
142
  $logger.level = :debug if options[:global][:options][:debug]
154
143
 
155
144
  PDQTest::Emoji.disable(options[:global][:options][:disable_emoji])
@@ -168,10 +157,11 @@ Escort::App.create do |app|
168
157
  command.summary "Initialise testing"
169
158
  command.description "Install skeleton testing configuration into this module"
170
159
  command.action do |options, arguments|
171
- PDQTest::Logger.logger
172
160
  $logger.level = :debug if options[:global][:options][:debug]
173
161
 
174
162
  PDQTest::Emoji.disable(options[:global][:options][:disable_emoji])
163
+ # Init isn't run with bundler because we're not in the bundle. because its
164
+ # a system command, we don't need to jump back out of 'our' Gemfile dir
175
165
  PDQTest::Skeleton.init
176
166
  end
177
167
  end
@@ -188,7 +178,6 @@ Escort::App.create do |app|
188
178
  )
189
179
  end
190
180
  command.action do |options, arguments|
191
- PDQTest::Logger.logger
192
181
  $logger.level = :debug if options[:global][:options][:debug]
193
182
 
194
183
  PDQTest::Emoji.disable(options[:global][:options][:disable_emoji])
@@ -205,24 +194,28 @@ Escort::App.create do |app|
205
194
  command.summary "Shell"
206
195
  command.description "Open a shell inside a docker container identical to the test environment before anything has run"
207
196
  command.action do |options, arguments|
208
- PDQTest::Logger.logger
209
197
  $logger.level = :debug if options[:global][:options][:debug]
210
198
 
211
199
  PDQTest::Instance.set_docker_image(options[:global][:options][:image_name])
212
- PDQTest::Instance.shell
200
+ Dir.chdir ".." do
201
+ PDQTest::Instance.shell
202
+ end
213
203
  end
214
204
  end
215
205
 
216
- app.command :syntax do |command|
206
+ app.command :logical do |command|
217
207
  command.summary "Syntax"
218
208
  command.description "Check for syntax errors (`pdk validate metadata,puppet` with emojis)"
219
209
  command.action do |options, arguments|
220
- PDQTest::Logger.logger
221
210
  $logger.level = :debug if options[:global][:options][:debug]
222
211
 
223
212
  PDQTest::Emoji.disable(options[:global][:options][:disable_emoji])
224
213
  Dir.chdir ".." do
225
- PDQTest::Core.run(lambda {PDQTest::Pdk.run("validate 'metadata,puppet'")})
214
+ PDQTest::Core.run([
215
+ lambda {PDQTest::Pdk.run("validate 'metadata,puppet'")},
216
+ lambda {PDQTest::Puppet.install_modules},
217
+ lambda {PDQTest::Pdk.run("test unit")},
218
+ ])
226
219
  end
227
220
  end
228
221
  end
@@ -232,7 +225,6 @@ Escort::App.create do |app|
232
225
  command.description "Install the docker container required for testing"
233
226
 
234
227
  command.action do |options, arguments|
235
- PDQTest::Logger.logger
236
228
  $logger.level = :debug if options[:global][:options][:debug]
237
229
 
238
230
  Dir.chdir ".." do
@@ -249,7 +241,6 @@ Escort::App.create do |app|
249
241
  command.summary "Info"
250
242
  command.description "Print info about this module"
251
243
  command.action do |options, arguments|
252
- PDQTest::Logger.logger
253
244
  $logger.level = :debug if options[:global][:options][:debug]
254
245
 
255
246
  Dir.chdir ".." do
@@ -263,12 +254,11 @@ Escort::App.create do |app|
263
254
  command.summary "Upgrade"
264
255
  command.description "Upgrade the current module to use this version of PDQTest"
265
256
  command.action do |options, arguments|
266
- PDQTest::Logger.logger
267
257
  $logger.level = :debug if options[:global][:options][:debug]
268
258
 
269
- Dir.chdir ".." do
270
- PDQTest::Upgrade.upgrade
271
- end
259
+ # also runs without bundler since we're not in the bundle yet - see notes
260
+ # for `init`
261
+ PDQTest::Upgrade.upgrade
272
262
  end
273
263
  end
274
264
  end
@@ -5,10 +5,16 @@ module PDQTest
5
5
  module Fastcheck
6
6
 
7
7
  def self.run
8
- status = system("bundle exec puppet-lint manifests")
8
+ $logger.debug "inside Fastcheck::run - current dir: #{Dir.pwd}"
9
+
10
+ $logger.debug "Running syntax..."
11
+ status = system("bundle exec 'rake syntax'")
12
+ $logger.debug "...done; result: #{status}"
9
13
 
10
14
  if status
11
- status = system("bundle exec rake syntax")
15
+ $logger.debug "Running lint..."
16
+ status = system("bundle exec 'puppet-lint manifests'")
17
+ $logger.debug "...done; result: #{status}"
12
18
  end
13
19
 
14
20
  PDQTest::Emoji.partial_status(status, "fastcheck (syntax+lint)")
@@ -54,7 +54,22 @@ module PDQTest
54
54
  # process each supported OS
55
55
  test_platforms = @@image_name || Docker::acceptance_test_images
56
56
  $logger.info "Acceptance test on #{test_platforms}..."
57
- test_platforms.each { |image_name|
57
+ test_platforms.reject { |image_name|
58
+ reject = false
59
+ if Util.is_windows
60
+ if image_name !~ /windows/
61
+ $logger.info "Skipping test image #{image_name} (requires Linux)"
62
+ reject = true
63
+ end
64
+ else
65
+ if image_name =~ /windows/
66
+ $logger.info "Skipping test image #{image_name} (requires Windows)"
67
+ reject = true
68
+ end
69
+ end
70
+
71
+ reject
72
+ }.each { |image_name|
58
73
  $logger.info "--- start test with #{image_name} ---"
59
74
  @@active_container = PDQTest::Docker::new_container(image_name, @@privileged)
60
75
  $logger.info "alive, running tests"
data/lib/pdqtest/pdk.rb CHANGED
@@ -9,7 +9,7 @@ module PDQTest
9
9
  # inside `pdk bundle` to work, nor could I figure out how to load the PDK
10
10
  # libraries from the "inside"
11
11
  module Pdk
12
- SYNC_YML = '.sync.yaml'
12
+ SYNC_YML = '.sync.yml'
13
13
 
14
14
  # Copy these values from PDK generated metadata to module metadata
15
15
  PDK_TAGS = [
@@ -17,7 +17,7 @@ module PDQTest
17
17
  ACCEPTANCE_DIR = File.join(SPEC_DIR, 'acceptance')
18
18
  SKELETON_DIR = 'skeleton'
19
19
  EXAMPLES_DIR = 'examples'
20
- HIERA_DIR = File.join(SPEC_DIR, 'fixtures', 'hieradata')
20
+ HIERA_DIR = File.join(SPEC_DIR, 'fixtures', 'hieradata')
21
21
  HIERA_YAML = 'hiera.yaml'
22
22
  HIERA_TEST = 'test.yaml'
23
23
  PDK_FILES = [
@@ -36,20 +36,20 @@ module PDQTest
36
36
  # Every time we `pdqtest upgrade`, update .sync.yml (merges)
37
37
  SYNC_YML_CONTENT = {
38
38
  ".travis.yml" => {
39
- "unmanaged": true
39
+ "unmanaged" => true,
40
+ },
41
+ ".gitignore" => {
42
+ "paths" => [
43
+ ".Puppetfile.pdqtest",
44
+ ],
40
45
  }
41
- }
46
+ }.freeze
42
47
 
43
48
 
44
49
  def self.should_replace_file(target, skeleton)
45
50
  target_hash = Digest::SHA256.file target
46
51
  skeleton_hash = Digest::SHA256.file skeleton
47
- puts Dir.pwd
48
- puts target
49
- puts skeleton
50
- puts target_hash
51
- puts skeleton_hash
52
- puts Digest::SHA256.file "/nothere"
52
+
53
53
  should = (target_hash != skeleton_hash)
54
54
  $logger.debug "should replace: #{should}"
55
55
 
@@ -81,7 +81,6 @@ puts target
81
81
 
82
82
  # vars is a hash of variables that can be accessed in template
83
83
  def self.install_template(target, template_file, vars)
84
- example_file = File.join(EXAMPLES_DIR, template_file)
85
84
  if ! File.exists?(target)
86
85
  template = File.read(Util::resource_path(File.join('templates', template_file)))
87
86
  content = ERB.new(template, nil, '-').result(binding)
@@ -8,19 +8,32 @@ module PDQTest
8
8
  GEM_ATTRIB_REGEXP = /^\s*:\w+/
9
9
 
10
10
  GEMS = {
11
- 'pdqtest' => {
12
- 'line' => "gem 'pdqtest', '#{PDQTest::VERSION}'",
13
- 'added' => false,
11
+ # 'gemsource' => {
12
+ # 'line' => "source ENV['GEM_SOURCE'] || 'https://rubygems.org'",
13
+ # 'added' => false,
14
+ # },
15
+ 'pdqtest' => {
16
+ 'line' => "gem 'pdqtest', '#{PDQTest::VERSION}'",
17
+ 'added' => false,
18
+ },
19
+ 'puppet-strings' => {
20
+ 'line' => "gem 'puppet-strings'",
21
+ 'added' => false,
14
22
  },
15
- 'puppet-strings' => {
16
- 'line' => "gem 'puppet-strings'",
23
+ 'puppet' => {
24
+ 'line' => "gem 'puppet'",
17
25
  'added' => false,
18
26
  },
19
- 'puppet' => {
20
- 'line' => "gem 'puppet'",
27
+ 'puppet-lint' => {
28
+ 'line' => "gem 'puppet-lint'",
21
29
  'added' => false,
22
30
  },
23
- }
31
+ 'puppet-syntax' => {
32
+ 'line' => "gem 'puppet-syntax'",
33
+ 'added' => false,
34
+ },
35
+
36
+ }.freeze
24
37
 
25
38
 
26
39
  # upgrade a module to the latest version of PDQTest
@@ -37,11 +50,11 @@ module PDQTest
37
50
  FileUtils.touch(GEMFILE)
38
51
  end
39
52
  File.open(GEMFILE, 'r') do |f|
40
- f.each_line{ |line|
53
+ f.each_line { |line|
41
54
  if line =~ GEM_REGEXP
42
55
  # a gem stanza
43
- processing_gem = $2
44
- if GEMS.keys.include?(processing_gem)
56
+ processing_gem = Regexp.last_match(2)
57
+ if GEMS.key?(processing_gem)
45
58
  # fixup one of our monitored gems as needed, mark
46
59
  # this as being a gem that is being updated so
47
60
  # that we can kill any multi-line attributes
@@ -53,7 +66,7 @@ module PDQTest
53
66
  t_file.puts line
54
67
  updating_gem = false
55
68
  end
56
- elsif updating_gem and line =~ GEM_ATTRIB_REGEXP
69
+ elsif updating_gem && line =~ GEM_ATTRIB_REGEXP
57
70
  # do nothing - remove the multi-line attributes
58
71
  else
59
72
  # anything else... (esp comments)
@@ -1,3 +1,3 @@
1
1
  module PDQTest
2
- VERSION = "1.9.9beta5"
2
+ VERSION = "1.9.9beta6"
3
3
  end
@@ -1,6 +1,7 @@
1
+ # *File originally created by PDQTest*
1
2
  # BATS test file to run after executing 'examples/init.pp' with puppet.
2
3
  #
3
- # For more info on BATS see https://github.com/sstephenson/bats
4
+ # For more info on BATS see https://github.com/bats-core/bats-core
4
5
 
5
6
  # Tests are really easy! just the exit status of running a command...
6
7
  @test "addition using bc" {
@@ -1,6 +1,7 @@
1
+ # *File originally created by PDQTest*
1
2
  # BATS test file to run before executing 'examples/init.pp' with puppet.
2
3
  #
3
- # For more info on BATS see https://github.com/sstephenson/bats
4
+ # For more info on BATS see https://github.com/bats-core/bats-core
4
5
 
5
6
  # Tests are really easy! just the exit status of running a command...
6
7
  @test "addition using bc" {
@@ -1,3 +1,4 @@
1
1
  #!/bin/bash
2
+ # *File originally created by PDQTest*
2
3
  # If this file exists it will be run on the system under test before puppet runs
3
4
  # to setup any prequisite test conditions, etc
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+ # *File originally created by PDQTest*
3
+ # This is your place to add custom CI actions without modifying travis.yml
4
+ # PDQTest will create this initial file for you but only so you know where
5
+ # add your stuff. We won't change this file unless you run `pdqtest init`
6
+ # again
@@ -1,3 +1,4 @@
1
+ # *File originally created by PDQTest*
1
2
  --fail-on-warnings
2
3
  --no-double_quoted_strings-check
3
4
  --no-80chars-check
@@ -1,9 +1,16 @@
1
1
  # .travis.yml
2
2
  #
3
+ # *File originally created by PDQTest*
4
+ #
3
5
  # To debug travis locally:
4
6
  # https://docs.travis-ci.com/user/common-build-problems/#Running-a-Container-Based-Docker-Image-Locally
5
7
  ---
6
8
  sudo: false
9
+
10
+ # Don't process the PDK Gemfile - causes big problems!
11
+ gemfile: .pdqtest/Gemfile
12
+
13
+ bundler_args: --path .pdqtest
7
14
  language: ruby
8
15
  services:
9
16
  - docker
@@ -13,9 +20,11 @@ before_install:
13
20
  - sudo dpkg -i puppet5-release-trusty.deb
14
21
  - sudo apt-get update
15
22
  - sudo apt install -y pdk
16
- - make Gemfile.local
17
- - bundle exec pdqtest setup
23
+
24
+ # travis itself does the bundle install for us, so we are ready to run now
18
25
  script:
26
+ - sh .ci_custom.sh
27
+ - make setup
19
28
  - make
20
29
  rvm:
21
30
  - 2.4.1
@@ -1,3 +1,4 @@
1
+ # *File originally created by PDQTest*
1
2
  all:
2
3
  cd .pdqtest && bundle exec pdqtest all
3
4
  $(MAKE) docs
@@ -5,6 +6,9 @@ all:
5
6
  fast:
6
7
  cd .pdqtest && bundle exec pdqtest fast
7
8
 
9
+ acceptance:
10
+ cd .pdqtest && bundle exec pdqtest acceptance
11
+
8
12
  shell:
9
13
  cd .pdqtest && bundle exec pdqtest --keep-container acceptance
10
14
 
@@ -15,24 +19,21 @@ shellnopuppet:
15
19
  cd .pdqtest && bundle exec pdqtest shell
16
20
 
17
21
  logical:
18
- cd .pdqtest && bundle exec pdqtest syntax
19
- cd .pdqtest && bundle exec pdqtest rspec
22
+ cd .pdqtest && bundle exec pdqtest logical
20
23
  $(MAKE) docs
21
24
 
22
- nastyhack:
23
- # fix for - https://tickets.puppetlabs.com/browse/PDK-1192
24
- find vendor -iname '*.pp' -exec rm {} \;
25
-
26
- bundle:
25
+ pdqtestbundle:
27
26
  # Install all gems into _normal world_ bundle so we can use all of em
28
- cd .pdqtest && bundle install
29
-
30
- Gemfile.local:
31
- echo "[🐌] Creating symlink and running pdk bundle..."
32
- ln -s Gemfile.project Gemfile.local
27
+ cd .pdqtest && pwd && bundle install
33
28
 
34
29
  docs:
35
- cd .pdqtest && bundle exec "cd ..&& puppet strings"
30
+ cd .pdqtest && pwd && bundle exec "cd ..&& puppet strings"
36
31
 
37
32
 
33
+ Gemfile.local:
34
+ echo "[🐌] Creating symlink and running pdk bundle..."
35
+ ln -s Gemfile.project Gemfile.local
36
+ $(MAKE) pdkbundle
38
37
 
38
+ pdkbundle:
39
+ pdk bundle install
@@ -1,3 +1,4 @@
1
+ # *File originally created by PDQTest*
1
2
  image: ruby:2.3.5
2
3
 
3
4
  pipelines:
@@ -10,6 +10,7 @@
10
10
  .PARAMETER target
11
11
  Test suite to run
12
12
  #>
13
+ # *File originally created by PDQTest*
13
14
  param(
14
15
  $target = "all"
15
16
  )
@@ -1,4 +1,5 @@
1
1
  # Hiera 5 Global configuration file *****test configuration*****
2
+ # *File originally created by PDQTest*
2
3
  #
3
4
  # Hiera data expected from spec/fixtures/hieradata to give consistent path for
4
5
  # testing both rspec and acceptance
@@ -1,4 +1,5 @@
1
1
  # test.yaml *****for testing*****
2
+ # *File originally created by PDQTest*
2
3
  #
3
4
  # This allows you to acceptance test the _global_ hierarchy. Usually this is not
4
5
  # what you want- for in-module data, just look at `/hiera.yaml` and `/data`
@@ -1,2 +1,3 @@
1
1
  #<%= PDQTest::Puppet::setting(:magic_marker) %>
2
+ # *File originally created by PDQTest*
2
3
  include <%= PDQTest::Puppet.module_name %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdqtest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.9beta5
4
+ version: 1.9.9beta6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geoff Williams
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-27 00:00:00.000000000 Z
11
+ date: 2018-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -197,6 +197,7 @@ files:
197
197
  - doc/test_generation.md
198
198
  - doc/tips_and_tricks.md
199
199
  - doc/troubleshooting.md
200
+ - doc/upgrade_1_2.md
200
201
  - doc/upgrading.md
201
202
  - doc/windows.md
202
203
  - docker_images/centos/Dockerfile
@@ -224,6 +225,7 @@ files:
224
225
  - res/acceptance/init.bats
225
226
  - res/acceptance/init__before.bats
226
227
  - res/acceptance/init__setup.sh
228
+ - res/skeleton/.ci_custom.sh
227
229
  - res/skeleton/.puppet-lint.rc
228
230
  - res/skeleton/.travis.yml
229
231
  - res/skeleton/Makefile
@@ -232,7 +234,6 @@ files:
232
234
  - res/skeleton/spec/fixtures/hiera.yaml
233
235
  - res/skeleton/spec/fixtures/hieradata/test.yaml
234
236
  - res/templates/examples_init.pp.erb
235
- - res/templates/rspec.rb.erb
236
237
  homepage: https://github.com/DeclarativeSystems/pdqtest
237
238
  licenses:
238
239
  - Apache-2.0
@@ -1,23 +0,0 @@
1
- require 'spec_helper'
2
- require 'puppet_factset'
3
- describe '<%= vars[:classname] %>' do
4
- # Uncomment only the factset you would like to use for these tests
5
- <%
6
- require 'puppet_factset'
7
- default_factset = 'CentOS-7.0-64'
8
- PuppetFactset.factsets.each { |factset|
9
- -%>
10
- <% if factset != default_factset -%># <% end -%>system_name = '<%= factset %>'
11
- <% } -%>
12
- let :facts do
13
- PuppetFactset::factset_hash(system_name)
14
- end
15
-
16
- context 'compiles ok' do
17
- it { should compile }
18
- end
19
-
20
- context 'with default values for all parameters' do
21
- it { should contain_class('<%= vars[:classname] %>') }
22
- end
23
- end