Merge pull request #731 from willmeek/rubocopification
[puppet-modules/puppetlabs-apt.git] / Rakefile
index 20fc384a20af23090189d1f7ee8a2af3d6d6a4eb..d12d85495d735b72ada9cb125a3b9ce13db13561 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -1,85 +1,37 @@
-require 'rake'
-require 'rspec/core/rake_task'
-require 'yaml'
-
-task :default => [:spec]
-
-desc "Run all module spec tests (Requires rspec-puppet gem)"
-RSpec::Core::RakeTask.new(:spec) do |t|
-  t.rspec_opts = ['--color']
-  t.pattern = 'spec/{classes,defines,unit}/**/*_spec.rb'
-end
-
-# This is a helper for the self-symlink entry of fixtures.yml
-def source_dir
-  File.dirname(__FILE__)
-end
-
-def fixtures(category)
-  begin
-    fixtures = YAML.load_file(".fixtures.yml")["fixtures"]
-  rescue Errno::ENOENT
-    return {}
-  end
-
-  if not fixtures
-    abort("malformed fixtures.yml")
-  end
-
-  result = {}
-  if fixtures.include? category
-    fixtures[category].each do |fixture, source|
-      target = "spec/fixtures/modules/#{fixture}"
-      real_source = eval('"'+source+'"')
-      result[real_source] = target
-    end
-  end
-  return result
-end
-
-desc "Create the fixtures directory"
-task :spec_prep do
-  fixtures("repositories").each do |repo, target|
-    File::exists?(target) || system("git clone #{repo} #{target}")
-  end
-
-  fixtures("symlinks").each do |source, target|
-    File::exists?(target) || FileUtils::ln_s(source, target)
-  end
-end
-
-desc "Clean up the fixtures directory"
-task :spec_clean do
-  fixtures("repositories").each do |repo, target|
-    FileUtils::rm_rf(target)
-  end
-
-  fixtures("symlinks").each do |source, target|
-    FileUtils::rm(target)
-  end
-end
-
-task :spec_full do
-  Rake::Task[:spec_prep].invoke
-  Rake::Task[:spec].invoke
-  Rake::Task[:spec_clean].invoke
-end
-
-desc "Build puppet module package"
-task :build do
-  # This will be deprecated once puppet-module is a face.
-  begin
-    Gem::Specification.find_by_name('puppet-module')
-  rescue Gem::LoadError, NoMethodError
-    require 'puppet/face'
-    pmod = Puppet::Face['module', :current]
-    pmod.build('./')
-  end
-end
-
-desc "Check puppet manifests with puppet-lint"
-task :lint do
-  # This requires pull request: https://github.com/rodjek/puppet-lint/pull/81
-  system("puppet-lint manifests")
-  system("puppet-lint tests")
+require 'puppetlabs_spec_helper/rake_tasks'
+require 'puppet-lint/tasks/puppet-lint'
+require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any?
+
+PuppetLint.configuration.fail_on_warnings = true
+PuppetLint.configuration.send('relative')
+
+desc 'Generate pooler nodesets'
+task :gen_nodeset do
+  require 'beaker-hostgenerator'
+  require 'securerandom'
+  require 'fileutils'
+
+  agent_target = ENV['TEST_TARGET']
+  if ! agent_target
+    STDERR.puts 'TEST_TARGET environment variable is not set'
+    STDERR.puts 'setting to default value of "redhat-64default."'
+    agent_target = 'redhat-64default.'
+  end
+
+  master_target = ENV['MASTER_TEST_TARGET']
+  if ! master_target
+    STDERR.puts 'MASTER_TEST_TARGET environment variable is not set'
+    STDERR.puts 'setting to default value of "redhat7-64mdcl"'
+    master_target = 'redhat7-64mdcl'
+  end
+
+  targets = "#{master_target}-#{agent_target}"
+  cli = BeakerHostGenerator::CLI.new([targets])
+  nodeset_dir = "tmp/nodesets"
+  nodeset = "#{nodeset_dir}/#{targets}-#{SecureRandom.uuid}.yaml"
+  FileUtils.mkdir_p(nodeset_dir)
+  File.open(nodeset, 'w') do |fh|
+    fh.print(cli.execute)
+  end
+  puts nodeset
 end