summaryrefslogtreecommitdiffstats
path: root/spec/unit/util
diff options
context:
space:
mode:
authorMatt Robinson <matt@puppetlabs.com>2011-05-26 14:36:19 -0700
committerMatt Robinson <matt@puppetlabs.com>2011-05-26 14:36:19 -0700
commit0bcbca53f3248137de517a4942e4db70ab06e296 (patch)
treec0d3d770a3ab7f9957e02f28cf6b02cc6c0b8b3e /spec/unit/util
parent996dc076e9ca61613f80fc79f0ffe667b14d1ebb (diff)
downloadpuppet-0bcbca53f3248137de517a4942e4db70ab06e296.tar.gz
puppet-0bcbca53f3248137de517a4942e4db70ab06e296.tar.xz
puppet-0bcbca53f3248137de517a4942e4db70ab06e296.zip
maint: Dedup the loadpath so we don't have to walk it multiple times
If the user's path has duplicate entries, we end up looking at them multiple times. This has bitten people in the past in that if you get a lot of duplication it can make autloading a lot slower. Really the user shouldn't be duplicating their path, but since we can't control that, this is a safe fix to prevent them from having autoload slowness. Paired-with: Max Martin <max@puppetlabs.com>
Diffstat (limited to 'spec/unit/util')
-rwxr-xr-xspec/unit/util/autoload_spec.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/spec/unit/util/autoload_spec.rb b/spec/unit/util/autoload_spec.rb
index 512f06c75..d61b7689e 100755
--- a/spec/unit/util/autoload_spec.rb
+++ b/spec/unit/util/autoload_spec.rb
@@ -51,9 +51,9 @@ describe Puppet::Util::Autoload do
@autoload.search_directories.should == %w{/one /two /libdir1 /lib/dir/two /third/lib/dir} + $LOAD_PATH
end
- it "should include in its search path all of the search directories that have a subdirectory matching the autoload path" do
+ it "should include in its search path all of the unique search directories that have a subdirectory matching the autoload path" do
@autoload = Puppet::Util::Autoload.new("foo", "loaddir")
- @autoload.expects(:search_directories).returns %w{/one /two /three}
+ @autoload.expects(:search_directories).returns %w{/one /two /three /three}
FileTest.expects(:directory?).with("/one/loaddir").returns true
FileTest.expects(:directory?).with("/two/loaddir").returns false
FileTest.expects(:directory?).with("/three/loaddir").returns true