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 来提问:

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

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
数据采集 API Python
这个春天,淄博烧烤成了新晋“顶流”
如何使用python爬取抖音热门数据
这个春天,淄博烧烤成了新晋“顶流”
回首2022,烟火如常,布衣剩饭,啥也没干,年终总结,蹈海难酬
开篇明义,2022年,我啥也没干,或者说的更准确一些,啥也没干成,没有什么值得拿出来凡尔赛一下的事情,或者可以满足一下虚荣心的成就,300多个日夜里,就是日复一日的起床、上班、讲课、下班、吃饭、睡觉。有什么可总结的呢?
回首2022,烟火如常,布衣剩饭,啥也没干,年终总结,蹈海难酬
|
容灾 分布式数据库 数据库
星光不问赶路人,感恩有你 1 路同行!
OceanBase 取得了哪些小成绩?快来跟我一起解锁吧
星光不问赶路人,感恩有你 1 路同行!
|
弹性计算 云计算
当九年义务教育的精英,遇上十年寒窗苦读的翘楚,必将擦出耀眼的火花!
这一组古今搭档,因为语言差异,总是能逗的人捧腹大笑,这不,美好的一天又开始了~
当九年义务教育的精英,遇上十年寒窗苦读的翘楚,必将擦出耀眼的火花!
|
人工智能 运维 算法
后5G时代,路在何方?
关于5G新阶段的思考。
|
新零售 供应链 双11
比肩雪梨张大奕,网红于momo身边有个秘密武器
10月25日,刚忙完淘宝店店庆的于MOMO抽空飞到深圳。她不是来拍照,也不是来工厂看订单,而是参加福布斯中国举办的活动。作为优秀创业者,她入选了2017福布斯中国30位30岁以下精英榜。 在各自不同的领域,这些上榜的年轻人们正在用自己的力量改变世界。
2637 0
|
Java C++
做决定,怎能让“自己”缺席
【来信】   贺老师,您好,我在一次有目的的搜索中发现了您给大二软件工程学生解答的问题。仔细阅读后,决定写信给您。
1363 0