The "catalog_uuid_correlates_catalogs_with_reports" test inspects the serialized content of the "catalog_uuid" field in the Puppet::Transaction::Report that the master stores. The test expects the value for the "catalog_uuid" field to not be quoted. With MRI Ruby 2.3.2 and later (and with JRuby 22.214.171.124, which emulates Ruby language version 2.3.3), some string-based UUID values are serialized to yaml with single quotes around them.
On Ruby 2.3.1, for example, the following value is serialized without any surrounding quotes:
On Ruby 2.3.2, however, the same command from above results in a value wrapped with single quotes:
Note that this only happens in Ruby 2.3.2+ with some values. For example, the following is produced under Ruby 2.3.2 and later:
While the difference in serialized output between the Ruby versions is odd, I'm not sure that it's technically a "bug" in that the source value for the catalog_uuid is a string and characters like "-" arguably could warrant quoting whenever they are serialized out to yaml.
For this ticket, I think we should just update the catalog_uuid_correlates_catalogs_with_reports.rb test to handle both the presence or absence of surrounding single quotes the same. This should enable the test to pass consistently when run with a Puppet Server master running JRuby 9k under Ruby language version 2.3.2+.