rspec/rspec-dev

Yard documentation check isn't working on 2.7.0

Closed this issue · 2 comments

On Ruby 2.7.0 there is an incompatibility with our version of YARD, this causes:

bin/yard stats --list-undoc
Traceback (most recent call last):
	64: from bin/yard:14:in `<main>'
	63: from bin/yard:14:in `load'
	62: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/bin/yard:13:in `<top (required)>'
	61: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/cli/command_parser.rb:54:in `run'
	60: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/cli/command_parser.rb:72:in `run'
	59: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/cli/command.rb:14:in `run'
	58: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/cli/stats.rb:40:in `run'
	57: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard.rb:20:in `parse'
	56: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/source_parser.rb:113:in `parse'
	55: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/logging.rb:182:in `enter_level'
	54: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/source_parser.rb:114:in `block in parse'
	53: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/source_parser.rb:371:in `parse_in_order'
	52: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/source_parser.rb:45:in `parse'
	51: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/logging.rb:82:in `capture'
	50: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/source_parser.rb:46:in `block in parse'
	49: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/source_parser.rb:443:in `parse'
	48: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/source_parser.rb:497:in `post_process'
	47: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:111:in `process'
	46: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:111:in `each_with_index'
	45: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:111:in `each'
	44: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:112:in `block in process'
	43: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:112:in `each'
	42: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:114:in `block (2 levels) in process'
	41: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/ruby/class_condition_handler.rb:23:in `block in <class:ClassConditionHandler>'
	40: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/ruby/class_condition_handler.rb:84:in `parse_then_block'
	39: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/ruby/base.rb:136:in `parse_block'
	38: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/base.rb:387:in `push_state'
	37: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/ruby/base.rb:138:in `block in parse_block'
	36: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:111:in `process'
	35: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:111:in `each_with_index'
	34: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:111:in `each'
	33: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:112:in `block in process'
	32: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:112:in `each'
	31: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:114:in `block (2 levels) in process'
	30: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/ruby/class_handler.rb:27:in `block in <class:ClassHandler>'
	29: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/ruby/base.rb:136:in `parse_block'
	28: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/base.rb:387:in `push_state'
	27: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/ruby/base.rb:138:in `block in parse_block'
	26: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:111:in `process'
	25: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:111:in `each_with_index'
	24: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:111:in `each'
	23: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:112:in `block in process'
	22: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:112:in `each'
	21: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/processor.rb:114:in `block (2 levels) in process'
	20: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/ruby/comment_handler.rb:8:in `block in <class:CommentHandler>'
	19: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/handlers/base.rb:453:in `register_docstring'
	18: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/docstring_parser.rb:119:in `parse'
	17: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/docstring_parser.rb:320:in `call_directives_after_parse'
	16: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/docstring_parser.rb:320:in `each'
	15: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/tags/directives.rb:369:in `after_parse'
	14: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/tags/directives.rb:417:in `create_object'
	13: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/tags/directives.rb:417:in `new'
	12: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/tags/overload_tag.rb:10:in `initialize'
	11: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/tags/overload_tag.rb:59:in `parse_signature'
	10: from /home/travis/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
	 9: from /home/travis/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
	 8: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/ruby/legacy/token_list.rb:2:in `<top (required)>'
	 7: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/ruby/legacy/token_list.rb:3:in `<module:YARD>'
	 6: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/ruby/legacy/token_list.rb:4:in `<module:Legacy>'
	 5: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/ruby/legacy/token_list.rb:5:in `<class:TokenList>'
	 4: from /home/travis/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
	 3: from /home/travis/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
	 2: from /home/travis/build/rspec/bundle/ruby/2.7.0/gems/yard-0.9.20/lib/yard/parser/ruby/legacy/ruby_lex.rb:1:in `<top (required)>'
	 1: from /home/travis/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
/home/travis/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- e2mmap (LoadError)
Traceback (most recent call last):
	1: from -e:8:in `<main>'
-e:8:in `Float': can't convert nil into Float (TypeError)

It is currently suppressed but should be restored when it can... of interest is:

require': cannot load such file -- e2mmap (LoadError)
pirj commented

Seems to be related to this lsegal/yard#1296

Yard has been released with the patch https://github.com/lsegal/yard/releases/tag/v0.9.21

In rspec-core:

$ bin/yard stats --list-undoc                                                                                                                 
Files:          33
Modules:        18 (    0 undocumented)
Classes:        36 (    0 undocumented)
Constants:       5 (    0 undocumented)
Attributes:     85 (    0 undocumented)
Methods:       252 (    0 undocumented)
 100.00% documented