summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/util/autoload.rb7
-rw-r--r--lib/puppet/util/autoload/file_cache.rb14
-rwxr-xr-xspec/unit/util/autoload.rb17
3 files changed, 6 insertions, 32 deletions
diff --git a/lib/puppet/util/autoload.rb b/lib/puppet/util/autoload.rb
index 006554d5a..a1c44cdd6 100644
--- a/lib/puppet/util/autoload.rb
+++ b/lib/puppet/util/autoload.rb
@@ -74,8 +74,6 @@ class Puppet::Util::Autoload
# Load a single plugin by name. We use 'load' here so we can reload a
# given plugin.
def load(name,env=nil)
- return false if named_file_missing?(name)
-
path = name.to_s + ".rb"
searchpath(env).each do |dir|
@@ -90,11 +88,10 @@ class Puppet::Util::Autoload
raise
rescue Exception => detail
puts detail.backtrace if Puppet[:trace]
- warn "Could not autoload #{name}: #{detail}"
- return named_file_is_missing(name)
+ raise Puppet::Error, "Could not autoload #{name}: #{detail}"
end
end
- return named_file_is_missing(name)
+ false
end
# Mark the named object as loaded. Note that this supports unqualified
diff --git a/lib/puppet/util/autoload/file_cache.rb b/lib/puppet/util/autoload/file_cache.rb
index 4ad0c7f39..881e08637 100644
--- a/lib/puppet/util/autoload/file_cache.rb
+++ b/lib/puppet/util/autoload/file_cache.rb
@@ -73,20 +73,6 @@ module Puppet::Util::Autoload::FileCache
missing_files[path] = Time.now
end
- def named_file_missing?(name)
- @named_files ||= {}
- if time = @named_files[name] and ! data_expired?(time)
- return true
- end
- false
- end
-
- def named_file_is_missing(name)
- @named_files ||= {}
- @named_files[name] = Time.now
- false
- end
-
private
def cached_data?(path, type = nil)
diff --git a/spec/unit/util/autoload.rb b/spec/unit/util/autoload.rb
index 1b8866246..0f73a73d7 100755
--- a/spec/unit/util/autoload.rb
+++ b/spec/unit/util/autoload.rb
@@ -72,26 +72,17 @@ describe Puppet::Util::Autoload do
end
[RuntimeError, LoadError, SyntaxError].each do |error|
- it "should not die an if a #{error.to_s} exception is thrown" do
+ it "should die with Puppet::Error if a #{error.to_s} exception is thrown" do
@autoload.stubs(:file_exist?).returns true
Kernel.expects(:load).raises error
- @autoload.load("foo")
+ lambda { @autoload.load("foo") }.should raise_error(Puppet::Error)
end
end
- it "should skip files that it knows are missing" do
- @autoload.expects(:named_file_missing?).with("foo").returns true
- @autoload.expects(:eachdir).never
-
- @autoload.load("foo")
- end
-
- it "should register that files are missing if they cannot be found" do
- @autoload.load("foo")
-
- @autoload.should be_named_file_missing("foo")
+ it "should not raise an error if the file is missing" do
+ @autoload.load("foo").should == false
end
it "should register loaded files with the main loaded file list so they are not reloaded by ruby" do