Jira (PUP-11689) Enable strict mode by default

43 views
Skip to first unread message

Josh Cooper (Jira)

unread,
Dec 12, 2022, 11:26:03 AM12/12/22
to puppe...@googlegroups.com
Josh Cooper created an issue
 
Puppet / Improvement PUP-11689
Enable strict mode by default
Issue Type: Improvement Improvement
Assignee: Unassigned
Created: 2022/12/12 8:25 AM
Fix Versions: PUP 8.0.0
Priority: Normal Normal
Reporter: Josh Cooper

Puppet supports various strict language related settings. These were added in 2016 (puppet 4.x) and it's time to enable strict behavior by default.

strict

strict_variables

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.20.11#820011-sha1:0629dd8)
Atlassian logo

Ben Ford (Jira)

unread,
Dec 13, 2022, 4:13:03 PM12/13/22
to puppe...@googlegroups.com
Ben Ford commented on Improvement PUP-11689
 
Re: Enable strict mode by default

I could be mistaken, but I think this means that spec-puppet has had strict_variables on for at least seven years. https://github.com/rodjek/rspec-puppet/blame/master/lib/rspec-puppet/adapters.rb#L153

Morgan Rhodes (Jira)

unread,
Jan 5, 2023, 1:10:03 PM1/5/23
to puppe...@googlegroups.com
Morgan Rhodes updated an issue
 
Change By: Morgan Rhodes
Puppet supports various strict language related settings. These were added in 2016 (puppet 4.x) and it's time to enable strict behavior by default.

[strict|https://github.com/puppetlabs/puppet/blob/381a3e2b2e6858570fcc6e755bfae9eeff1226f1/lib/puppet/defaults.rb#L191]

[strict_variables|https://github.com/puppetlabs/puppet/blob/381a3e2b2e6858570fcc6e755bfae9eeff1226f1/lib/puppet/defaults.rb#L2212]


A good thing to verify - take a module like stdlib, test against puppet8 gem, change the setting for strict variables, and make sure the spec tests still pass. Note you can use the PUPPET_GEM_VERSION to pin to a local checkout of puppet rather than building a gem.

Morgan Rhodes (Jira)

unread,
Jan 5, 2023, 1:11:03 PM1/5/23
to puppe...@googlegroups.com
Morgan Rhodes updated an issue
Change By: Morgan Rhodes
Story Points: 2

Josh Cooper (Jira)

unread,
Jan 6, 2023, 11:24:02 PM1/6/23
to puppe...@googlegroups.com
Josh Cooper commented on Improvement PUP-11689
 
Re: Enable strict mode by default

Unfortunately, no. The adapter code just maps rspec config settings to puppet like: https://github.com/puppetlabs/rspec-puppet/blob/587617c7314e9ea26cb77eed66c08a756fd4f18a/lib/rspec-puppet/adapters.rb#L27-L32

The default for strict_varibles is defined in https://github.com/puppetlabs/rspec-puppet/blob/587617c7314e9ea26cb77eed66c08a756fd4f18a/lib/rspec-puppet.rb#L52 And I don't see one for strict so I assume it inherits the behavior from whatever puppet version is being used.

 

 

Josh Cooper (Jira)

unread,
Jan 6, 2023, 11:40:03 PM1/6/23
to puppe...@googlegroups.com

Aria Li (Jira)

unread,
Jan 11, 2023, 2:28:02 PM1/11/23
to puppe...@googlegroups.com
Aria Li updated an issue
 
Change By: Aria Li
Sprint: Phoenix 2023-01-18

Aria Li (Jira)

unread,
Jan 11, 2023, 2:28:03 PM1/11/23
to puppe...@googlegroups.com
Aria Li assigned an issue to Aria Li
Change By: Aria Li
Assignee: Aria Li

Morgan Rhodes (Jira)

unread,
Jan 18, 2023, 1:09:01 PM1/18/23
to puppe...@googlegroups.com
Morgan Rhodes updated an issue
Change By: Morgan Rhodes
Sprint: Phoenix 2023-01-18 , Phoenix 2023-02-01

Josh Cooper (Jira)

unread,
Jan 20, 2023, 7:50:03 PM1/20/23
to puppe...@googlegroups.com
Josh Cooper commented on Improvement PUP-11689
 
Re: Enable strict mode by default

I think changing the default for strict_variables is fine, but changing the default for strict to error affects several things like coercing strings/numbers, parsing module metadata, serializing pcore data, ... We should chat about that and likely split "strict" into a separate ticket.

Reply all
Reply to author
Forward
0 new messages