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

nested :undef symbol transformed to empty string in 3x function calls

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 6.0.1
    • Component/s: None
    • Labels:
      None
    • Template:
    • Team:
      Server
    • Method Found:
      Needs Assessment
    • Release Notes:
      Bug Fix
    • Release Notes Summary:
      Hide
      Tests (or Ruby logic in one function calling other functions) that assumed that calling a function with a nested {{:undef}} would convert it to either {{nil}} or leave it as {{:undef}} where no longer true in Puppet 6.0.0. This was changed in PUP-9112 where certain transformations were no longer needed because the language did not need them. Turned out tests, and possibly custom logic in Ruby would benefit from keeping conversions.

      The fix is that {{:undef}} in nested array and hash values will be converted to {{nil}} and this makes a difference when calling 3x functions from Ruby.
      Show
      Tests (or Ruby logic in one function calling other functions) that assumed that calling a function with a nested {{:undef}} would convert it to either {{nil}} or leave it as {{:undef}} where no longer true in Puppet 6.0.0. This was changed in PUP-9112 where certain transformations were no longer needed because the language did not need them. Turned out tests, and possibly custom logic in Ruby would benefit from keeping conversions. The fix is that {{:undef}} in nested array and hash values will be converted to {{nil}} and this makes a difference when calling 3x functions from Ruby.
    • QA Risk Assessment:
      Needs Assessment

      Description

      Nested :undef symbol is transformed to empty string in 3x function calls. This is a side effect of PUP-9112 as the language no longer uses :undef, and the return values of 3x functions are transformed to not contain :undef. There is however a problem in that there are many tests that test against :undef inside structures in the belief that this is how the language would present the value to the function (it once was).

      Thus, it would be beneficial to allow these tests to continue working.

        Attachments

          Activity

            jsd-sla-details-panel

              People

              • Assignee:
                Unassigned
                Reporter:
                henrik.lindberg Henrik Lindberg
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: