Jira (PUP-11699) RSpec test failures when using Ruby 3.2 & OpenSSL 3

11 views
Skip to first unread message

Josh Cooper (Jira)

unread,
Jan 9, 2023, 6:58:03 PM1/9/23
to puppe...@googlegroups.com
Josh Cooper created an issue
 
Puppet / Bug PUP-11699
RSpec test failures when using Ruby 3.2 & OpenSSL 3
Issue Type: Bug Bug
Assignee: Unassigned
Created: 2023/01/09 3:57 PM
Priority: Normal Normal
Reporter: Josh Cooper

On Ubuntu 22.04:

# apt-get install autoconf bison patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev uuid-dev
# git clone https://github.com/rbenv/ruby-build
# cd ruby-build
# /ruby-build 3.2.0 /usr/local
# /usr/local/bin/ruby --version
ruby 3.2.0 (2022-12-25 revision a528908271) [x86_64-linux]
# /usr/local/bin/gem install --no-document bundler
 
# cd ~
# git clone https://github.com/puppetlabs/puppet
# cd puppet
# export FACTER_LOCATION=https://github.com/puppetlabs/facter
# /usr/local/bin/bundle install
# /usr/local/bin/bundle exec rspec spec
...
rspec ./spec/unit/application/ssl_spec.rb:112 # Puppet::Application::Ssl when submitting a CSR generates an EC private key
rspec ./spec/unit/file_system_spec.rb:816 # Puppet::FileSystem symlink unlink should raise Errno::EACCESS when trying to delete a file whose parent directory does not allow execute/traverse
rspec ./spec/unit/file_system_spec.rb:968 # Puppet::FileSystem #replace_file when creating on posix raises EACCES if we do not have permission
rspec ./spec/unit/ssl/certificate_request_spec.rb:314 # Puppet::SSL::CertificateRequest when generating should use SHA1 to sign the csr when SHA256 isn't available
rspec ./spec/unit/ssl/certificate_request_spec.rb:323 # Puppet::SSL::CertificateRequest when generating should use SHA512 to sign the csr when SHA256 and SHA1 aren't available
rspec ./spec/unit/ssl/certificate_request_spec.rb:334 # Puppet::SSL::CertificateRequest when generating should use SHA384 to sign the csr when SHA256/SHA1/SHA512 aren't available
rspec ./spec/unit/ssl/certificate_request_spec.rb:346 # Puppet::SSL::CertificateRequest when generating should use SHA224 to sign the csr when SHA256/SHA1/SHA512/SHA384 aren't available
rspec ./spec/unit/ssl/certificate_request_spec.rb:196 # Puppet::SSL::CertificateRequest when generating with custom CSR attributes raises an error if an attribute cannot be created
rspec ./spec/unit/ssl/certificate_request_spec.rb:270 # Puppet::SSL::CertificateRequest when generating with extension requests raises an error if the OID could not be created
rspec ./spec/unit/ssl/ssl_provider_spec.rb:459 # Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if root CA's isCA basic constraint is false
rspec ./spec/unit/ssl/ssl_provider_spec.rb:469 # Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if intermediate CA's isCA basic constraint is false
rspec ./spec/unit/x509/cert_provider_spec.rb:279 # Puppet::X509::CertProvider when loading private keys using RSA raises without a password
rspec ./spec/unit/x509/cert_provider_spec.rb:314 # Puppet::X509::CertProvider when loading private keys using EC raises without a password
rspec ./spec/unit/x509/pem_store_spec.rb:66 # Puppet::X509::PemStore loading raises EACCES if the file is unreadable
rspec ./spec/unit/x509/pem_store_spec.rb:121 # Puppet::X509::PemStore saving raises EACCES if the file is unwritable
rspec ./spec/unit/x509/pem_store_spec.rb:152 # Puppet::X509::PemStore deleting raises EACCES if the file is undeletable

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

Josh Cooper (Jira)

unread,
Jan 9, 2023, 6:59:02 PM1/9/23
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Jan 10, 2023, 2:46:02 AM1/10/23
to puppe...@googlegroups.com
Josh Cooper commented on Bug PUP-11699
 
Re: RSpec test failures when using Ruby 3.2 & OpenSSL 3

Making note of incompatibilities:

1. EC#public_key= was removed as keys are now immutable. From the docs, "Feature removed without replacement.* Keys are now immutable once created - all components must be specified at once."

2. Previously, the public key didn't have to be set on the OpenSSL::X509::CertificateRequest before signing.

Josh Cooper (Jira)

unread,
Jan 10, 2023, 2:47:01 AM1/10/23
to puppe...@googlegroups.com

Josh Cooper (Jira)

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

Josh Cooper (Jira)

unread,
Jan 12, 2023, 3:17:01 AM1/12/23
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Sprint: Phoenix 2023-01-18

Josh Cooper (Jira)

unread,
Apr 13, 2023, 12:24:02 PM4/13/23
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Release Notes: Not Needed
Reply all
Reply to author
Forward
0 new messages