[DRE-commits] [gem2deb] 01/02: dh-make-ruby: add tests and fix the dependencies thing
Antonio Terceiro
terceiro at moszumanska.debian.org
Fri Feb 6 17:30:07 UTC 2015
This is an automated email from the git hooks/post-receive script.
terceiro pushed a commit to branch master
in repository gem2deb.
commit a3961b05351973d7ee40a7951cf21a17f17ca21e
Author: Antonio Terceiro <terceiro at debian.org>
Date: Fri Feb 6 15:19:00 2015 -0200
dh-make-ruby: add tests and fix the dependencies thing
---
lib/gem2deb/dh_make_ruby.rb | 11 ++++++++---
test/sample/simplegem/Rakefile | 6 ++++++
test/sample/simplegem/pkg/simplegem-0.0.1.gem | Bin 4096 -> 4608 bytes
test/unit/dh_make_ruby_test.rb | 23 +++++++++++++++++++++++
4 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/lib/gem2deb/dh_make_ruby.rb b/lib/gem2deb/dh_make_ruby.rb
index 75c0e17..e220c5c 100644
--- a/lib/gem2deb/dh_make_ruby.rb
+++ b/lib/gem2deb/dh_make_ruby.rb
@@ -179,10 +179,15 @@ module Gem2Deb
dep.type == :runtime
end.each do |dep|
dependency = gem_name_to_source_package_name(dep.name)
- if dep.requirements != '>= 0'
- dependency << (' (%s)' % dep.requirements.gsub('~>', '>='))
+ version = dep.requirement.to_s
+ if version == '>= 0'
+ yield(dependency)
+ else
+ dep.requirements_list.each do |v|
+ spec = v.gsub('~>', '>=').gsub(/>(\s+)/, '>>\1').gsub(/<(\s+)/, '<<\1')
+ yield('%s (%s)' % [dependency, spec])
+ end
end
- yield(dependency)
end
end
diff --git a/test/sample/simplegem/Rakefile b/test/sample/simplegem/Rakefile
index a89e8dd..e6cd2ee 100644
--- a/test/sample/simplegem/Rakefile
+++ b/test/sample/simplegem/Rakefile
@@ -16,6 +16,12 @@ spec = Gem::Specification.new do |s|
s.description = <<EOF
simplegem is a simple gem that is used to test gem2tgz.
EOF
+
+ s.add_runtime_dependency 'dep'
+ s.add_runtime_dependency 'depwithversion', '1.0'
+ s.add_runtime_dependency 'depwithspermy', '~> 1.0'
+ s.add_runtime_dependency 'depwithgt', '> 1.0'
+ s.add_runtime_dependency 'depwith2versions', '>= 1.0', '< 2.0'
end
Gem::PackageTask.new(spec) do |pkg|
diff --git a/test/sample/simplegem/pkg/simplegem-0.0.1.gem b/test/sample/simplegem/pkg/simplegem-0.0.1.gem
index 2ffd644..6bba24e 100644
Binary files a/test/sample/simplegem/pkg/simplegem-0.0.1.gem and b/test/sample/simplegem/pkg/simplegem-0.0.1.gem differ
diff --git a/test/unit/dh_make_ruby_test.rb b/test/unit/dh_make_ruby_test.rb
index c14a2ed..aca2a2c 100644
--- a/test/unit/dh_make_ruby_test.rb
+++ b/test/unit/dh_make_ruby_test.rb
@@ -124,6 +124,29 @@ class DhMakeRubyTest < Gem2DebTestCase
end
end
+ context 'dependencies' do
+ setup do
+ text = File.read(File.join(DEBIANIZED_SIMPLE_GEM, 'debian/control'))
+ line = text.lines.find { |l| l =~ /^Depends: / }.strip
+ @dependencies = line.gsub(/^Depends:\s*/, '').split(/\s*,\s*/)
+ end
+ should 'get simple dependency' do
+ assert_include @dependencies, 'ruby-dep'
+ end
+ should 'get dependency with an exact version' do
+ assert_include @dependencies, 'ruby-depwithversion (= 1.0)'
+ end
+ should 'get version with spermy' do
+ assert_include @dependencies, 'ruby-depwithspermy (>= 1.0)'
+ end
+ should 'get version with >' do
+ assert_include @dependencies, 'ruby-depwithgt (>> 1.0)'
+ end
+ should 'get version with two requirements' do
+ assert_include @dependencies, 'ruby-depwith2versions (>= 1.0)'
+ assert_include @dependencies, 'ruby-depwith2versions (<< 2.0)'
+ end
+ end
protected
--
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