|
1 |
| -require 'rake' |
2 |
| -require 'rspec/core/rake_task' |
3 |
| -require 'yaml' |
4 |
| - |
5 |
| -task :default => [:spec] |
6 |
| - |
7 |
| -desc "Run all module spec tests (Requires rspec-puppet gem)" |
8 |
| -RSpec::Core::RakeTask.new(:spec) do |t| |
9 |
| - t.rspec_opts = ['--color'] |
10 |
| - t.pattern = 'spec/{classes,defines,unit}/**/*_spec.rb' |
11 |
| -end |
12 |
| - |
13 |
| -# This is a helper for the self-symlink entry of fixtures.yml |
14 |
| -def source_dir |
15 |
| - File.dirname(__FILE__) |
16 |
| -end |
17 |
| - |
18 |
| -def fixtures(category) |
19 |
| - begin |
20 |
| - fixtures = YAML.load_file(".fixtures.yml")["fixtures"] |
21 |
| - rescue Errno::ENOENT |
22 |
| - return {} |
23 |
| - end |
24 |
| - |
25 |
| - if not fixtures |
26 |
| - abort("malformed fixtures.yml") |
27 |
| - end |
28 |
| - |
29 |
| - result = {} |
30 |
| - if fixtures.include? category |
31 |
| - fixtures[category].each do |fixture, source| |
32 |
| - target = "spec/fixtures/modules/#{fixture}" |
33 |
| - real_source = eval('"'+source+'"') |
34 |
| - result[real_source] = target |
35 |
| - end |
36 |
| - end |
37 |
| - return result |
38 |
| -end |
39 |
| - |
40 |
| -desc "Create the fixtures directory" |
41 |
| -task :spec_prep do |
42 |
| - fixtures("repositories").each do |repo, target| |
43 |
| - File::exists?(target) || system("git clone #{repo} #{target}") |
44 |
| - end |
45 |
| - |
46 |
| - FileUtils::mkdir_p("spec/fixtures/modules") |
47 |
| - fixtures("symlinks").each do |source, target| |
48 |
| - File::exists?(target) || FileUtils::ln_s(source, target) |
49 |
| - end |
50 |
| -end |
51 |
| - |
52 |
| -desc "Clean up the fixtures directory" |
53 |
| -task :spec_clean do |
54 |
| - fixtures("repositories").each do |repo, target| |
55 |
| - FileUtils::rm_rf(target) |
56 |
| - end |
57 |
| - |
58 |
| - fixtures("symlinks").each do |source, target| |
59 |
| - FileUtils::rm(target) |
60 |
| - end |
61 |
| -end |
62 |
| - |
63 |
| -task :spec_full do |
64 |
| - Rake::Task[:spec_prep].invoke |
65 |
| - Rake::Task[:spec].invoke |
66 |
| - Rake::Task[:spec_clean].invoke |
67 |
| -end |
68 |
| - |
69 |
| -desc "Build puppet module package" |
70 |
| -task :build do |
71 |
| - # This will be deprecated once puppet-module is a face. |
72 |
| - begin |
73 |
| - Gem::Specification.find_by_name('puppet-module') |
74 |
| - rescue Gem::LoadError, NoMethodError |
75 |
| - require 'puppet/face' |
76 |
| - pmod = Puppet::Face['module', :current] |
77 |
| - pmod.build('./') |
78 |
| - end |
79 |
| -end |
80 |
| - |
81 |
| -desc "Clean a built module package" |
82 |
| -task :clean do |
83 |
| - FileUtils.rm_rf("pkg/") |
84 |
| -end |
85 |
| - |
86 |
| -desc "Check puppet manifests with puppet-lint" |
87 |
| -task :lint do |
88 |
| - # This requires pull request: https://github.com/rodjek/puppet-lint/pull/81 |
89 |
| - system("puppet-lint manifests") |
90 |
| - system("puppet-lint tests") |
91 |
| -end |
| 1 | +require 'puppetlabs_spec_helper/rake_tasks' |
0 commit comments