[DRE-maint] Bug#1104697: ruby-dbf: FTBFS caused by failure/Error: expect(record.name.encode('UTF-8').unpack1('H4')).to eq 'd0b0'

Leandro Cunha leandrocunha016 at gmail.com
Sun May 4 20:16:41 BST 2025


Source: ruby-dbf
Version: 4.3.2-1
Severity: serious
Justification: FTBFS
Tags: ftbfs patch
User: debian-ruby at lists.debian.org
Usertags: ruby3.3

I've been testing a patch to fix this bug so that CI tests can run
successfully again and make it reproducible again. The patch is quite
simple and just adds "Encoding.default_external = "UTF-8"" to set a
unicode that was set in "failure/Error:
expect(record.name.encode('UTF-8').unpack1('H4')).to eq 'd0b0'".

RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-dbf-4.3.2/debian/ruby-dbf/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-dbf-4.3.2/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0
ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f
debian/ruby-tests.rake
/usr/bin/ruby3.3
-I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib
/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec
--pattern ./spec/\*\*/\*_spec.rb

Randomized with seed 24365
...........................................................................................................................................................................................FF..............................

Failures:

  1) DBF::Record column data for table overriding specified in dbf
encoding transcodes from manually specified encoding to default system
encoding
     Failure/Error:
expect(record.name.encode('UTF-8').unpack1('H4')).to eq 'd180'

       expected: #<Encoding:UTF-8> "d180"
            got: #<Encoding:US-ASCII> "3f3f"

       (compared using ==)
     # ./spec/dbf/record_spec.rb:99:in `block (4 levels) in <top (required)>'

  2) DBF::Record column data for table using specified in dbf encoding
encodes to default system encoding
     Failure/Error:
expect(record.name.encode('UTF-8').unpack1('H4')).to eq 'd0b0'

       expected: #<Encoding:UTF-8> "d0b0"
            got: #<Encoding:US-ASCII> "3f3f"

       (compared using ==)
     # ./spec/dbf/record_spec.rb:87:in `block (4 levels) in <top (required)>'

Finished in 0.51922 seconds (files took 0.23877 seconds to load)
219 examples, 2 failures

Failed examples:

rspec ./spec/dbf/record_spec.rb:95 # DBF::Record column data for table
overriding specified in dbf encoding transcodes from manually
specified encoding to default system encoding
rspec ./spec/dbf/record_spec.rb:83 # DBF::Record column data for table
using specified in dbf encoding encodes to default system encoding

Randomized with seed 24365

View full logs:

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/ruby-dbf.html
https://salsa.debian.org/leandrocunha/ruby-dbf/-/pipelines/861054
-------------- next part --------------
A non-text attachment was scrubbed...
Name: default-external-encoding-in-spec_helper.rb.patch
Type: application/x-patch
Size: 614 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20250504/f53906fb/attachment-0001.bin>


More information about the Pkg-ruby-extras-maintainers mailing list