[DRE-maint] Bug#1002532: pygments breaks ruby-pygments.rb autopkgtest: UTF-8 != ASCII-8BIT

Paul Gevers elbrus at debian.org
Thu Dec 23 19:53:28 GMT 2021


Source: pygments, ruby-pygments.rb
Control: found -1 pygments/2.10.0+dfsg-1
Control: found -1 ruby-pygments.rb/1.2.1-2
Severity: serious
Tags: sid bookworm
X-Debbugs-CC: debian-ci at lists.debian.org
User: debian-ci at lists.debian.org
Usertags: breaks needs-update

Dear maintainer(s),

With a recent upload of pygments the autopkgtest of ruby-pygments.rb 
fails in testing when that autopkgtest is run with the binary packages 
of pygments from unstable. It passes when run with only packages from 
testing. In tabular form:

                        pass            fail
pygments               from testing    2.10.0+dfsg-1
ruby-pygments.rb       from testing    1.2.1-2
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of pygments to 
testing [1]. Due to the nature of this issue, I filed this bug report 
against both packages. Can you please investigate the situation and 
reassign the bug to the right package?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=pygments

https://ci.debian.net/data/autopkgtest/testing/amd64/r/ruby-pygments.rb/17802854/log.gz


┌──────────────────────────────────────────────────────────────────────────────┐
│ Checking Rubygems dependency resolution on ruby2.7 
        │
└──────────────────────────────────────────────────────────────────────────────┘

NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It 
will be removed in Rubygems 4
Gem::Specification#has_rdoc= called from pygments.rb.gemspec.gem2deb:15.
GEM_PATH= ruby2.7 -e gem\ \"pygments.rb\"

┌──────────────────────────────────────────────────────────────────────────────┐
│ Run tests for ruby2.7 from debian/ruby-tests.rake 
        │
└──────────────────────────────────────────────────────────────────────────────┘

mv lib ./.gem2deb.lib
RUBYLIB=. GEM_PATH= ruby2.7 -S rake -f debian/ruby-tests.rake
/usr/bin/ruby2.7 -w -I"test" 
/usr/share/rubygems-integration/all/gems/rake-13.0.3/lib/rake/rake_test_loader.rb 
"test/test_pygments.rb" -v
/tmp/autopkgtest-lxc.w3sdlnr1/downtmp/build.2uD/src/test/test_pygments.rb:89: 
warning: assigned but unused variable - code
Loaded suite 
/usr/share/rubygems-integration/all/gems/rake-13.0.3/lib/rake/rake_test_loader
Started
PygmentsConfigTest:   test_filters:						.: (0.256212)
   test_formatters:					.: (0.005894)
   test_lexers:						.: (0.002138)
   test_styles:						.: (0.000682)
PygmentsCssTest:   test_css:						.: (0.001871)
   test_css_colorful:					.: (0.001783)
   test_css_default:					.: (0.001030)
   test_css_options:					.: (0.001042)
   test_css_prefix:					.: (0.001095)
   test_css_prefix_and_options:				.: (0.001029)
PygmentsHighlightTest:   test_full_html_highlight:				.: (0.115936)
   test_full_table_highlight:				F
===============================================================================
Failure: test_full_table_highlight(PygmentsHighlightTest)
/tmp/autopkgtest-lxc.w3sdlnr1/downtmp/build.2uD/src/test/test_pygments.rb:32:in 
`test_full_table_highlight'
      29:   def test_full_table_highlight
      30:     code = P.highlight(RUBY_CODE, :options => {:linenos => true})
      31:     assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
   => 32:     assert_equal "<table class=\"highlighttable\"><tr><td 
class=\"linenos\"><div class=\"linenodiv\"><pre>1\n2</pre></div></td><td 
class=\"code\"><div class=\"highlight\"><pre><span></span><span 
class=\"ch\">#!/usr/bin/ruby</span>\n<span class=\"nb\">puts</span> 
<span 
class=\"s1\">'foo'</span>\n</pre></div>\n</td></tr></table>", code
      33:   end
      34:      35:   def test_highlight_works_with_larger_files
<"<table class=\"highlighttable\"><tr><td class=\"linenos\"><div 
class=\"linenodiv\"><pre>1\n" +
"2</pre></div></td><td class=\"code\"><div 
class=\"highlight\"><pre><span></span><span 
class=\"ch\">#!/usr/bin/ruby</span>\n" +
"<span class=\"nb\">puts</span> <span class=\"s1\">'foo'</span>\n" +
"</pre></div>\n" +
"</td></tr></table>"> expected but was
<"<table class=\"highlighttable\"><tr><td class=\"linenos\"><div 
class=\"linenodiv\"><pre><span class=\"normal\">1</span>\n" +
"<span class=\"normal\">2</span></pre></div></td><td class=\"code\"><div 
class=\"highlight\"><pre><span></span><span 
class=\"ch\">#!/usr/bin/ruby</span>\n" +
"<span class=\"nb\">puts</span> <span class=\"s1\">'foo'</span>\n" +
"</pre></div>\n" +
"</td></tr></table>">

diff:
? <table class="highlighttable"><tr><td class="linenos"><div 
class="linenodiv"><pre><span class="normal">1</span>
? <span class="normal">2</span></pre></div></td><td class="code"><div 
class="highlight"><pre><span></span><span class="ch">#!/usr/bin/ruby</span>
   <span class="nb">puts</span> <span class="s1">'foo'</span>
   </pre></div>
   </td></tr></table>
===============================================================================
: (0.040280)
   test_highlight_defaults_to_html:			.: (0.002654)
   test_highlight_formatter_bbcode:			.: (0.002273)
   test_highlight_formatter_terminal:			.: (0.002109)
   test_highlight_on_multi_threads:			.: (1.895618)
   test_highlight_options:				.: (0.002781)
   test_highlight_still_works_with_invalid_code:		.: (0.046907)
   test_highlight_works_on_utf8:				.: (0.001243)
   test_highlight_works_on_utf8_all_chars_automatically:	.: (0.001186)
   test_highlight_works_on_utf8_automatically:		.: (0.001127)
   test_highlight_works_with_larger_files:		.: (0.260678)
   test_highlight_works_with_multiple_newlines:		.: (0.002514)
   test_highlight_works_with_multiple_utf8:		.: (0.001222)
   test_highlight_works_with_multiple_utf8_and_trailing_newline:	.: 
(0.001248)
   test_highlight_works_with_null_bytes:			.: (0.001208)
   test_highlight_works_with_single_character_input:	.: (0.020496)
   test_highlight_works_with_trailing_cr:		.: (0.002364)
   test_highlight_works_with_trailing_newline:		.: (0.002217)
PygmentsLexerClassTest:   test_find:						.: (0.010705)
   test_find_by_alias:					.: (0.000189)
   test_find_by_name:					.: (0.000156)
   test_find_lexer_by_extname:				.: (0.000201)
   test_find_lexer_by_mimetype:				.: (0.000129)
PygmentsLexerTest:   test_lexer_by_content:				F
===============================================================================
Failure: test_lexer_by_content(PygmentsLexerTest)
/tmp/autopkgtest-lxc.w3sdlnr1/downtmp/build.2uD/src/test/test_pygments.rb:197:in 
`test_lexer_by_content'
      194:   end
      195:      196:   def test_lexer_by_content
   => 197:     assert_equal 'rb', P.lexer_name_for(RUBY_CODE)
      198:   end
      199:      200:   def test_lexer_by_nothing
<"rb">(UTF-8) expected but was
<"ruby">(ASCII-8BIT)

diff:
? ruby
   ? Encoding: UTF  -8   ?           ASCII  BIT
===============================================================================
: (0.006267)
   test_lexer_by_filename:				F
===============================================================================
Failure: test_lexer_by_filename(PygmentsLexerTest)
/tmp/autopkgtest-lxc.w3sdlnr1/downtmp/build.2uD/src/test/test_pygments.rb:182:in 
`test_lexer_by_filename'
      179:   end
      180:      181:   def test_lexer_by_filename
   => 182:     assert_equal 'rb', P.lexer_name_for(:filename => 'test.rb')
      183:     assert_equal 'scala', P.lexer_name_for(:filename => 
'test.scala')
      184:   end
      185: <"rb">(UTF-8) expected but was
<"ruby">(ASCII-8BIT)

diff:
? ruby
   ? Encoding: UTF  -8   ?           ASCII  BIT
===============================================================================
: (0.061787)
   test_lexer_by_filename_and_content:			F
===============================================================================
Failure: test_lexer_by_filename_and_content(PygmentsLexerTest)
/tmp/autopkgtest-lxc.w3sdlnr1/downtmp/build.2uD/src/test/test_pygments.rb:193:in 
`test_lexer_by_filename_and_content'
      190:   end
      191:      192:   def test_lexer_by_filename_and_content
   => 193:     assert_equal 'rb', P.lexer_name_for(RUBY_CODE, :filename 
=> 'test.rb')
      194:   end
      195:      196:   def test_lexer_by_content
<"rb">(UTF-8) expected but was
<"ruby">(ASCII-8BIT)

diff:
? ruby
   ? Encoding: UTF  -8   ?           ASCII  BIT
===============================================================================
: (0.008853)
   test_lexer_by_mimetype:				F
===============================================================================
Failure: test_lexer_by_mimetype(PygmentsLexerTest)
/tmp/autopkgtest-lxc.w3sdlnr1/downtmp/build.2uD/src/test/test_pygments.rb:177:in 
`test_lexer_by_mimetype'
      174:   RUBY_CODE = "#!/usr/bin/ruby\nputs 'foo'"
      175:      176:   def test_lexer_by_mimetype
   => 177:     assert_equal 'rb', P.lexer_name_for(:mimetype => 
'text/x-ruby')
      178:     assert_equal 'json', P.lexer_name_for(:mimetype => 
'application/json')
      179:   end
      180: <"rb">(UTF-8) expected but was
<"ruby">(ASCII-8BIT)

diff:
? ruby
   ? Encoding: UTF  -8   ?           ASCII  BIT
===============================================================================
: (0.006057)
   test_lexer_by_name:					F
===============================================================================
Failure: test_lexer_by_name(PygmentsLexerTest)
/tmp/autopkgtest-lxc.w3sdlnr1/downtmp/build.2uD/src/test/test_pygments.rb:187:in 
`test_lexer_by_name'
      184:   end
      185:      186:   def test_lexer_by_name
   => 187:     assert_equal 'rb', P.lexer_name_for(:lexer => 'ruby')
      188:     assert_equal 'python', P.lexer_name_for(:lexer => 'python')
      189:     assert_equal 'c', P.lexer_name_for(:lexer => 'c')
      190:   end
<"rb">(UTF-8) expected but was
<"ruby">(ASCII-8BIT)

diff:
? ruby
   ? Encoding: UTF  -8   ?           ASCII  BIT
===============================================================================
: (0.002949)
   test_lexer_by_nothing:				.: (0.002936)
PygmentsValidityTest:   test_add_ids_on_empty_string:				.: (0.000176)
   test_add_ids_with_padding:				.: (0.000093)
   test_add_ids_with_starting_slashes:			.: (0.000110)
   test_add_ids_with_unicode_data:			.: (0.000093)
   test_get_fixed_bits_from_header:			.: (0.000117)
   test_get_fixed_bits_from_header_works_with_large_headers:	.: (0.000178)
   test_size_check:					.: (0.000098)
   test_size_check_bad:					.: (0.000091)

Finished in 2.782595741 seconds.
-------------------------------------------------------------------------------
48 tests, 88 assertions, 6 failures, 0 errors, 0 pendings, 0 omissions, 
0 notifications
87.5% passed
-------------------------------------------------------------------------------
17.25 tests/s, 31.63 assertions/s
rake aborted!
Command failed with status (1): [ruby -w -I"test" 
/usr/share/rubygems-integration/all/gems/rake-13.0.3/lib/rake/rake_test_loader.rb 
"test/test_pygments.rb" -v]
/usr/share/rubygems-integration/all/gems/rake-13.0.3/exe/rake:27:in 
`<top (required)>'
Tasks: TOP => default
(See full trace by running task with --trace)
mv ./.gem2deb.lib lib
autopkgtest [05:01:27]: test gem2deb-test-runner

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20211223/2117d059/attachment-0001.sig>


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