[DRE-commits] [ruby-bunny] 04/08: Run tests during the build. rabbitmq-server is necessary for that.

Antonio Terceiro terceiro at moszumanska.debian.org
Sat Dec 10 15:55:17 UTC 2016


This is an automated email from the git hooks/post-receive script.

terceiro pushed a commit to branch master
in repository ruby-bunny.

commit 9e711d97eaa4228719db785e0b8c0f573b14939b
Author: Antonio Terceiro <terceiro at debian.org>
Date:   Sat Dec 10 11:54:12 2016 -0200

    Run tests during the build. rabbitmq-server is necessary for that.
---
 debian/changelog       |  1 +
 debian/control         |  1 +
 debian/ruby-tests.rake | 59 ++++++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 59 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b604aa8..f305bc4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,7 @@ ruby-bunny (2.6.1-1) UNRELEASED; urgency=medium
   * update packaging with `dh-make-ruby -w`
   * 0001-spec_helper-remove-some-unecessary-or-unavailable-re.patch: remove
     some unecessary or unavailable requirements from the test suite.
+  * Run tests during the build. rabbitmq-server is necessary for that.
 
  -- Cédric Boutillier <boutil at moszumanska.debian.org>  Sat, 10 Dec 2016 10:45:53 -0200
 
diff --git a/debian/control b/debian/control
index 10d123e..65d48e1 100644
--- a/debian/control
+++ b/debian/control
@@ -6,6 +6,7 @@ Uploaders: Bryan McLellan <btm at loftninjas.org>,
            Praveen Arimbrathodiyil <pravi.a at gmail.com>
 Build-Depends: debhelper (>= 9~),
                gem2deb,
+               rabbitmq-server,
                rake,
                ruby-amq-protocol (>= 2.0.1),
                ruby-rspec
diff --git a/debian/ruby-tests.rake b/debian/ruby-tests.rake
index cf1591e..f3d43f4 100644
--- a/debian/ruby-tests.rake
+++ b/debian/ruby-tests.rake
@@ -1,5 +1,60 @@
 require 'gem2deb/rake/spectask'
+require 'tmpdir'
 
-Gem2Deb::Rake::RSpecTask.new do |spec|
-  spec.pattern = './spec/**/*_spec.rb'
+$blacklist =%w[
+  spec/higher_level_api/integration/connection_recovery_spec.rb
+  spec/higher_level_api/integration/connection_stop_spec.rb
+  spec/higher_level_api/integration/consistent_hash_exchange_spec.rb
+  spec/higher_level_api/integration/tls_connection_spec.rb
+  spec/stress/wait_for_confirms_with_connection_loss_stress_spec.rb
+]
+
+puts "****************************************************************"
+puts "WARNING: THE FOLLOWING TESTS ARE BEING SKIPPED:"
+puts $blacklist
+puts "****************************************************************"
+
+Gem2Deb::Rake::RSpecTask.new(:spec) do |spec|
+  spec.pattern = Dir['spec/**/*_spec.rb'] - $blacklist
+end
+
+$tmpdir = Dir.mktmpdir
+rabbitmq_env = {
+  'HOME' => $tmpdir,
+  'RABBITMQ_MNESIA_BASE' => File.join($tmpdir, 'mnesia'),
+  'RABBITMQ_LOG_BASE' => File.join($tmpdir, 'log'),
+  'RABBITMQ_NODE_IP_ADDRESS' => '127.0.0.1',
+  'RABBITMQ_NODENAME' => 'bunny',
+  'RABBITMQ_CONFIG_FILE' => './spec/config/rabbitmq.config',
+  'RABBITMQ_ENABLED_PLUGINS_FILE' => './spec/config/enabled_plugins',
+  'BUNNY_RABBITMQCTL' => '/usr/lib/rabbitmq/bin/rabbitmqctl',
+  'BUNNY_RABBITMQ_PLUGINS' => '/usr/lib/rabbitmq/bin/rabbitmq-plugins',
+}
+
+ENV.update(rabbitmq_env)
+
+$epmd = system('pgrep' , '-u', Process.uid.to_s, '-fa', 'epmd', :out => '/dev/null')
+
+def start_rabbitmq_server
+  fork do
+    exec('/usr/lib/rabbitmq/bin/rabbitmq-server')
+  end
+  sleep 2
+  system('./bin/ci/before_build')
+end
+
+def stop_rabbitmq_server
+  system('/usr/lib/rabbitmq/bin/rabbitmqctl', 'stop')
+  system('pkill', 'epmd') unless $epmd
+  FileUtils.rm_rf($tmpdir)
+end
+
+
+task :default do
+  start_rabbitmq_server
+  begin
+    Rake::Task[:spec].invoke
+  ensure
+    stop_rabbitmq_server
+  end
 end

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/ruby-bunny.git



More information about the Pkg-ruby-extras-commits mailing list