onceover 3.15.0 β†’ 3.17.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +72 -82
  4. data/.travis.yml +3 -8
  5. data/Gemfile +9 -2
  6. data/README.md +66 -3
  7. data/bin/onceover +3 -3
  8. data/factsets/Ubuntu-18.04-64.json +556 -0
  9. data/features/step_definitions/common.rb +12 -1
  10. data/features/windows.feature +30 -0
  11. data/features/{run.feature β†’ zzz_run.feature} +5 -0
  12. data/lib/onceover/beaker.rb +6 -0
  13. data/lib/onceover/cli.rb +1 -1
  14. data/lib/onceover/cli/init.rb +1 -1
  15. data/lib/onceover/cli/run.rb +4 -3
  16. data/lib/onceover/cli/show.rb +3 -3
  17. data/lib/onceover/cli/update.rb +2 -2
  18. data/lib/onceover/controlrepo.rb +10 -6
  19. data/lib/onceover/deploy.rb +3 -1
  20. data/lib/onceover/group.rb +1 -1
  21. data/lib/onceover/logger.rb +2 -1
  22. data/lib/onceover/rake_tasks.rb +2 -1
  23. data/lib/onceover/rspec/formatters.rb +17 -5
  24. data/lib/onceover/runner.rb +17 -5
  25. data/lib/onceover/testconfig.rb +24 -14
  26. data/onceover.gemspec +13 -17
  27. data/spec/fixtures/controlrepos/caching/spec/r10k.yaml +3 -0
  28. data/spec/fixtures/controlrepos/windows/Gemfile +3 -0
  29. data/spec/fixtures/controlrepos/windows/Puppetfile +3 -0
  30. data/spec/fixtures/controlrepos/windows/environment.conf +1 -0
  31. data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/acl.pp +12 -0
  32. data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/groups.pp +8 -0
  33. data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/users.pp +9 -0
  34. data/spec/fixtures/controlrepos/windows/site/role/manifests/groups.pp +8 -0
  35. data/spec/fixtures/controlrepos/windows/site/role/manifests/users.pp +9 -0
  36. data/spec/fixtures/controlrepos/windows/spec/onceover.yaml +24 -0
  37. data/templates/test_spec.rb.erb +60 -0
  38. metadata +81 -110
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4262b6cc1cabc3a26101c7617d4c697fd149b0d1b03ecb93576fa6044b32497e
4
- data.tar.gz: df7f1e1010b33a82b68edb5b7e4f44eee3452077a9d84e4cec0433b8d702a6ee
3
+ metadata.gz: e6886259693e386c10aaebdd590be798363b38e823e4d7eb266d4f32f303cf2a
4
+ data.tar.gz: afdcc34051329c3a584803af4164f42aef9d2ac22e37bf14a35546f5ed8f45e3
5
5
  SHA512:
6
- metadata.gz: 2eed34c2baadc64f072db8659d16b0eed8ae6029411f6e7e6e97977dce4ce7ae8977f758e233814a20aaeee1e1083c26971ea61f984a9d204f7f2ce14d707ba5
7
- data.tar.gz: 8c68f464f140b1be9a257593f48cf92540c4c87545761b626f65e635de5e88d901957cb5ea1be4a6bcb228125c1756af3f111e287181eb5278208dff7e98455a
6
+ metadata.gz: 6f5b35dfa27bf5b8e6477ffcd3ea985935698d0562cc55ab679e80c501ce15ecb17deb47c81dc276e4bc8634662be7354b0578a122f3258f6f5cb8f00a43dcb5
7
+ data.tar.gz: 68c7771cfadc3ef7d9e43569e06e4ce40288a07db464eeaffc4c67b95558dab7b3c76f4e88dcb62ef82f02baf3e8ac13bc17cb988ead6164d96a05e43ef25ebd
data/.gitignore CHANGED
@@ -8,6 +8,7 @@ Gemfile.local
8
8
  /.bin
9
9
  /.ruby-version
10
10
  tmp
11
+ vendor
11
12
 
12
13
  # Vim
13
14
  /.projections.json
@@ -1,16 +1,16 @@
1
1
  AllCops:
2
2
  Include:
3
- - 'lib/**/*.rb'
4
- - 'ext/**/*.rb'
3
+ - "lib/**/*.rb"
4
+ - "ext/**/*.rb"
5
5
  Exclude:
6
- - '**/*.erb'
7
- - 'acceptance/**/*'
8
- - 'autotest/**/*'
9
- - 'spec/**/*'
10
- - 'tasks/**/*'
11
- - 'vendor/**/*'
12
-
13
- Lint/ConditionPosition:
6
+ - "**/*.erb"
7
+ - "acceptance/**/*"
8
+ - "autotest/**/*"
9
+ - "spec/**/*"
10
+ - "tasks/**/*"
11
+ - "vendor/**/*"
12
+
13
+ Layout/ConditionPosition:
14
14
  Enabled: true
15
15
 
16
16
  Lint/ElseLayout:
@@ -27,11 +27,7 @@ Lint/EnsureReturn:
27
27
  Enabled: false
28
28
 
29
29
  # MAYBE useful - errors when rescue {} happens.
30
- Lint/HandleExceptions:
31
- Enabled: false
32
-
33
- # MAYBE useful - catches while 1
34
- Lint/LiteralInCondition:
30
+ Lint/SuppressedException:
35
31
  Enabled: false
36
32
 
37
33
  Lint/ShadowingOuterLocalVariable:
@@ -41,7 +37,6 @@ Lint/ShadowingOuterLocalVariable:
41
37
  Lint/LiteralInInterpolation:
42
38
  Enabled: true
43
39
 
44
-
45
40
  # DISABLED really useless. Detects return as last statement.
46
41
  Style/RedundantReturn:
47
42
  Enabled: false
@@ -97,15 +92,15 @@ Security/Eval:
97
92
  Enabled: false
98
93
 
99
94
  # DISABLED
100
- Lint/BlockAlignment:
95
+ Layout/BlockAlignment:
101
96
  Enabled: false
102
97
 
103
98
  # DISABLED
104
- Lint/DefEndAlignment:
99
+ Layout/DefEndAlignment:
105
100
  Enabled: false
106
101
 
107
102
  # DISABLED
108
- Lint/EndAlignment:
103
+ Layout/EndAlignment:
109
104
  Enabled: false
110
105
 
111
106
  # DISABLED
@@ -123,7 +118,7 @@ Lint/ParenthesesAsGroupedExpression:
123
118
  Lint/RescueException:
124
119
  Enabled: false
125
120
 
126
- Lint/StringConversionInInterpolation:
121
+ Lint/RedundantStringCoercion:
127
122
  Enabled: false
128
123
 
129
124
  Lint/UnusedBlockArgument:
@@ -147,22 +142,22 @@ Lint/Void:
147
142
  Layout/AccessModifierIndentation:
148
143
  Enabled: false
149
144
 
150
- Style/AccessorMethodName:
145
+ Naming/AccessorMethodName:
151
146
  Enabled: false
152
147
 
153
148
  Style/Alias:
154
149
  Enabled: false
155
150
 
156
- Layout/AlignArray:
151
+ Layout/ArrayAlignment:
157
152
  Enabled: false
158
153
 
159
- Layout/AlignHash:
154
+ Layout/HashAlignment:
160
155
  Enabled: false
161
156
 
162
- Layout/AlignParameters:
157
+ Layout/ParameterAlignment:
163
158
  Enabled: false
164
159
 
165
- Layout/IndentHeredoc:
160
+ Layout/HeredocIndentation:
166
161
  Enabled: false
167
162
 
168
163
  Metrics/BlockNesting:
@@ -174,9 +169,6 @@ Style/AsciiComments:
174
169
  Style/Attr:
175
170
  Enabled: false
176
171
 
177
- Style/BracesAroundHashParameters:
178
- Enabled: false
179
-
180
172
  Style/CaseEquality:
181
173
  Enabled: false
182
174
 
@@ -195,7 +187,7 @@ Layout/MultilineMethodCallBraceLayout:
195
187
  Style/CharacterLiteral:
196
188
  Enabled: false
197
189
 
198
- Style/ClassAndModuleCamelCase:
190
+ Naming/ClassAndModuleCamelCase:
199
191
  Enabled: false
200
192
 
201
193
  Style/ClassAndModuleChildren:
@@ -216,29 +208,25 @@ Style/ClassVars:
216
208
  Style/WhenThen:
217
209
  Enabled: false
218
210
 
219
-
220
211
  # DISABLED - not useful
221
212
  Style/WordArray:
222
213
  Enabled: false
223
214
 
224
- Style/UnneededPercentQ:
215
+ Style/RedundantPercentQ:
225
216
  Enabled: false
226
217
 
227
- Layout/Tab:
218
+ Layout/IndentationStyle:
228
219
  Enabled: false
229
220
 
230
221
  Layout/SpaceBeforeSemicolon:
231
222
  Enabled: false
232
223
 
233
- Layout/TrailingBlankLines:
224
+ Layout/TrailingEmptyLines:
234
225
  Enabled: false
235
226
 
236
227
  Layout/SpaceInsideBlockBraces:
237
228
  Enabled: false
238
229
 
239
- Layout/SpaceInsideBrackets:
240
- Enabled: false
241
-
242
230
  Layout/SpaceInsideHashLiteralBraces:
243
231
  Enabled: false
244
232
 
@@ -278,7 +266,6 @@ Layout/SpaceBeforeBlockBraces:
278
266
  Layout/SpaceBeforeComma:
279
267
  Enabled: false
280
268
 
281
-
282
269
  Style/CollectionMethods:
283
270
  Enabled: false
284
271
 
@@ -294,7 +281,7 @@ Style/CommentAnnotation:
294
281
  Metrics/CyclomaticComplexity:
295
282
  Enabled: false
296
283
 
297
- Style/ConstantName:
284
+ Naming/ConstantName:
298
285
  Enabled: false
299
286
 
300
287
  Style/Documentation:
@@ -319,10 +306,10 @@ Style/EachWithObject:
319
306
  Layout/EmptyLineBetweenDefs:
320
307
  Enabled: false
321
308
 
322
- Layout/IndentArray:
309
+ Layout/FirstArrayElementIndentation:
323
310
  Enabled: false
324
311
 
325
- Layout/IndentHash:
312
+ Layout/FirstHashElementIndentation:
326
313
  Enabled: false
327
314
 
328
315
  Layout/IndentationConsistency:
@@ -340,7 +327,7 @@ Layout/EmptyLinesAroundAccessModifier:
340
327
  Style/EmptyLiteral:
341
328
  Enabled: false
342
329
 
343
- Metrics/LineLength:
330
+ Layout/LineLength:
344
331
  Enabled: false
345
332
 
346
333
  Style/MethodCallWithoutArgsParentheses:
@@ -358,7 +345,10 @@ Layout/TrailingWhitespace:
358
345
  Style/StringLiterals:
359
346
  Enabled: false
360
347
 
361
- Style/TrailingCommaInLiteral:
348
+ Style/TrailingCommaInArrayLiteral:
349
+ Enabled: false
350
+
351
+ Style/TrailingCommaInHashLiteral:
362
352
  Enabled: false
363
353
 
364
354
  Style/TrailingCommaInArguments:
@@ -394,7 +384,6 @@ Style/SingleLineMethods:
394
384
  Style/SpecialGlobalVars:
395
385
  Enabled: false
396
386
 
397
-
398
387
  Style/TrivialAccessors:
399
388
  Enabled: false
400
389
 
@@ -404,7 +393,7 @@ Style/UnlessElse:
404
393
  Style/VariableInterpolation:
405
394
  Enabled: false
406
395
 
407
- Style/VariableName:
396
+ Naming/VariableName:
408
397
  Enabled: false
409
398
 
410
399
  Style/WhileUntilDo:
@@ -413,7 +402,7 @@ Style/WhileUntilDo:
413
402
  Style/EvenOdd:
414
403
  Enabled: false
415
404
 
416
- Style/FileName:
405
+ Naming/FileName:
417
406
  Enabled: false
418
407
 
419
408
  Style/For:
@@ -422,7 +411,7 @@ Style/For:
422
411
  Style/Lambda:
423
412
  Enabled: false
424
413
 
425
- Style/MethodName:
414
+ Naming/MethodName:
426
415
  Enabled: false
427
416
 
428
417
  Style/MultilineTernaryOperator:
@@ -458,7 +447,7 @@ Style/NumericLiterals:
458
447
  Style/OneLineConditional:
459
448
  Enabled: false
460
449
 
461
- Style/OpMethod:
450
+ Naming/BinaryOperatorParameterName:
462
451
  Enabled: false
463
452
 
464
453
  Style/ParenthesesAroundCondition:
@@ -470,7 +459,7 @@ Style/PercentLiteralDelimiters:
470
459
  Style/PerlBackrefs:
471
460
  Enabled: false
472
461
 
473
- Style/PredicateName:
462
+ Naming/PredicateName:
474
463
  Enabled: false
475
464
 
476
465
  Style/RedundantException:
@@ -584,13 +573,10 @@ Layout/EmptyLinesAroundMethodBody:
584
573
  Lint/IneffectiveAccessModifier:
585
574
  Enabled: false
586
575
 
587
- Performance/StringReplacement:
588
- Enabled: false
589
-
590
576
  Layout/ClosingParenthesisIndentation:
591
577
  Enabled: false
592
578
 
593
- Style/UnneededInterpolation:
579
+ Style/RedundantInterpolation:
594
580
  Enabled: false
595
581
 
596
582
  Layout/ElseAlignment:
@@ -605,7 +591,7 @@ Layout/FirstParameterIndentation:
605
591
  Style/IfInsideElse:
606
592
  Enabled: false
607
593
 
608
- Layout/IndentAssignment:
594
+ Layout/AssignmentIndentation:
609
595
  Enabled: false
610
596
 
611
597
  Layout/SpaceAroundBlockParameters:
@@ -614,42 +600,24 @@ Layout/SpaceAroundBlockParameters:
614
600
  Style/ParallelAssignment:
615
601
  Enabled: false
616
602
 
617
- Performance/RedundantBlockCall:
618
- Enabled: false
619
-
620
603
  Style/IdenticalConditionalBranches:
621
604
  Enabled: false
622
605
 
623
- Performance/RedundantMatch:
624
- Enabled: false
625
-
626
606
  Style/CommandLiteral:
627
607
  Enabled: false
628
608
 
629
- Performance/Casecmp:
630
- Enabled: false
631
-
632
609
  Lint/NestedMethodDefinition:
633
610
  Enabled: false
634
611
 
635
612
  Layout/SpaceInsideStringInterpolation:
636
613
  Enabled: false
637
614
 
638
- Performance/RedundantMerge:
639
- Enabled: false
640
-
641
- Performance/ReverseEach:
642
- Enabled: false
643
-
644
615
  Style/NestedModifier:
645
616
  Enabled: false
646
617
 
647
618
  Lint/NonLocalExitFromIterator:
648
619
  Enabled: false
649
620
 
650
- Performance/Count:
651
- Enabled: false
652
-
653
621
  Style/NestedParenthesizedCalls:
654
622
  Enabled: false
655
623
 
@@ -659,19 +627,10 @@ Layout/RescueEnsureAlignment:
659
627
  Lint/DuplicateMethods:
660
628
  Enabled: false
661
629
 
662
- Performance/RangeInclude:
663
- Enabled: false
664
-
665
630
  Style/TrailingUnderscoreVariable:
666
631
  Enabled: false
667
632
 
668
- Performance/DoubleStartEndWith:
669
- Enabled: false
670
-
671
- Performance/RedundantSortBy:
672
- Enabled: false
673
-
674
- Performance/TimesMap:
633
+ Style/RedundantSortBy:
675
634
  Enabled: false
676
635
 
677
636
  Layout/InitialIndentation:
@@ -691,7 +650,38 @@ Style/ZeroLengthPredicate:
691
650
 
692
651
  Bundler/OrderedGems:
693
652
  Enabled: false
694
-
695
653
  # Enforce LF line endings, even when on Windows
696
654
  Layout/EndOfLine:
697
655
  EnforcedStyle: lf
656
+
657
+ Layout/SpaceAroundMethodCallOperator:
658
+ Enabled: true
659
+
660
+ Lint/RaiseException:
661
+ Enabled: true
662
+
663
+ Lint/StructNewOverride:
664
+ Enabled: true
665
+
666
+ Style/ExponentialNotation:
667
+ Enabled: true
668
+
669
+ Style/HashEachMethods:
670
+ Enabled: true
671
+
672
+ Style/HashTransformKeys:
673
+ Enabled: true
674
+
675
+ Style/HashTransformValues:
676
+ Enabled: true
677
+
678
+ # Not used becuase too new for support matrix
679
+ Style/NumericPredicate:
680
+ Enabled: false
681
+
682
+ # Not used becuase too new for support matrix
683
+ Style/SafeNavigation:
684
+ Enabled: false
685
+
686
+ Style/MixinUsage:
687
+ Enabled: false
@@ -3,22 +3,17 @@ language: ruby
3
3
  cache:
4
4
  bundler: true
5
5
  directories:
6
- - 'spec/fixtures/puppet_controlrepo/.onceover' # Onceover cache
6
+ - "spec/fixtures/puppet_controlrepo/.onceover" # Onceover cache
7
7
 
8
8
  script: bundle exec rake full_tests
9
9
  bundler_args: --path vendor/bundle
10
10
 
11
11
  matrix:
12
12
  include:
13
- # 2016.x -> 2017.2
14
- - rvm: 2.1.9
15
- env: PUPPET_VERSION="~>4.0"
16
-
17
13
  # 2017.3 -> 2018.1
18
14
  - rvm: 2.4.4
19
15
  env: PUPPET_VERSION="~>5.0"
20
-
16
+
21
17
  # 2019.0 -> now
22
- - rvm: 2.5.1
18
+ - rvm: 2.5.7
23
19
  env: PUPPET_VERSION="~>6.0"
24
-
data/Gemfile CHANGED
@@ -9,12 +9,12 @@ if ENV['PUPPET_VERSION']
9
9
  end
10
10
 
11
11
  # Evaluate Gemfile.local if it exists
12
- if File.exists? "#{__FILE__}.local"
12
+ if File.exist? "#{__FILE__}.local"
13
13
  eval(File.read("#{__FILE__}.local"), binding)
14
14
  end
15
15
 
16
16
  # Evaluate ~/.gemfile if it exists
17
- if File.exists?(File.join(Dir.home, '.gemfile'))
17
+ if File.exist?(File.join(Dir.home, '.gemfile'))
18
18
  eval(File.read(File.join(Dir.home, '.gemfile')), binding)
19
19
  end
20
20
 
@@ -23,3 +23,10 @@ if ENV['APPVEYOR'] == 'True'
23
23
  # in order to not have symlinks and therefor work on windows
24
24
  gem 'r10k', git: 'https://github.com/puppetlabs/r10k.git'
25
25
  end
26
+
27
+ group :development do
28
+ gem 'cucumber', '~> 2.0'
29
+ gem 'pry', '~> 0.10.0'
30
+ gem 'rubocop', '~> 0.82.0'
31
+ gem 'rubygems-tasks', '~> 0.2.0'
32
+ end
data/README.md CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  *The gateway drug to automated infrastructure testing with Puppet*
4
4
 
5
- Onceover is a tool to automatically run basic tests on an entire Puppet controlrepo. It includes automatic parsing of the `Puppetfile`, `environment.conf` and others in order to run stop silly mistakes ever reaching your Puppet Master!
5
+ Onceover is a tool to automatically run basic tests on an entire Puppet controlrepo. It includes automatic parsing of the `Puppetfile`, `environment.conf` and others in order to stop silly mistakes ever reaching your Puppet Master!
6
+
7
+ **🍺πŸ₯³ New in v3.17.1: Heaps more Windows fixes! Windows code is now more likely to compile on Non-Windows.**
6
8
 
7
9
  ## Table of Contents
8
10
 
@@ -13,6 +15,8 @@ Onceover is a tool to automatically run basic tests on an entire Puppet controlr
13
15
  - [onceover.yaml](#onceoveryaml)
14
16
  - [factsets](#factsets)
15
17
  - [Hiera Data](#hiera-data)
18
+ - [r10k](#r10k)
19
+ - [r10k Config](#r10k-config)
16
20
  - [Spec testing](#spec-testing)
17
21
  - [Adding your own spec tests](#adding-your-own-spec-tests)
18
22
  - [Using Workarounds](#using-workarounds)
@@ -233,7 +237,7 @@ This gem comes with a few pre-canned factsets. These are listed under the `nodes
233
237
 
234
238
  `spec/factsets/*.json`
235
239
 
236
- Factsets are used by the controlrepo gem to generate spec tests, which compile a given class against a certain set of facts. To create these factsets all we need to do is log onto a real machine that has puppet installed and run:
240
+ Factsets are used by the onceover gem to generate spec tests, which compile a given class against a certain set of facts. To create these factsets all we need to do is log onto a real machine that has puppet installed and run:
237
241
 
238
242
  `puppet facts`
239
243
 
@@ -272,6 +276,66 @@ If you have hiera data inside your controlrepo (or somewhere else) Onceover can
272
276
 
273
277
  It is also worth noting that any hiera hierarchies that are based on custom facts will not work unless those facts are part of your factsets. Trusted facts will also not work at all as the catalogs are being compiled without the node's certificate. In these instances it may be worth creating a hierarchy level that simply includes dummy data for testing purposes in order to avoid hiera lookup errors.
274
278
 
279
+ ### r10k
280
+
281
+ Organisations often reference modules from their own git servers in the `Puppetfile`, like this:
282
+
283
+ ```
284
+ mod "puppetlabs-apache",
285
+ :git => "https://git.megacorp.com/pup/puppetlabs-apache.git",
286
+ :tag => "v5.4.0"
287
+ ```
288
+
289
+ Under the hood, Onceover uses r10k to download the modules in your `Puppetfile`. If you get errors downloading modules from Git, its because `r10k`'s call to your underlying `git` command has failed. Onceover tells you the command that `r10k` tried to run, so if you get an error like this:
290
+
291
+ ```
292
+ INFO -> Updating module /Users/dylan/control-repo/.onceover/etc/puppetlabs/code/environments
293
+ /production/modules/apache
294
+ ERROR -> Command exited with non-zero exit code:
295
+ Command: git --git-dir /Users/dylan/.r10k/git/ssh---git.megacorp.com-pup-puppetlabs_apache.git fetch origin --prune
296
+ Stderr:
297
+ ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory
298
+ Host key verification failed.
299
+
300
+ fatal: Could not read from remote repository.
301
+
302
+ Please make sure you have the correct access rights
303
+ and the repository exists.
304
+ Exit code: 128
305
+ ```
306
+
307
+ Then the approach to debug it would be to run the command that Onceover suggested:
308
+
309
+ ```
310
+ git --git-dir /Users/dylan/.r10k/git/ssh---git.megacorp.com-pup-puppetlabs_apache.git fetch origin --prune
311
+ ```
312
+
313
+ In this case, running the command interactively gives us a prompt to add the server to our `~/.ssh/known_hosts` file, which fixes the problem permanently:
314
+
315
+ ```
316
+ $ git --git-dir /Users/dylan/.r10k/git/ssh---git.megacorp.com-pup-puppetlabs_apache.git fetch origin --prune
317
+ The authenticity of host 'git.megacorp.com (123.456.789.101)' can't be established.
318
+ ...
319
+ Warning: Permanently added 'git.megacorp.com,123.456.789.101' (RSA) to the list of known hosts.
320
+ ```
321
+
322
+ The other way to resolve this would have been to install the `ssh_askpass` program, but this can spam the screen with modal dialogs on some platforms.
323
+
324
+ #### r10k Config
325
+
326
+ If you have custom r10k config that you want to use, place the `r10k.yaml` file in one of the following locations:
327
+
328
+ - `{repo root}/r10k.yaml`
329
+ - `{repo root}/spec/r10k.yaml`
330
+
331
+ A good use of this is [enabling multi threading](https://github.com/puppetlabs/r10k/blob/master/doc/dynamic-environments/configuration.mkd#pool_size) by creating the following in `r10k.yaml`:
332
+
333
+ ```yaml
334
+ # spec/r10k.yaml
335
+ ---
336
+ pool_size: 20
337
+ ```
338
+
275
339
  #### Creating the config file
276
340
 
277
341
  If your `hiera.yaml` is version 4 or 5 and lives in the root of the controlrepo (as it should), Onceover will pick this up automatically. If you would like to make changes to this file for testing purposes, create a copy under `spec/hiera.yaml`. Onceover will use this version of the hiera config file first if it exists.
@@ -636,4 +700,3 @@ Cheers to all of those who helped out:
636
700
  - @raphink
637
701
  - @tequeter
638
702
  - @alexjfisher
639
-