设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

RubySpec重生:破茧成蝶

2015-7-30 22:04| 发布者: joejoe0332| 查看: 972| 评论: 0|原作者: eregon.github.io|来自: eregon.github.io

摘要: RubySpec 现在由 ruby/rubyspec 和 MRI, JRuby, Opal,各种独立开发者积极维护着。欢迎越来越多的 RubySpec 贡献者。

RubySpec 现在由 ruby/rubyspec  MRI, JRuby, Opal,各种独立开发者积极维护着。欢迎越来越多的 RubySpec 贡献者。


在 12 月 31 日这一天...


@brixen,RubySpec 的主要贡献者,决定终结这个 RubySpec 项目。虽然停止维护这个项目是可以理解的,但是完全终结却是有些过分了。


几天后,@headius 在 ruby-core 开启了关于 “Ruby 未来测试套件”  的讨论。参与者一致同意 RubySpec 和 MRI 测试套件都是很有价值的,都有各自的特色,是互补的。跟不同 Ruby 实现的贡献者交流之后,就有计划的想为 RubySpec 振兴而进行一些合作。


把 RubySpec 提上日程


自从 MRI 1.9.2 版本之后,MRI 就运行了 RubySpec。但是由于一些意见分歧,RubySpec 有了好几个 forks。这些 forks 由 MRI 提交者在所有支持 MRI 的版本上维护,但是并没有合并到 upstream。


第一步是合并  rubyspec/rubyspec 和 MRI fork。


@anthonycrumley 开始修复大量不兼容 MRI 的规范。@nurse 和 @hsbt 为 ruby/rubyspec 提供新的库。最后 @eregon 进行了实际的合并 (of 1426 commits!) 修复了 MRI 所有支持版本的规范 (2.0.0 – trunk)。


最后结果是,我们有了一个集成了所有重要 forks 的 RubySpec,完全兼容参考实现,可以在许多其他平台上运行。


与其他实现协作


RubySpec 的目标是定义一个精确,可运行的 Ruby 编程语言规范。这是一个具有挑战性的任务,也非常有意义!

JRuby 使用 RubySpec 很多年了,需要用一个有效的方式来回馈 RubySpec。JRuby+Truffle,JRuby 后端,同时可以使用 RbuySpec 扩展。

Opal 已经开始使用 RubySpec,并且提供几千个规范示例。

同时也向 Rubinius 发出了贡献邀请


贡献

常规贡献方式:

  • 改进现有规范

  • 为当前未指定的方法编写规范 

  • 为新 Ruby 特性编写规范


如果不知道怎么做,可以创建一个 issue 来提问:


1
2
3
4
5
describe "RubySpec.new" do
  it "is a path to more compatible rubies" do
    contribute.and(the_future.of(Ruby)).should == :bright
  end
end


via eregon.github.io


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部