Skip to content

Instantly share code, notes, and snippets.

@unak
Created December 2, 2016 04:03
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save unak/a80b03d9a33de59bedb52e2711410e0d to your computer and use it in GitHub Desktop.
Save unak/a80b03d9a33de59bedb52e2711410e0d to your computer and use it in GitHub Desktop.
How to test bundled gems?
require "rubygems"
srcdir = File.expand_path("YOUR RUBY SOURCE DIRECTORY")
Dir.glob(File.join(srcdir, "gems", "*.gem")) do |gem|
tmp = File.basename(gem, ".gem").split(/-/)
version = tmp.pop
name = tmp.join('-')
spec = Gem::Specification.find{|s| s.name == name && s.version.version == version}
if spec
testdir = File.join(spec.gem_dir, "test")
if File.directory?(testdir) &&
(spec.name == "test-unit" || spec.name == "minitest" ||
spec.dependencies.find{|dep| dep.name == "test-unit" || dep.name == "minitest"})
puts "testing #{spec.name} #{spec.version} ..."
Dir.glob(File.join(testdir, "test*.rb")).each do |t|
system("ruby #{t}")
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment