Experimental build && test tasks
This commit is contained in:
parent
02e8481161
commit
58d416e929
52
Rakefile
Normal file
52
Rakefile
Normal file
@ -0,0 +1,52 @@
|
||||
require 'rake'
|
||||
require 'rake/testtask'
|
||||
|
||||
desc 'Default: build and install.'
|
||||
task :default => :build
|
||||
|
||||
desc 'Run performance tests.'
|
||||
Rake::TestTask.new(:test) do |t|
|
||||
t.libs = [] #reference the installed gem instead
|
||||
t.pattern = 'test/*_test.rb'
|
||||
t.verbose = true
|
||||
end
|
||||
|
||||
task :build do |t|
|
||||
configure
|
||||
install
|
||||
end
|
||||
|
||||
def configure
|
||||
puts "** building gem"
|
||||
puts %x{gem build mysqlplus.gemspec}
|
||||
end
|
||||
|
||||
def install
|
||||
puts "** installing gem"
|
||||
_mysql_config = mysql_config
|
||||
puts "** using mysql_config: #{_mysql_config}"
|
||||
puts %x{sudo gem install mysqlplus-#{version}.gem -- --with-mysql-config=#{_mysql_config}}
|
||||
end
|
||||
|
||||
def gem_spec
|
||||
@gem_spec ||= eval( IO.read( 'mysqlplus.gemspec') )
|
||||
end
|
||||
|
||||
def version
|
||||
gem_spec.version.to_s
|
||||
end
|
||||
|
||||
def mysql_configs
|
||||
%w(mysql_config mysql_config5)
|
||||
end
|
||||
|
||||
def mysql_config
|
||||
mysql_configs.each do |config|
|
||||
path = mysql_config!( config )
|
||||
return path unless path.empty?
|
||||
end
|
||||
end
|
||||
|
||||
def mysql_config!( config )
|
||||
%x{which #{config}}
|
||||
end
|
@ -12,9 +12,12 @@ Gem::Specification.new do |s|
|
||||
s.files = [
|
||||
"mysqlplus.gemspec",
|
||||
"README",
|
||||
"Rakefile",
|
||||
"lib/mysqlplus.rb",
|
||||
"test/test_threaded.rb",
|
||||
"test/test_evented.rb",
|
||||
"test/test_helper.rb",
|
||||
"test/threaded_test.rb",
|
||||
"test/evented_test.rb",
|
||||
"ext/error_const.h",
|
||||
"ext/extconf.rb",
|
||||
"ext/mysql.c"
|
||||
]
|
||||
|
@ -1,10 +1,9 @@
|
||||
require 'mysqlplus'
|
||||
|
||||
require File.dirname(__FILE__) + '/test_helper'
|
||||
@count = 10
|
||||
@connections = {}
|
||||
|
||||
@count.times do
|
||||
c = Mysql.real_connect('localhost','root',nil)
|
||||
c = Mysql.real_connect('localhost','root','3421260')
|
||||
@connections[IO.new(c.socket)] = c
|
||||
end
|
||||
|
||||
@ -28,4 +27,4 @@ loop do
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
2
test/test_helper.rb
Normal file
2
test/test_helper.rb
Normal file
@ -0,0 +1,2 @@
|
||||
require 'rubygems'
|
||||
require 'mysqlplus'
|
@ -1,4 +1,4 @@
|
||||
require 'mysqlplus'
|
||||
require File.dirname(__FILE__) + '/test_helper'
|
||||
|
||||
$count = 10
|
||||
|
||||
@ -6,7 +6,7 @@ $start = Time.now
|
||||
|
||||
$connections = []
|
||||
$count.times do
|
||||
$connections << Mysql.real_connect('localhost','root')
|
||||
$connections << Mysql.real_connect('localhost','root','3421260')
|
||||
end
|
||||
|
||||
puts 'connection pool ready'
|
Loading…
Reference in New Issue
Block a user