Bug 53512

Summary: Ошибка при импорте em-spec/bacon или em-spec/rspec
Product: Sisyphus Reporter: Богдан Богуславский <boguslavskijbj>
Component: gem-em-specAssignee: majioa <majioa>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: 3aHyga, majioa
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Богдан Богуславский 2025-03-18 17:05:11 MSK
Стенды:
ALT Workstation K 11.0 (Обновленный до Sisyphus)
ALT Workstation 11.0 (Обновленный до Sisyphus)
ALT Server 11.0 (Обновленный до Sisyphus)

Версия пакета:
gem-em-spec-0.2.7-alt1.noarch

Шаги воспроизведения:
1. Создать файл test.rb:
$ cat > test.rb << EOF
require 'em-spec/bacon'
EOF
2. Запустить файл:
$ ruby test.rb

Ожидаемый результат: успешный импорт, вывод в терминале отсутствует

Реальный результат: ошибка в терминале после запуска:
/usr/lib/ruby/gemie/gems/em-spec-0.2.7/lib/em-spec/bacon.rb:49:in `<top (required)>': uninitialized constant Bacon (NameError)

class Bacon::FiberedContext < Bacon::Context
      ^^^^^
        from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:141:in `require'
        from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:141:in `rescue in require'
        from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:135:in `require'
        from test.rb:1:in `<main>'
<internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require': cannot load such file -- em-spec/bacon (LoadError)
        from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require'
        from test.rb:1:in `<main>'

Если импортировать em-spec/rspec, то будет следующая ошибка:
/usr/lib/ruby/gemie/gems/em-spec-0.2.7/lib/em-spec/rspec.rb:10:in `included': uninitialized constant RSpec (NameError)

      ::RSpec::Core::ExampleGroup.instance_eval "
      ^^^^^^^
        from /usr/lib/ruby/gemie/gems/em-spec-0.2.7/lib/em-spec/rspec.rb:60:in `include'
        from /usr/lib/ruby/gemie/gems/em-spec-0.2.7/lib/em-spec/rspec.rb:60:in `<module:Spec>'
        from /usr/lib/ruby/gemie/gems/em-spec-0.2.7/lib/em-spec/rspec.rb:58:in `<module:EventMachine>'
        from /usr/lib/ruby/gemie/gems/em-spec-0.2.7/lib/em-spec/rspec.rb:4:in `<top (required)>'
        from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:141:in `require'
        from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:141:in `rescue in require'
        from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:135:in `require'
        from test.rb:1:in `<main>'
<internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require': cannot load such file -- em-spec/rspec (LoadError)
        from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require'
        from test.rb:1:in `<main>'
Comment 1 Малъ Скрылевъ 2025-03-18 18:18:50 MSK
это не ошибка, т.к. зависимость на bacon является опціональной, а прямая зависимость объявлена https://rubygems.org/gems/em-spec какъ для разработки только.