111 Star 0 Fork 35

src-openEuler / ruby

 / 详情

[openEuler_22.03_LTS-round-1]ruby包下面命令执行报错

已验收
缺陷
创建于  
2022-02-21 15:14

【环境信息】
系统:arrch64,x86_64虚拟机
内存:4g
OS版本:openEuler_22.03_LTS-round-1
【问题复现步骤】
1.安装rubygem-rdoc包,准备一个main.rb文件
2.执行rdoc main.rb --template-stylesheets=main.rb | grep "Parsing sources"
【预期结果】
执行成功无报错,doc下面生成main.rb
输入图片说明
【实际结果】
执行报错,doc下面没有生成main.rb
输入图片说明

评论 (8)

guojuanjuan 创建了缺陷

Hi guojuanjuan, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: sig-ruby, and any of the maintainers: @木得感情的openEuler机器人 , @small_leek , @huanghaitao

openeuler-ci-bot 添加了
 
sig/sig-ruby
标签
guojuanjuan 添加协作者桐小哥
guojuanjuan 计划截止日期设置为2022-02-22
guojuanjuan 计划开始日期设置为2022-02-21
guojuanjuan 取消协作者桐小哥
guojuanjuan 负责人设置为陈亚强
guojuanjuan 添加协作者tianwei

rdoc main.rb --template-stylesheets=main.rb --debug可以查看报错堆栈
输入图片说明

合入补丁:https://github.com/ruby/ruby/commit/76c7388c1f41fb0ae3dacda0d9c02e7562a6655d
之后报错:no implicit conversion of Array into String
输入图片说明
File.path的输入参数s的类型是Array,可以在传入File.path之前调用puts s.class查看s的类型:
输入图片说明
下载安装ruby-2.5.8版本的rdoc安装测试,可以发现File.path的输入参数s的类型是String.

测试可以发现,src、tmp都是Array,File.path的输入参数s应该是String

桐小哥 负责人陈亚强 修改为未设置
桐小哥 取消协作者tianwei
桐小哥 负责人设置为桐小哥

回合https://github.com/ruby/ruby/commit/76c7388c1f41fb0ae3dacda0d9c02e7562a6655d 补丁即可修复,出现上面合入后测试未修复的原因是当时测试时直接修改本机中的/usr/share/gems/gems/rdoc-6.3.3/lib/rdoc/generator/darkfish.rb文件,然后验证,未经过重编。现只合入该补丁,重新构建出二进制,安装之后问题就消失了。

验证版本:22.03
验证结果:通过
输入图片说明

guojuanjuan 任务状态已完成 修改为已验收

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/src-openeuler/ruby.git
git@gitee.com:src-openeuler/ruby.git
src-openeuler
ruby
ruby

搜索帮助