Skip to content

Ensure stable key order when processing hashes #322

Ensure stable key order when processing hashes

Ensure stable key order when processing hashes #322

Triggered via pull request February 6, 2025 10:47
Status Failure
Total duration 4m 10s
Artifacts

ci.yml

on: pull_request
Puppet  /  Static validations
41s
Puppet / Static validations
Matrix: Puppet / unit
Puppet  /  Test suite
2s
Puppet / Test suite
Fit to window
Zoom out
Zoom in

Annotations

13 errors and 1 warning
Puppet / 8 (Ruby 3.2): spec/functions/parse_spec.rb#L24
icinga2::parse assign a string Failure/Error: is_expected.to run.with_params( { 'result' => '{ foo => baz, bar => baz }', }, ).and_return("result = {\n foo = \"baz\"\n bar = \"baz\"\n}\n") expected icinga2::parse({"result"=>"{ foo => baz, bar => baz }"}) to have returned "result = {\n foo = \"baz\"\n bar = \"baz\"\n}\n" instead of "result = {\n bar = \"baz\"\n foo = \"baz\"\n}\n"
Puppet / 8 (Ruby 3.2): spec/functions/parse_spec.rb#L342
icinga2::parse assign numbers with time units Failure/Error: is_expected.to run.with_params( { 'vars' => { 'foo_s' => '60s', 'foo_m' => '5m', 'foo_h' => '2.5h', 'foo_d' => '2d', }, }, ).and_return("vars.foo_s = 60s\nvars.foo_m = 5m\nvars.foo_h = 2.5h\nvars.foo_d = 2d\n") expected icinga2::parse({"vars"=>{"foo_s"=>"60s", "foo_m"=>"5m", "foo_h"=>"2.5h", "foo_d"=>"2d"}}) to have returned "vars.foo_s = 60s\nvars.foo_m = 5m\nvars.foo_h = 2.5h\nvars.foo_d = 2d\n" instead of "vars.foo_d = 2d\nvars.foo_h = 2.5h\nvars.foo_m = 5m\nvars.foo_s = 60s\n"
Puppet / 8 (Ruby 3.2): spec/functions/parse_spec.rb#L422
icinga2::parse assign a hash Failure/Error: is_expected.to run.with_params( { 'foo' => { 'string' => 'some string, connected to another. Yeah!', 'constant' => 'NodeName', 'numbers' => ['42', '3.141', '-42', '-3.141'], 'merge_array' => ['+', '42', '3.141', '-42', '-3.141'], 'time' => '2.5d', 'bool' => 'true', }, expected icinga2::parse({"foo"=>{"string"=>"some string, connected to another. Yeah!", "constant"=>"NodeName", "numbers"=>["42", "3.141", "-42", "-3.141"], "merge_array"=>["+", "42", "3.141", "-42", "-3.141"], "time"=>"2.5d", "bool"=>"true"}}) to have returned "foo = {\n string = \"some string, connected to another. Yeah!\"\n constant = NodeName\n numbers = [ 42, 3.141, -42, -3.141, ]\n merge_array += [ 42, 3.141, -42, -3.141, ]\n time = 2.5d\n bool = true\n}\n" instead of "foo = {\n bool = true\n constant = NodeName\n merge_array += [ 42, 3.141, -42, -3.141, ]\n numbers = [ 42, 3.141, -42, -3.141, ]\n string = \"some string, connected to another. Yeah!\"\n time = 2.5d\n}\n"
Puppet / 8 (Ruby 3.2): spec/functions/parse_spec.rb#L511
icinga2::parse assign a nested hash Failure/Error: is_expected.to run.with_params( { 'foobar' => { 'foo' => { '+' => true, 'string' => 'some string, connected to another. Yeah!', 'constant' => 'NodeName', 'bool' => 'true', }, 'fooz' => { expected icinga2::parse({"foobar"=>{"foo"=>{"+"=>true, "string"=>"some string, connected to another. Yeah!", "constant"=>"NodeName", "bool"=>"true"}, "fooz"=>{"+"=>true}, "bar"=>{"numbers"=>["42", "3.141", "-42", "-3.141"], "merge_array"=>["+", "42", "3.141", "-42", "-3.141"], "time"=>"2.5d"}, "baz"=>{}}}) to have returned "foobar = {\n foo += {\n string = \"some string, connected to another. Yeah!\"\n constant = NodeName\n bool = true\n }\n fooz += {}\n bar = {\n numbers = [ 42, 3.141, -42, -3.141, ]\n merge_array += [ 42, 3.141, -42, -3.141, ]\n time = 2.5d\n }\n baz = {}\n}\n" instead of "foobar = {\n bar = {\n merge_array += [ 42, 3.141, -42, -3.141, ]\n numbers = [ 42, 3.141, -42, -3.141, ]\n time = 2.5d\n }\n baz = {}\n foo += {\n bool = true\n constant = NodeName\n string = \"some string, connected to another. Yeah!\"\n }\n fooz += {}\n}\n"
Puppet / 8 (Ruby 3.2): spec/functions/parse_spec.rb#L589
icinga2::parse assign multiple custom attributes Failure/Error: is_expected.to run.with_params( { 'vars' => [ '+ config1', {}, { 'foo' => 'some string', 'bar' => [ '+', '42', '3.141', '-42', '-3.141' ], 'baz' => { '+' => true, expected icinga2::parse({"vars"=>["+ config1", {}, {"foo"=>"some string", "bar"=>["+", "42", "3.141", "-42", "-3.141"], "baz"=>{"+"=>true, "number"=>"- 42", "floating"=>"+ 3.141"}}, "+ config2"]}) to have returned "vars += config1\nvars += {}\nvars.foo = \"some string\"\nvars.bar += [ 42, 3.141, -42, -3.141, ]\nvars.baz[\"number\"] -= 42\nvars.baz[\"floating\"] += 3.141\nvars += config2\n" instead of "vars += config1\nvars += {}\nvars.bar += [ 42, 3.141, -42, -3.141, ]\nvars.baz[\"floating\"] += 3.141\nvars.baz[\"number\"] -= 42\nvars.foo = \"some string\"\nvars += config2\n"
Puppet / 8 (Ruby 3.2)
Process completed with exit code 1.
Puppet / 7 (Ruby 2.7): spec/functions/parse_spec.rb#L24
icinga2::parse assign a string Failure/Error: is_expected.to run.with_params( { 'result' => '{ foo => baz, bar => baz }', }, ).and_return("result = {\n foo = \"baz\"\n bar = \"baz\"\n}\n") expected icinga2::parse({"result"=>"{ foo => baz, bar => baz }"}) to have returned "result = {\n foo = \"baz\"\n bar = \"baz\"\n}\n" instead of "result = {\n bar = \"baz\"\n foo = \"baz\"\n}\n"
Puppet / 7 (Ruby 2.7): spec/functions/parse_spec.rb#L342
icinga2::parse assign numbers with time units Failure/Error: is_expected.to run.with_params( { 'vars' => { 'foo_s' => '60s', 'foo_m' => '5m', 'foo_h' => '2.5h', 'foo_d' => '2d', }, }, ).and_return("vars.foo_s = 60s\nvars.foo_m = 5m\nvars.foo_h = 2.5h\nvars.foo_d = 2d\n") expected icinga2::parse({"vars"=>{"foo_s"=>"60s", "foo_m"=>"5m", "foo_h"=>"2.5h", "foo_d"=>"2d"}}) to have returned "vars.foo_s = 60s\nvars.foo_m = 5m\nvars.foo_h = 2.5h\nvars.foo_d = 2d\n" instead of "vars.foo_d = 2d\nvars.foo_h = 2.5h\nvars.foo_m = 5m\nvars.foo_s = 60s\n"
Puppet / 7 (Ruby 2.7): spec/functions/parse_spec.rb#L422
icinga2::parse assign a hash Failure/Error: is_expected.to run.with_params( { 'foo' => { 'string' => 'some string, connected to another. Yeah!', 'constant' => 'NodeName', 'numbers' => ['42', '3.141', '-42', '-3.141'], 'merge_array' => ['+', '42', '3.141', '-42', '-3.141'], 'time' => '2.5d', 'bool' => 'true', }, expected icinga2::parse({"foo"=>{"string"=>"some string, connected to another. Yeah!", "constant"=>"NodeName", "numbers"=>["42", "3.141", "-42", "-3.141"], "merge_array"=>["+", "42", "3.141", "-42", "-3.141"], "time"=>"2.5d", "bool"=>"true"}}) to have returned "foo = {\n string = \"some string, connected to another. Yeah!\"\n constant = NodeName\n numbers = [ 42, 3.141, -42, -3.141, ]\n merge_array += [ 42, 3.141, -42, -3.141, ]\n time = 2.5d\n bool = true\n}\n" instead of "foo = {\n bool = true\n constant = NodeName\n merge_array += [ 42, 3.141, -42, -3.141, ]\n numbers = [ 42, 3.141, -42, -3.141, ]\n string = \"some string, connected to another. Yeah!\"\n time = 2.5d\n}\n"
Puppet / 7 (Ruby 2.7): spec/functions/parse_spec.rb#L511
icinga2::parse assign a nested hash Failure/Error: is_expected.to run.with_params( { 'foobar' => { 'foo' => { '+' => true, 'string' => 'some string, connected to another. Yeah!', 'constant' => 'NodeName', 'bool' => 'true', }, 'fooz' => { expected icinga2::parse({"foobar"=>{"foo"=>{"+"=>true, "string"=>"some string, connected to another. Yeah!", "constant"=>"NodeName", "bool"=>"true"}, "fooz"=>{"+"=>true}, "bar"=>{"numbers"=>["42", "3.141", "-42", "-3.141"], "merge_array"=>["+", "42", "3.141", "-42", "-3.141"], "time"=>"2.5d"}, "baz"=>{}}}) to have returned "foobar = {\n foo += {\n string = \"some string, connected to another. Yeah!\"\n constant = NodeName\n bool = true\n }\n fooz += {}\n bar = {\n numbers = [ 42, 3.141, -42, -3.141, ]\n merge_array += [ 42, 3.141, -42, -3.141, ]\n time = 2.5d\n }\n baz = {}\n}\n" instead of "foobar = {\n bar = {\n merge_array += [ 42, 3.141, -42, -3.141, ]\n numbers = [ 42, 3.141, -42, -3.141, ]\n time = 2.5d\n }\n baz = {}\n foo += {\n bool = true\n constant = NodeName\n string = \"some string, connected to another. Yeah!\"\n }\n fooz += {}\n}\n"
Puppet / 7 (Ruby 2.7): spec/functions/parse_spec.rb#L589
icinga2::parse assign multiple custom attributes Failure/Error: is_expected.to run.with_params( { 'vars' => [ '+ config1', {}, { 'foo' => 'some string', 'bar' => [ '+', '42', '3.141', '-42', '-3.141' ], 'baz' => { '+' => true, expected icinga2::parse({"vars"=>["+ config1", {}, {"foo"=>"some string", "bar"=>["+", "42", "3.141", "-42", "-3.141"], "baz"=>{"+"=>true, "number"=>"- 42", "floating"=>"+ 3.141"}}, "+ config2"]}) to have returned "vars += config1\nvars += {}\nvars.foo = \"some string\"\nvars.bar += [ 42, 3.141, -42, -3.141, ]\nvars.baz[\"number\"] -= 42\nvars.baz[\"floating\"] += 3.141\nvars += config2\n" instead of "vars += config1\nvars += {}\nvars.bar += [ 42, 3.141, -42, -3.141, ]\nvars.baz[\"floating\"] += 3.141\nvars.baz[\"number\"] -= 42\nvars.foo = \"some string\"\nvars += config2\n"
Puppet / 7 (Ruby 2.7)
Process completed with exit code 1.
Puppet / Test suite
Process completed with exit code 1.
Puppet / Static validations: metadata.json#L1
Skipping EOL operating system FreeBSD 12