summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2014-05-02 15:08:18 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2014-05-02 15:08:18 -0700
commit61098251ea38421a9ef82d5811c6ceb61818115e (patch)
tree4ea6a61493fbc1ebe8a9ef966dfa8f59afa22efe
parenta097a500e888f0eaa1700c27f9edb7602fcc8b31 (diff)
downloadlibyajl2-gem-61098251ea38421a9ef82d5811c6ceb61818115e.tar.gz
fix compiling + add spec framework
-rw-r--r--.rspec1
-rw-r--r--Rakefile10
-rw-r--r--ext/libyajl2/extconf.rb8
-rw-r--r--libyajl2.gemspec1
-rw-r--r--spec/foo_spec.rb5
-rw-r--r--spec/spec_helper.rb12
6 files changed, 33 insertions, 4 deletions
diff --git a/.rspec b/.rspec
new file mode 100644
index 0000000..eca491f
--- /dev/null
+++ b/.rspec
@@ -0,0 +1 @@
+-cbfp
diff --git a/Rakefile b/Rakefile
index 4864073..b3a30c7 100644
--- a/Rakefile
+++ b/Rakefile
@@ -2,6 +2,9 @@ require 'rubygems'
require 'rake'
require 'rubygems/package_task'
+require 'rspec/core/rake_task'
+
+task :default => :spec
GEM_NAME="libyajl2"
@@ -11,21 +14,28 @@ Gem::PackageTask.new(gemspec) do |pkg|
pkg.need_tar = true
end
+RSpec::Core::RakeTask.new(:spec)
+
+desc "repackage and install #{GEM_NAME}-#{Libyajl2::VERSION}.gem"
task :install => :repackage do
sh %{gem install pkg/#{GEM_NAME}-#{Libyajl2::VERSION}.gem --no-rdoc --no-ri}
end
+desc "uninstall #{GEM_NAME}-#{Libyajl2::VERSION}.gem"
task :uninstall do
sh %{gem uninstall #{GEM_NAME} -x -v #{Libyajl2::VERSION} }
end
+desc "compile native gem"
task :compile do
cd "ext/libyajl2"
ruby "extconf.rb"
end
+desc "clean the git repo"
task :clean do
sh "git clean -fdx"
cd "ext/libyajl2/vendor/yajl"
sh "git clean -fdx"
end
+
diff --git a/ext/libyajl2/extconf.rb b/ext/libyajl2/extconf.rb
index 64c34a0..7c3148f 100644
--- a/ext/libyajl2/extconf.rb
+++ b/ext/libyajl2/extconf.rb
@@ -26,10 +26,12 @@ module Libyajl2Build
end
def self.configure_cmd
+ # NB: this is not a gnu configure command
args = %W[
sh
#{configure}
- --prefix=#{prefix}
+ -p
+ #{prefix}
]
end
@@ -51,9 +53,7 @@ module Libyajl2Build
puts `env`
puts configure_cmd
system(*configure_cmd) &&
- system("make", "clean") &&
- system("make", "-j", "5") &&
- system("make", "install")
+ system("make", "-j", "5", "install")
end
def self.run
diff --git a/libyajl2.gemspec b/libyajl2.gemspec
index 67d5c22..7c6705c 100644
--- a/libyajl2.gemspec
+++ b/libyajl2.gemspec
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
spec.add_development_dependency "bundler", "~> 1.5"
spec.add_development_dependency "rake"
+ spec.add_development_dependency "rspec", "~> 2.14"
end
diff --git a/spec/foo_spec.rb b/spec/foo_spec.rb
new file mode 100644
index 0000000..dfd41f7
--- /dev/null
+++ b/spec/foo_spec.rb
@@ -0,0 +1,5 @@
+require 'spec_helper'
+
+describe "foo" do
+ it "bar"
+end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
new file mode 100644
index 0000000..0f63917
--- /dev/null
+++ b/spec/spec_helper.rb
@@ -0,0 +1,12 @@
+#$: << File.expand_path(File.join(File.dirname( __FILE__ ), "../lib"))
+
+RSpec.configure do |c|
+# c.filter_run_excluding :ruby_gte_19 => true unless RUBY_VERSION.to_f >= 1.9
+
+ c.order = 'random'
+
+ c.expect_with :rspec do |c|
+ c.syntax = :expect
+ end
+
+end