pdqtest 0.5.1 → 0.6.0

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
  SHA1:
3
- metadata.gz: e25661660c62d88a32a857323cbf32a089addfda
4
- data.tar.gz: fdf28862849ba4908d760ad7b287bd7cc928d445
3
+ metadata.gz: 75a6265aa171ae4d88a6e97d754c6018edfe7d3a
4
+ data.tar.gz: b1ae71344008ff1fdaabf2df6b332c0dc8766c27
5
5
  SHA512:
6
- metadata.gz: b6ef89914b36b871fe83c949170caaf6b852407b5f4854902656f5199350136965941a93cac5bd1fb41197e61c8ffb6d1eefd26b176373b7e8eaf5370f6365ec
7
- data.tar.gz: 578dbaf2fb74bcc7183e0b61d501671eefae2b08ce4721a7a659183429e6e1eccf8ccb5442750f6c8f05c75544e6af2421ad0bedfa86ce3261dabe13d6a2c2c9
6
+ metadata.gz: '019cde9a45ac72c3f48e1d06779fcdf9d56971215cb434fe2a9cc78dd02a4bb2a699bad97fcb82cdc45e117bd6076975abf222ffa51edc04e5238a600eb3d3df'
7
+ data.tar.gz: 382c6283d6c0c2801d21634fe3a2709978cd35f7a715fd0d9834bf289b2dfffed77138673162e32f1ae0042335168e5409e25aad79365c937adba584d5b1e3f2
data/README.md CHANGED
@@ -223,6 +223,12 @@ pdqtest generate_acceptance examples/mynewthing.pp
223
223
  ```
224
224
  * Note: will also create examples/mynewthing.pp if you haven't created it yet
225
225
 
226
+ ## Caching
227
+ PDQTest will attempt to cache:
228
+ * Puppet modules (via librarian-puppet) in `~/.pdqtest/cache/modules`
229
+ * The yum cache in `~/.pdqtest/cache/yum`
230
+
231
+ Note that since the yum cache is writen to via a docker volume from the container your running tests in, the files in this directory will be root owned. If you need to clear your cache for whatever reason, delete the `~/.pdqtest/cache` directory (you will likely need sudo) and PDQtest will recreate it next time it runs.
226
232
 
227
233
  ## Development
228
234
 
@@ -1,3 +1,5 @@
1
+ require 'pdqtest/util'
2
+
1
3
  module PDQTest
2
4
  module Docker
3
5
  OUT = 0
@@ -8,6 +10,8 @@ module PDQTest
8
10
  HIERA_YAML_CONTAINER = '/etc/puppetlabs/puppet/hiera.yaml'
9
11
  HIERA_YAML_HOST = '/spec/fixtures/hiera.yaml'
10
12
  HIERA_DIR = '/spec/fixtures/hieradata'
13
+ YUM_CACHE_CONTAINER = "/var/cache/yum"
14
+ YUM_CACHE_HOST = "#{Util::app_dir}/cache/yum"
11
15
 
12
16
  def self.wrap_cmd(cmd)
13
17
  ['bash', '-c', "#{ENV} #{cmd}"]
@@ -33,6 +37,10 @@ module PDQTest
33
37
  []
34
38
  end
35
39
 
40
+ if ! Dir.exists?(YUM_CACHE_HOST)
41
+ FileUtils.mkdir_p(YUM_CACHE_HOST)
42
+ end
43
+
36
44
  # hiera.yaml *must* exist on the host or we will get errors from Docker
37
45
  if ! File.exists?(hiera_yaml_host)
38
46
  File.write(hiera_yaml_host, '# hiera configuration for testing')
@@ -41,10 +49,11 @@ module PDQTest
41
49
  'Image' => IMAGE_NAME,
42
50
  'Volumes' => {
43
51
  test_dir => {pwd => 'rw'},
44
- HIERA_YAML_CONTAINER => {hiera_yaml_host => 'ro'},
45
- HIERA_DIR => {hiera_dir => 'ro'},
52
+ HIERA_YAML_CONTAINER => {hiera_yaml_host => 'rw'},
53
+ HIERA_DIR => {hiera_dir => 'rw'},
46
54
  '/cut' => {pwd => 'rw'}, # DEPRECATED -FOR REMOVAL
47
55
  '/sys/fs/cgroup' => {'/sys/fs/cgroup' => 'ro'},
56
+ YUM_CACHE_CONTAINER => {YUM_CACHE_HOST => 'rw'},
48
57
  },
49
58
  'HostConfig' => {
50
59
  "SecurityOpt" => security_opt,
@@ -54,6 +63,7 @@ module PDQTest
54
63
  "#{pwd}:#{test_dir}:rw",
55
64
  "#{hiera_yaml_host}:#{HIERA_YAML_CONTAINER}:rw",
56
65
  "#{hiera_dir}:#{HIERA_DIR}:rw",
66
+ "#{YUM_CACHE_HOST}:#{YUM_CACHE_CONTAINER}:rw",
57
67
  ],
58
68
  },
59
69
  )
data/lib/pdqtest/rspec.rb CHANGED
@@ -4,15 +4,23 @@ require 'pdqtest/util'
4
4
  require 'pdqtest/emoji'
5
5
  require 'erb'
6
6
  require 'fileutils'
7
+ require 'pdqtest/util'
8
+
9
+
7
10
  module PDQTest
8
11
  module Rspec
9
12
  SPEC_DIR = './spec'
10
13
  SPEC_CLASSES_DIR = "#{SPEC_DIR}/classes"
14
+ MODULE_CACHE_DIR = "#{Util::app_dir}/cache/modules"
15
+
11
16
 
12
17
  def self.run
13
- Escort::Logger.output.puts
18
+ if ! Dir.exists?(MODULE_CACHE_DIR)
19
+ FileUtils.mkdir_p(MODULE_CACHE_DIR)
20
+ end
21
+
14
22
  PDQTest::Emoji.emoji_message("🐌", "I'm downloading The Internet, please hold...")
15
- cmd = "bundle exec librarian-puppet install --path ./spec/fixtures/modules --destructive"
23
+ cmd = "LIBRARIAN_PUPPET_TMP=#{MODULE_CACHE_DIR} bundle exec librarian-puppet install --path ./spec/fixtures/modules --destructive"
16
24
  status = system(cmd)
17
25
  if status
18
26
  PDQTest::Puppet.git_fixtures.each { |extra_mod_install_cmd|
data/lib/pdqtest/util.rb CHANGED
@@ -3,5 +3,9 @@ module PDQTest
3
3
  def self.resource_path(resource)
4
4
  File.join(File.dirname(File.expand_path(__FILE__)), "../../res/#{resource}")
5
5
  end
6
+
7
+ def self.app_dir
8
+ "#{Dir.home}/.pdqtest"
9
+ end
6
10
  end
7
11
  end
@@ -1,3 +1,3 @@
1
1
  module PDQTest
2
- VERSION = "0.5.1"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdqtest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geoff Williams