Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-6557

Dir.glob in Ruby 2.3 has changed behavior on Windows, can break code loading

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 4.6.1
    • Component/s: Windows
    • Labels:
    • Template:
    • Acceptance Criteria:
      Hide

      Tests pass in a local dev environment.
      Solution does not cause performance degradation on non Windows platforms.

      Show
      Tests pass in a local dev environment. Solution does not cause performance degradation on non Windows platforms.
    • Story Points:
      3
    • Sprint:
      Windows 2016-08-10, Windows 2016-08-24

      Description

      Ruby 2.3 addressed a bug in Dir.glob on Windows - https://bugs.ruby-lang.org/issues/10819 with commit https://github.com/ruby/ruby/commit/45df1c24d269f93a2bc1e7a6fe0ffcecc1193051

      Unfortunately this has changed the behavior in such a way that prevents file paths from being compared as they were previously. Previously an 8.3 style file path was passed to Dir.glob and it returned 8.3 style paths in Ruby 2.1. Due to bug fix 10819, the paths are now expanded from 8.3 paths.

      This should also involve adding a new test, so that AppVeyor catches the problem (which it currently does not)

      Analysis of the various call sites led to this gist - showing any time an Environment / Environment / Module was created - https://gist.github.com/Iristyle/9389f62d60a402f861df8a98012535c9

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                erick Erick Banks
                Reporter:
                ethan Ethan Brown
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support