| Puppet::Util::Execution.execute checks for the existence of the cwd specified when the :cwd option is given using Puppet::FileSystem.directory? However, Puppet::FileSystem.directory? currently can return a false negative with reparse points (symlinks) in windows. We should refactor that function so it works with reparse points. A change to refactor Puppet::FileSystem.dirctory? is likely too risky to introduce in a Z release, so we'll need to introduce two fixes: one that's safer for Z releases and one to actually fix Puppet::FileSystem.directory? Note that Puppet::Util::Windows::File.exist? works for directories as well (the underlying windows API used in that function is for files or directories), so that's likely the solution here: For the Z release streams we can simply have the check cwd use Puppet::Util::Windows::File.exist? on windows and directory? everywhere else. Then the change to the master branch should be to actually leverage Puppet::Util::Windows::File.exist? inside the windows specific Puppet::FileSystem.dirctory? |