Puppet uses both colon and File::PATH_SEPARATOR in various places, which
does not work on Windows, where File::PATH_SEPARATOR is a semi-colon. This
commit changes the code and tests to consistently use File::PATH_SEPARATOR.

Reviewed-by: Jacob Helwig <ja...@puppetlabs.com>
Signed-off-by: Josh Cooper <j...@puppetlabs.com>
---
Local-branch: feature/master/8268-puppet-agent-windows
 lib/puppet/defaults.rb                            |    8 +++++---
 lib/puppet/indirector/facts/facter.rb             |    4 ++--
 spec/unit/indirector/resource_type/parser_spec.rb |    2 +-
 spec/unit/module_spec.rb                          |    4 ++--
 spec/unit/parser/type_loader_spec.rb              |    2 +-
 5 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb
index d5e06c5..e6beb51 100644
--- a/lib/puppet/defaults.rb
+++ b/lib/puppet/defaults.rb
@@ -441,9 +441,11 @@ module Puppet
       authorization system for `puppet master`."
     ],
     :ca => [true, "Wether the master should function as a certificate 
authority."],
-    :modulepath => {:default => "$confdir/modules:/usr/share/puppet/modules",
-      :desc => "The search path for modules as a colon-separated list of
-      directories.", :type => :setting }, # We don't want this to be 
considered a file, since it's multiple files.
+    :modulepath => {
+      :default => 
"$confdir/modules#{File::PATH_SEPARATOR}/usr/share/puppet/modules",
+      :desc => "The search path for modules as a list of directories separated 
by the '#{File::PATH_SEPARATOR}' character.",
+      :type => :setting # We don't want this to be considered a file, since 
it's multiple files.
+    },
     :ssl_client_header => ["HTTP_X_CLIENT_DN", "The header containing an 
authenticated
       client's SSL DN.  Only used with Mongrel.  This header must be set by 
the proxy
       to the authenticated client's SSL DN (e.g., `/CN=puppet.puppetlabs.com`).
diff --git a/lib/puppet/indirector/facts/facter.rb 
b/lib/puppet/indirector/facts/facter.rb
index ab7378a..6312a95 100644
--- a/lib/puppet/indirector/facts/facter.rb
+++ b/lib/puppet/indirector/facts/facter.rb
@@ -9,12 +9,12 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
 
   def self.load_fact_plugins
     # Add any per-module fact directories to the factpath
-    module_fact_dirs = Puppet[:modulepath].split(":").collect do |d|
+    module_fact_dirs = Puppet[:modulepath].split(File::PATH_SEPARATOR).collect 
do |d|
       ["lib", "plugins"].map do |subdirectory|
         Dir.glob("#{d}/*/#{subdirectory}/facter")
       end
     end.flatten
-    dirs = module_fact_dirs + Puppet[:factpath].split(":")
+    dirs = module_fact_dirs + Puppet[:factpath].split(File::PATH_SEPARATOR)
     x = dirs.each do |dir|
       load_facts_in_dir(dir)
     end
diff --git a/spec/unit/indirector/resource_type/parser_spec.rb 
b/spec/unit/indirector/resource_type/parser_spec.rb
index c4fc455..fa2aa10 100755
--- a/spec/unit/indirector/resource_type/parser_spec.rb
+++ b/spec/unit/indirector/resource_type/parser_spec.rb
@@ -128,7 +128,7 @@ describe Puppet::Indirector::ResourceType::Parser do
       second = File.join(dir, "second")
       FileUtils.mkdir_p(first)
       FileUtils.mkdir_p(second)
-      Puppet[:modulepath] = "#{first}:#{second}"
+      Puppet[:modulepath] = "#{first}#{File::PATH_SEPARATOR}#{second}"
 
       # Make a new request, since we've reset the env
       @request = Puppet::Indirector::Request.new(:resource_type, :search, "*")
diff --git a/spec/unit/module_spec.rb b/spec/unit/module_spec.rb
index 8d38657..d1d01a1 100755
--- a/spec/unit/module_spec.rb
+++ b/spec/unit/module_spec.rb
@@ -275,7 +275,7 @@ describe Puppet::Module do
 
     FileUtils.mkdir_p(first)
     FileUtils.mkdir_p(second)
-    Puppet[:modulepath] = "#{first}:#{second}"
+    Puppet[:modulepath] = "#{first}#{File::PATH_SEPARATOR}#{second}"
 
     modpath = File.join(first, "foo")
     FileUtils.mkdir_p(modpath)
@@ -294,7 +294,7 @@ describe Puppet::Module do
 
     FileUtils.mkdir_p(first)
     FileUtils.mkdir_p(second)
-    Puppet[:modulepath] = "#{first}:#{second}"
+    Puppet[:modulepath] = "#{first}#{File::PATH_SEPARATOR}#{second}"
 
     modpath = File.join(second, "foo")
     FileUtils.mkdir_p(modpath)
diff --git a/spec/unit/parser/type_loader_spec.rb 
b/spec/unit/parser/type_loader_spec.rb
index 9367b61..58caeda 100755
--- a/spec/unit/parser/type_loader_spec.rb
+++ b/spec/unit/parser/type_loader_spec.rb
@@ -102,7 +102,7 @@ describe Puppet::Parser::TypeLoader do
       @modulebase2 = File.join(@base, "second")
       FileUtils.mkdir_p(@modulebase2)
 
-      Puppet[:modulepath] = "#{@modulebase1}:#{@modulebase2}"
+      Puppet[:modulepath] = 
"#{@modulebase1}#{File::PATH_SEPARATOR}#{@modulebase2}"
     end
 
     def mk_module(basedir, name)
-- 
1.7.5.4

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to puppet-dev@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to