Actions
Bug #36930
closedDrop invalid test for YAML parsing
Description
The test for invalid YAML in test/models/lookup_key_test.rb is {a:test}
. With libyaml 0.1.x this is invalid, but with 0.2.x it is valid.
I decided to dive into the failure. As far as I can see it calls YAML.safe_load(value, permitted_classes: [Symbol])
to load the value. So some testing:
EL 8:
# rpm -qv ruby ; rpm -qv libyaml ruby-2.5.9-111.module_el8+475+35a6c697.x86_64 libyaml-0.1.7-5.el8.x86_64 # ruby -ryaml -e 'puts YAML.safe_load("{a:test}").inspect' Traceback (most recent call last): 4: from -e:1:in `<main>' 3: from /usr/share/ruby/psych.rb:314:in `safe_load' 2: from /usr/share/ruby/psych.rb:350:in `parse' 1: from /usr/share/ruby/psych.rb:402:in `parse_stream' /usr/share/ruby/psych.rb:402:in `parse': (<unknown>): found unexpected ':' while scanning a plain scalar at line 1 column 2 (Psych::SyntaxError)
EL9
# rpm -qv ruby ; rpm -qv libyaml ruby-3.0.4-160.el9.x86_64 libyaml-0.2.5-7.el9.x86_64 # ruby -ryaml -e 'puts YAML.safe_load("{a:test}").inspect' {"a:test"=>nil}
Ubuntu 20.04
# dpkg -l | grep -E 'libruby|libyaml' ii libruby2.7:amd64 2.7.0-5ubuntu1.12 amd64 Libraries necessary to run Ruby 2.7 ii libyaml-0-2:amd64 0.2.2-1 amd64 Fast YAML 1.1 parser and emitter library # ruby -ryaml -e 'puts YAML.safe_load("{a:test}").inspect' {"a:test"=>nil}
Actions