You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by mf...@redhat.com on 2012/07/20 13:35:59 UTC
[PATCH core 1/2] Core: Get rid of using 'load' method
From: Michal Fojtik <mf...@redhat.com>
The load method should be replaced and forbidden everywhere,
since it 'reload' the source code even if it is already required.
This cause many 'already defined' errors.
Signed-off-by: Michal fojtik <mf...@redhat.com>
---
server/Rakefile | 2 +-
server/lib/deltacloud/api.rb | 10 +++++++++-
server/lib/deltacloud_rack.rb | 2 +-
server/tests/deltacloud/base_collection_test.rb | 3 +--
.../tests/deltacloud/collections/buckets_collection_test.rb | 3 +--
.../tests/deltacloud/collections/drivers_collection_test.rb | 3 +--
.../tests/deltacloud/collections/images_collection_test.rb | 3 +--
.../collections/instance_states_collection_test.rb | 3 +--
.../deltacloud/collections/instances_collection_test.rb | 3 +--
server/tests/deltacloud/collections_test.rb | 3 +--
server/tests/deltacloud/common.rb | 2 +-
server/tests/deltacloud/deltacloud_helper_test.rb | 2 +-
server/tests/deltacloud/drivers_test.rb | 3 +--
server/tests/deltacloud/rack_test.rb | 2 +-
server/tests/deltacloud/server_test.rb | 3 +--
server/tests/drivers/base/base_driver_test.rb | 3 +--
server/tests/drivers/models/address_test.rb | 4 ++--
server/tests/drivers/models/base_test.rb | 3 +--
server/tests/drivers/models/blob_test.rb | 4 ++--
server/tests/drivers/models/hardware_profile_test.rb | 4 ++--
server/tests/drivers/models/instance_profile_test.rb | 4 ++--
server/tests/drivers/models/instance_test.rb | 4 ++--
server/tests/drivers/models/keys_test.rb | 4 ++--
server/tests/drivers/models/metrics_test.rb | 4 ++--
server/tests/helpers/core_ext/array_test.rb | 2 +-
server/tests/helpers/core_ext/hash_test.rb | 2 +-
server/tests/helpers/core_ext/integer_test.rb | 2 +-
server/tests/helpers/core_ext/string_test.rb | 2 +-
server/tests/test_helper.rb | 9 ++++++++-
29 files changed, 51 insertions(+), 47 deletions(-)
diff --git a/server/Rakefile b/server/Rakefile
index bc84c96..2b5a2b8 100644
--- a/server/Rakefile
+++ b/server/Rakefile
@@ -20,7 +20,6 @@
require 'rake'
require 'rake/testtask'
require 'rubygems/package_task'
-load File.join(File.dirname(__FILE__), 'config.ru')
$top_srcdir = File.dirname(__FILE__)
$:.unshift File.join($top_srcdir, 'lib')
@@ -80,6 +79,7 @@ end
desc "List the routes defined by Rabbit"
task :routes do
+ load File.join(File.dirname(__FILE__), 'config.ru')
Deltacloud.collections.each do |c|
puts "\033[1;32;m#{c.name}\33[0m"
c.operations.each do |o|
diff --git a/server/lib/deltacloud/api.rb b/server/lib/deltacloud/api.rb
index a2ca7ab..2b520d4 100644
--- a/server/lib/deltacloud/api.rb
+++ b/server/lib/deltacloud/api.rb
@@ -16,7 +16,15 @@
require 'rubygems'
require 'ostruct'
-load File.join(File.dirname(__FILE__), 'core_ext.rb')
+unless Kernel.respond_to?(:require_relative)
+ module Kernel
+ def require_relative(path)
+ require File.join(File.dirname(caller[0]), path.to_str)
+ end
+ end
+end
+
+require_relative 'core_ext'
require_relative 'models'
require_relative 'drivers'
require_relative 'helpers/driver_helper'
diff --git a/server/lib/deltacloud_rack.rb b/server/lib/deltacloud_rack.rb
index 3b609ed..c30be3b 100644
--- a/server/lib/deltacloud_rack.rb
+++ b/server/lib/deltacloud_rack.rb
@@ -42,7 +42,7 @@ module Deltacloud
def self.require_frontend!(frontend=:deltacloud)
frontend = frontend.to_sym
- load File.join(File.dirname(__FILE__), frontend.to_s, 'server.rb')
+ require_relative File.join(frontend.to_s, 'server.rb')
Deltacloud[frontend].klass eval('::'+Deltacloud[frontend].klass)
end
diff --git a/server/tests/deltacloud/base_collection_test.rb b/server/tests/deltacloud/base_collection_test.rb
index 2f390c3..3e820d6 100644
--- a/server/tests/deltacloud/base_collection_test.rb
+++ b/server/tests/deltacloud/base_collection_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), 'common.rb')
+require_relative 'common.rb'
describe Deltacloud::Collections::Base do
diff --git a/server/tests/deltacloud/collections/buckets_collection_test.rb b/server/tests/deltacloud/collections/buckets_collection_test.rb
index 6eff7ad..9b4a40c 100644
--- a/server/tests/deltacloud/collections/buckets_collection_test.rb
+++ b/server/tests/deltacloud/collections/buckets_collection_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), '..', 'common.rb')
+require_relative File.join('..', 'common.rb')
describe Deltacloud::Collections::Buckets do
diff --git a/server/tests/deltacloud/collections/drivers_collection_test.rb b/server/tests/deltacloud/collections/drivers_collection_test.rb
index 4467b68..e037ae1 100644
--- a/server/tests/deltacloud/collections/drivers_collection_test.rb
+++ b/server/tests/deltacloud/collections/drivers_collection_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), '..', 'common.rb')
+require_relative File.join('..', 'common.rb')
describe Deltacloud::Collections::Drivers do
diff --git a/server/tests/deltacloud/collections/images_collection_test.rb b/server/tests/deltacloud/collections/images_collection_test.rb
index 8262df8..de105c9 100644
--- a/server/tests/deltacloud/collections/images_collection_test.rb
+++ b/server/tests/deltacloud/collections/images_collection_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), '..', 'common.rb')
+require_relative File.join('..', 'common.rb')
describe Deltacloud::Collections::Images do
diff --git a/server/tests/deltacloud/collections/instance_states_collection_test.rb b/server/tests/deltacloud/collections/instance_states_collection_test.rb
index ecf86c5..bfcf7c9 100644
--- a/server/tests/deltacloud/collections/instance_states_collection_test.rb
+++ b/server/tests/deltacloud/collections/instance_states_collection_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), '..', 'common.rb')
+require_relative File.join('..', 'common.rb')
describe Deltacloud::Collections::InstanceStates do
diff --git a/server/tests/deltacloud/collections/instances_collection_test.rb b/server/tests/deltacloud/collections/instances_collection_test.rb
index a1da030..abaf571 100644
--- a/server/tests/deltacloud/collections/instances_collection_test.rb
+++ b/server/tests/deltacloud/collections/instances_collection_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), '..', 'common.rb')
+require_relative File.join('..', 'common.rb')
describe Deltacloud::Collections::Instances do
diff --git a/server/tests/deltacloud/collections_test.rb b/server/tests/deltacloud/collections_test.rb
index f010603..2d15c61 100644
--- a/server/tests/deltacloud/collections_test.rb
+++ b/server/tests/deltacloud/collections_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), 'common.rb')
+require_relative 'common.rb'
describe Deltacloud do
diff --git a/server/tests/deltacloud/common.rb b/server/tests/deltacloud/common.rb
index b28f82d..7ba3ec3 100644
--- a/server/tests/deltacloud/common.rb
+++ b/server/tests/deltacloud/common.rb
@@ -3,7 +3,7 @@ require 'rack/test'
require 'nokogiri'
require 'pp'
-load File.join(File.dirname(__FILE__), '..', '..', 'lib', 'deltacloud_rack.rb')
+require_relative File.join('..', '..', 'lib', 'deltacloud_rack.rb')
include Rack::Test::Methods
diff --git a/server/tests/deltacloud/deltacloud_helper_test.rb b/server/tests/deltacloud/deltacloud_helper_test.rb
index 9096db0..88c5ebb 100644
--- a/server/tests/deltacloud/deltacloud_helper_test.rb
+++ b/server/tests/deltacloud/deltacloud_helper_test.rb
@@ -1,5 +1,5 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), 'common.rb')
+require_relative 'common.rb'
describe Deltacloud::Helpers::Application do
diff --git a/server/tests/deltacloud/drivers_test.rb b/server/tests/deltacloud/drivers_test.rb
index 90d96ac..3c21981 100644
--- a/server/tests/deltacloud/drivers_test.rb
+++ b/server/tests/deltacloud/drivers_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), 'common.rb')
+require_relative 'common.rb'
describe Deltacloud::Drivers do
diff --git a/server/tests/deltacloud/rack_test.rb b/server/tests/deltacloud/rack_test.rb
index d550c7c..34665f5 100644
--- a/server/tests/deltacloud/rack_test.rb
+++ b/server/tests/deltacloud/rack_test.rb
@@ -1,5 +1,5 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), 'common.rb')
+require_relative 'common.rb'
describe Deltacloud do
diff --git a/server/tests/deltacloud/server_test.rb b/server/tests/deltacloud/server_test.rb
index b97a286..811a3ff 100644
--- a/server/tests/deltacloud/server_test.rb
+++ b/server/tests/deltacloud/server_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), 'common.rb')
+require_relative 'common.rb'
describe Deltacloud::API do
diff --git a/server/tests/drivers/base/base_driver_test.rb b/server/tests/drivers/base/base_driver_test.rb
index 4173b50..074c415 100644
--- a/server/tests/drivers/base/base_driver_test.rb
+++ b/server/tests/drivers/base/base_driver_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'drivers', 'base_driver.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'drivers', 'base_driver.rb')
describe Deltacloud::BaseDriver do
diff --git a/server/tests/drivers/models/address_test.rb b/server/tests/drivers/models/address_test.rb
index eae9a02..34a6a5f 100644
--- a/server/tests/drivers/models/address_test.rb
+++ b/server/tests/drivers/models/address_test.rb
@@ -1,7 +1,7 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'address.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'address.rb')
describe Address do
diff --git a/server/tests/drivers/models/base_test.rb b/server/tests/drivers/models/base_test.rb
index 4ac71e4..a1cc873 100644
--- a/server/tests/drivers/models/base_test.rb
+++ b/server/tests/drivers/models/base_test.rb
@@ -1,6 +1,5 @@
require 'minitest/autorun'
-
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
describe BaseModel do
diff --git a/server/tests/drivers/models/blob_test.rb b/server/tests/drivers/models/blob_test.rb
index eae9a02..34a6a5f 100644
--- a/server/tests/drivers/models/blob_test.rb
+++ b/server/tests/drivers/models/blob_test.rb
@@ -1,7 +1,7 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'address.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'address.rb')
describe Address do
diff --git a/server/tests/drivers/models/hardware_profile_test.rb b/server/tests/drivers/models/hardware_profile_test.rb
index 8e65dfd..4f01e67 100644
--- a/server/tests/drivers/models/hardware_profile_test.rb
+++ b/server/tests/drivers/models/hardware_profile_test.rb
@@ -2,8 +2,8 @@ require 'minitest/autorun'
require 'sinatra/base'
require 'sinatra/rabbit'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'hardware_profile.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'hardware_profile.rb')
describe Deltacloud::HardwareProfile do
diff --git a/server/tests/drivers/models/instance_profile_test.rb b/server/tests/drivers/models/instance_profile_test.rb
index 7f343c7..6f5071e 100644
--- a/server/tests/drivers/models/instance_profile_test.rb
+++ b/server/tests/drivers/models/instance_profile_test.rb
@@ -1,7 +1,7 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'instance_profile.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'instance_profile.rb')
describe InstanceProfile do
diff --git a/server/tests/drivers/models/instance_test.rb b/server/tests/drivers/models/instance_test.rb
index 005b72b..62ca33b 100644
--- a/server/tests/drivers/models/instance_test.rb
+++ b/server/tests/drivers/models/instance_test.rb
@@ -1,7 +1,7 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'instance.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'instance.rb')
describe Instance do
diff --git a/server/tests/drivers/models/keys_test.rb b/server/tests/drivers/models/keys_test.rb
index a4ddeb5..befc4bb 100644
--- a/server/tests/drivers/models/keys_test.rb
+++ b/server/tests/drivers/models/keys_test.rb
@@ -1,7 +1,7 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'key.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'key.rb')
describe Key do
diff --git a/server/tests/drivers/models/metrics_test.rb b/server/tests/drivers/models/metrics_test.rb
index 255d0e6..be8c581 100644
--- a/server/tests/drivers/models/metrics_test.rb
+++ b/server/tests/drivers/models/metrics_test.rb
@@ -1,7 +1,7 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'models', 'metric.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'base_model.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'models', 'metric.rb')
describe Metric do
diff --git a/server/tests/helpers/core_ext/array_test.rb b/server/tests/helpers/core_ext/array_test.rb
index c116484..a228bd5 100644
--- a/server/tests/helpers/core_ext/array_test.rb
+++ b/server/tests/helpers/core_ext/array_test.rb
@@ -1,6 +1,6 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'core_ext.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'core_ext.rb')
class TestArray < MiniTest::Unit::TestCase
diff --git a/server/tests/helpers/core_ext/hash_test.rb b/server/tests/helpers/core_ext/hash_test.rb
index 5eccdeb..d87042b 100644
--- a/server/tests/helpers/core_ext/hash_test.rb
+++ b/server/tests/helpers/core_ext/hash_test.rb
@@ -1,6 +1,6 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'core_ext.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'core_ext.rb')
class TestHash < MiniTest::Unit::TestCase
diff --git a/server/tests/helpers/core_ext/integer_test.rb b/server/tests/helpers/core_ext/integer_test.rb
index b4d50f6..5dd60f5 100644
--- a/server/tests/helpers/core_ext/integer_test.rb
+++ b/server/tests/helpers/core_ext/integer_test.rb
@@ -1,6 +1,6 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'core_ext.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'core_ext.rb')
class TestInteger < MiniTest::Unit::TestCase
diff --git a/server/tests/helpers/core_ext/string_test.rb b/server/tests/helpers/core_ext/string_test.rb
index 89eeaa4..cc9a349 100644
--- a/server/tests/helpers/core_ext/string_test.rb
+++ b/server/tests/helpers/core_ext/string_test.rb
@@ -1,6 +1,6 @@
require 'minitest/autorun'
-load File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'deltacloud', 'core_ext.rb')
+require_relative File.join('..', '..', '..', 'lib', 'deltacloud', 'core_ext.rb')
class TestString < MiniTest::Unit::TestCase
diff --git a/server/tests/test_helper.rb b/server/tests/test_helper.rb
index 3bbd6a3..0f9b64a 100644
--- a/server/tests/test_helper.rb
+++ b/server/tests/test_helper.rb
@@ -1,4 +1,3 @@
-
%x[rake mock:fixtures:reset]
if ENV['COVERAGE']
@@ -19,3 +18,11 @@ if ENV['COVERAGE']
warn "To generate code coverage you need to install 'simplecov' (gem install simplecov OR bundle)"
end
end
+
+unless Kernel.respond_to?(:require_relative)
+ module Kernel
+ def require_relative(path)
+ require File.join(File.dirname(caller[0]), path.to_str)
+ end
+ end
+end
--
1.7.10.2
Re: [PATCH core 2/2] Core: Fixed memory leaks on ruby 1.8.7
Posted by "marios@redhat.com" <ma...@redhat.com>.
ACK - though tests fail, I understand the point of these patches is to
fix memory leak - trace for info (108 tests, 299 assertions, 5 failures,
1 errors, 0 skips):
[marios@name server]$ bundle exec rake test
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/deltacloud-core.gemspec:67
.
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/deltacloud-core.gemspec:67
.
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/deltacloud-core.gemspec:67
.
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/deltacloud-core.gemspec:67
.
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from deltacloud-core.gemspec:67
.
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/deltacloud-core.gemspec:67
.
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/deltacloud-core.gemspec:67
.
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from deltacloud-core.gemspec:67
.
rm -rf
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/lib/deltacloud/drivers/mock/data
mkdir -p
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/lib/deltacloud/drivers/mock/data
cp -r
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/lib/deltacloud/drivers/mock/data
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/deltacloud-core.gemspec:67
.
NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It
will be removed on or after 2011-10-01.
Gem::Specification#has_rdoc= called from
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/deltacloud-core.gemspec:67
.
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/drivers/base/../../../lib/deltacloud/drivers/.././core_ext/proc.rb:21:
warning: already initialized constant Callback
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/../../lib/./deltacloud/./core_ext/proc.rb:21:
warning: already initialized constant Callback
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/../../lib/deltacloud/./drivers/.././core_ext/proc.rb:21:
warning: already initialized constant Callback
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/collections/../../../lib/./deltacloud/./core_ext/proc.rb:21:
warning: already initialized constant Callback
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/collections/../../../lib/./sinatra/rack_logger.rb:56:
warning: already initialized constant FORMAT
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/collections/../../../lib/./sinatra/rack_logger.rb:58:
warning: already initialized constant VERBOSE_FORMAT
Run options: --seed 61618
# Running tests:
......../usr/lib/ruby/gems/1.8/gems/aws-2.5.6/lib/ses/../awsbase/utils.rb:105:
warning: already initialized constant HEX
/usr/lib/ruby/gems/1.8/gems/aws-2.5.6/lib/ses/../awsbase/utils.rb:107:
warning: already initialized constant TO_REMEMBER
/usr/lib/ruby/gems/1.8/gems/aws-2.5.6/lib/ses/../awsbase/utils.rb:108:
warning: already initialized constant ASCII
/usr/lib/ruby/gems/1.8/gems/aws-2.5.6/lib/ses/../awsbase/errors.rb:128:
warning: already initialized constant DEFAULT_CLOSE_ON_4XX_PROBABILITY
/usr/lib/ruby/gems/1.8/gems/aws-2.5.6/lib/ses/../awsbase/parsers.rb:47:
warning: already initialized constant DEFAULT_XML_LIBRARY
/usr/lib/ruby/gems/1.8/gems/aws-2.5.6/lib/ses/../awsbase/awsbase.rb:66:
warning: already initialized constant AMAZON_PROBLEMS
/usr/lib/ruby/gems/1.8/gems/aws-2.5.6/lib/ses/../awsbase/awsbase.rb:86:
warning: already initialized constant DEFAULT_SIGNATURE_VERSION
...................................F.F.....RuntimeError:CreateImageNotSupported
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/../../lib/deltacloud/./helpers/../drivers/mock/mock_driver.rb:133:in
`create_image'
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/../../lib/deltacloud/./drivers/./exceptions.rb:173:in
`call'
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/../../lib/deltacloud/./drivers/./exceptions.rb:173:in
`safely'
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/../../lib/deltacloud/./helpers/../drivers/mock/mock_driver.rb:132:in
`create_image'
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/../../lib/deltacloud/./collections/images.rb:44
/usr/lib/ruby/gems/1.8/gems/sinatra-rabbit-1.0.10/lib/sinatra/./rabbit/base.rb:385:in
`instance_eval'
/usr/lib/ruby/gems/1.8/gems/sinatra-rabbit-1.0.10/lib/sinatra/./rabbit/base.rb:385:in
`POST /api/images'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:1211:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:1211:in
`compile!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:785:in `[]'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:785:in
`route!'
F.FF................................E....................
Finished tests in 2.284652s, 47.2720 tests/s, 130.8733 assertions/s.
1) Failure:
test_0005_returns blob metadata(Deltacloud::Collections::Buckets)
[/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/collections/buckets_collection_test.rb:40]:
Expected: "NEWVALUE"
Actual: nil
2) Failure:
test_0006_returns blob details on show operation in various
formats(Deltacloud::Collections::Buckets)
[/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/collections/buckets_collection_test.rb:51]:
Expected: 200
Actual: 404
3) Failure:
test_0006_allow to create and destroy the new
image(Deltacloud::Collections::Images)
[/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/collections/images_collection_test.rb:46]:
Expected: 201
Actual: 502
4) Failure:
test_0005_provides URL to specify new
image(Deltacloud::Collections::Images)
[/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/collections/images_collection_test.rb:39]:
Expected: 200
Actual: 404
5) Failure:
test_0004_returns details about driver in various formats with show
operation(Deltacloud::Collections::Images)
[/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/collections/images_collection_test.rb:32]:
Expected: 200
Actual: 404
6) Error:
test_0002_advertise the current state using is_state?(Instance):
NoMethodError: is_running?
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/deltacloud/../../lib/deltacloud/./models/instance.rb:68:in
`method_missing'
/home/marios/Documents/WORK/NewEclipsey/DCore/deltacloud_git_repo/deltacloud/server/tests/drivers/models/instance_test.rb:25:in
`test_0002_advertise the current state using is_state?'
108 tests, 299 assertions, 5 failures, 1 errors, 0 skips
rake aborted!
Command failed with status (1): [/usr/bin/ruby -I"lib"
-r./tests/test_helpe...]
On 20/07/12 14:36, mfojtik@redhat.com wrote:
> From: Michal Fojtik <mf...@redhat.com>
>
> Minitest library seems to load the 'common.rb' file in collection
> tests repeatly. This cause to require all DC libraries for every test,
> which until a while leads to memory corruption. Note this problem
> can be only observed under Ruby 1.8.7.
>
> This patch also bumps sinatra-rabbit to 1.0.10 (minor typo fixed there
> to make 1.8.7 tests run smoothly)
>
> Signed-off-by: Michal fojtik <mf...@redhat.com>
> ---
> server/deltacloud-core.gemspec | 2 +-
> server/tests/deltacloud/common.rb | 16 +++++++++-------
> 2 files changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/server/deltacloud-core.gemspec b/server/deltacloud-core.gemspec
> index 4b54470..9716427 100644
> --- a/server/deltacloud-core.gemspec
> +++ b/server/deltacloud-core.gemspec
> @@ -68,7 +68,7 @@ Gem::Specification.new do |s|
> s.add_dependency('rake', '>= 0.8.7')
> s.add_dependency('haml', '>= 2.2.17')
> s.add_dependency('sinatra', '>= 0.9.4')
> - s.add_dependency('sinatra-rabbit', '>= 1.0.7')
> + s.add_dependency('sinatra-rabbit', '>= 1.0.10')
> s.add_dependency('crack')
> s.add_dependency('rack', '>= 1.0.0')
> s.add_dependency('rack-accept')
> diff --git a/server/tests/deltacloud/common.rb b/server/tests/deltacloud/common.rb
> index 7ba3ec3..23826ad 100644
> --- a/server/tests/deltacloud/common.rb
> +++ b/server/tests/deltacloud/common.rb
> @@ -21,11 +21,13 @@ ENV['RACK_ENV'] = 'test'
>
> # Setup Deltacloud::API Sinatra instance
> #
> -Deltacloud::configure do |server|
> - server.root_url '/api'
> - server.version '1.0.0'
> - server.klass 'Deltacloud::API'
> - server.logger Rack::DeltacloudLogger.setup(ENV['API_LOG'], ENV['API_VERBOSE'])
> -end
> +unless Deltacloud::config[:deltacloud]
> + Deltacloud::configure do |server|
> + server.root_url '/api'
> + server.version '1.0.0'
> + server.klass 'Deltacloud::API'
> + server.logger Rack::DeltacloudLogger.setup(ENV['API_LOG'], ENV['API_VERBOSE'])
> + end
>
> -Deltacloud.require_frontend!
> + Deltacloud.require_frontend!
> +end
>
[PATCH core 2/2] Core: Fixed memory leaks on ruby 1.8.7
Posted by mf...@redhat.com.
From: Michal Fojtik <mf...@redhat.com>
Minitest library seems to load the 'common.rb' file in collection
tests repeatly. This cause to require all DC libraries for every test,
which until a while leads to memory corruption. Note this problem
can be only observed under Ruby 1.8.7.
This patch also bumps sinatra-rabbit to 1.0.10 (minor typo fixed there
to make 1.8.7 tests run smoothly)
Signed-off-by: Michal fojtik <mf...@redhat.com>
---
server/deltacloud-core.gemspec | 2 +-
server/tests/deltacloud/common.rb | 16 +++++++++-------
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/server/deltacloud-core.gemspec b/server/deltacloud-core.gemspec
index 4b54470..9716427 100644
--- a/server/deltacloud-core.gemspec
+++ b/server/deltacloud-core.gemspec
@@ -68,7 +68,7 @@ Gem::Specification.new do |s|
s.add_dependency('rake', '>= 0.8.7')
s.add_dependency('haml', '>= 2.2.17')
s.add_dependency('sinatra', '>= 0.9.4')
- s.add_dependency('sinatra-rabbit', '>= 1.0.7')
+ s.add_dependency('sinatra-rabbit', '>= 1.0.10')
s.add_dependency('crack')
s.add_dependency('rack', '>= 1.0.0')
s.add_dependency('rack-accept')
diff --git a/server/tests/deltacloud/common.rb b/server/tests/deltacloud/common.rb
index 7ba3ec3..23826ad 100644
--- a/server/tests/deltacloud/common.rb
+++ b/server/tests/deltacloud/common.rb
@@ -21,11 +21,13 @@ ENV['RACK_ENV'] = 'test'
# Setup Deltacloud::API Sinatra instance
#
-Deltacloud::configure do |server|
- server.root_url '/api'
- server.version '1.0.0'
- server.klass 'Deltacloud::API'
- server.logger Rack::DeltacloudLogger.setup(ENV['API_LOG'], ENV['API_VERBOSE'])
-end
+unless Deltacloud::config[:deltacloud]
+ Deltacloud::configure do |server|
+ server.root_url '/api'
+ server.version '1.0.0'
+ server.klass 'Deltacloud::API'
+ server.logger Rack::DeltacloudLogger.setup(ENV['API_LOG'], ENV['API_VERBOSE'])
+ end
-Deltacloud.require_frontend!
+ Deltacloud.require_frontend!
+end
--
1.7.10.2