[DRE-commits] [gem2deb] 01/01: add smoke-test

Praveen Arimbrathodiyil praveen at moszumanska.debian.org
Wed Sep 16 20:05:21 UTC 2015


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

praveen pushed a commit to branch smoke-test
in repository gem2deb.

commit c4ccfad2fc3962b2cecea96a51206e469d6a8853
Author: Praveen Arimbrathodiyil <praveen at debian.org>
Date:   Thu Sep 17 01:34:28 2015 +0530

    add smoke-test
---
 bin/gem2deb-test-runner    |  4 ++++
 lib/gem2deb/test_runner.rb | 38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/bin/gem2deb-test-runner b/bin/gem2deb-test-runner
index edc9ac0..42c3518 100755
--- a/bin/gem2deb-test-runner
+++ b/bin/gem2deb-test-runner
@@ -42,6 +42,10 @@ optparse =  OptionParser.new do |opts|
     options[:check_dependencies] = true
   end
 
+  opts.on('-s', '--smoke-assets', 'Run smoke test on assets') do
+    options[:smoke_assets] = true
+  end
+
 end
 
 optparse.parse!
diff --git a/lib/gem2deb/test_runner.rb b/lib/gem2deb/test_runner.rb
index 9af2498..6540902 100644
--- a/lib/gem2deb/test_runner.rb
+++ b/lib/gem2deb/test_runner.rb
@@ -16,6 +16,7 @@
 require 'rbconfig'
 require 'fileutils'
 require 'shellwords'
+require 'tmpdir'
 
 require 'gem2deb/banner'
 require 'gem2deb/metadata'
@@ -27,6 +28,7 @@ module Gem2Deb
 
     attr_accessor :autopkgtest
     attr_accessor :check_dependencies
+    attr_accessor :smoke_assets
 
     def load_path
       if self.autopkgtest
@@ -67,6 +69,9 @@ module Gem2Deb
       if check_dependencies
         do_check_dependencies
       end
+      if smoke_assets
+        do_smoke_assets
+      end
       do_run_tests
     end
 
@@ -85,6 +90,39 @@ module Gem2Deb
       end
     end
 
+    def do_smoke_assets
+      print_banner "Running smoke test for rails assets on #{rubyver}"
+      metadata = Gem2Deb::Metadata.new('.')
+      if metadata.name =~ /^rails-assets/
+      	asset_name = metadata.name.split('rails-assets-')[1]
+	do_smoke(asset_name, metadata.name)
+      elsif metadata.name =~ /-rails$/
+      	asset_name = metadata.name.split('-rails')[0]
+	do_smoke(asset_name, metadata.name)
+      end
+    end
+
+    def do_smoke(asset, gem)
+      print_banner "Running smoke test for #{asset}"
+      if ENV['ADTTMP']
+      	tmpdir = ENV['ADTTMP']
+      else
+      	tmpdir = Dir.mktmpdir
+      end
+      Dir.chdir(tmpdir)
+      # 'rails new foo' throws errors which cause autopkgtest to fail
+      system "rails new foo >/dev/null 2>&1"
+      Dir.chdir("foo")
+      open('app/assets/javascripts/application.js', 'a') { |f|
+        f.puts "# =require #{asset}"
+	}
+      open('Gemfile', 'a') { |f|
+        f.puts "gem \'#{gem}\'"
+	}
+      system "bundle install --local"
+      system "bundle exec rake assets:precompile"
+    end
+
     # Override in subclasses
     def do_run_tests
     end

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



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