# Syncing RubySpec and mspec

**URL:** <https://www.ruby-forum.com/t/syncing-rubyspec-and-mspec/190847>\
**Category:** IronRuby\
**Created:** [June 29, 2010, 6:22am UTC](https://www.ruby-forum.com/t/syncing-rubyspec-and-mspec/190847 "2010-06-29T06:22:17Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [June 29, 2010, 6:22am UTC](https://www.ruby-forum.com/t/syncing-rubyspec-and-mspec/190847/1 "2010-06-29T06:22:17Z")

</div>

Hey all!

I’ve been talking with Jim via email about helping with syncing  
IronRuby’s  
copy of RubySpec and mspec with the official repos. I’v started work on  
pulling in the latest RubySpec changes. These also require the latest  
mspec.  
Well, it looks like the default.mspec file is no longer compatible with  
the  
latest version of mspec.

My integration branch is here:  
[http://github.com/hotgazpacho/ironruby/tree/from-rubyspec](http://github.com/hotgazpacho/ironruby/tree/from-rubyspec)  
And the errors I’m getting when running mspec are here:

> <https://gist.github.com/hotgazpacho/456772>

I have very little knowledge of mspec, and googling for the error brings  
up  
older posts from this list saying not to use that version of mspec. So,  
maybe someone who knows more about it could take a look?

Thanks!

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [June 30, 2010, 4:25am UTC](https://www.ruby-forum.com/t/syncing-rubyspec-and-mspec/190847/2 "2010-06-30T04:25:52Z")

</div>

That did it. I’ll have to be more careful with merging that particular  
file  
in the future.

Now, how do I go about updating the tags? Is it the following, or do I  
need  
to go through some specs manually?

C:\Users\Will\dev\ironruby\External.LCA\_RESTRICTED\Languages\IronRuby\mspec\>mspec  
tag rubyspec

BTW, I get a StackOverflowException on of of the specs, which kills the  
spec  
run before they all finish. :-/

–  
Will G.  
[http://hotgazpacho.org/](http://hotgazpacho.org/)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [June 30, 2010, 1:32am UTC](https://www.ruby-forum.com/t/syncing-rubyspec-and-mspec/190847/3 "2010-06-30T01:32:03Z")

</div>

Inside of the MSpec in our tree, I have added a filtered method to  
External.LCA\_RESTRICTED/Languages/IronRuby/mspec/mspec/lib/mspec/utils/script.rb  
(I believe). Youâ€™ll need to get that method merged into your branch to  
user our config.

JD

From: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Monday, June 28, 2010 9:17 PM  
To: ironruby-core  
Subject: [Ironruby-core] Syncing RubySpec and mspec

Hey all!

I’ve been talking with Jim via email about helping with syncing  
IronRuby’s copy of RubySpec and mspec with the official repos. I’v  
started work on pulling in the latest RubySpec changes. These also  
require the latest mspec. Well, it looks like the default.mspec file is  
no longer compatible with the latest version of mspec.

My integration branch is here:  
[http://github.com/hotgazpacho/ironruby/tree/from-rubyspec](http://github.com/hotgazpacho/ironruby/tree/from-rubyspec)  
And the errors I’m getting when running mspec are here:

> <https://gist.github.com/hotgazpacho/456772>

I have very little knowledge of mspec, and googling for the error brings  
up older posts from this list saying not to use that version of mspec.  
So, maybe someone who knows more about it could take a look?

Thanks!

–  
Will G.  
[http://hotgazpacho.org/](http://hotgazpacho.org/)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [June 30, 2010, 8:24am UTC](https://www.ruby-forum.com/t/syncing-rubyspec-and-mspec/190847/4 "2010-06-30T08:24:00Z")

</div>

So, the tags are of 3 classes:

Â· Fails: delete and regenerate (below)

Â· Unstable and thread: leave these alone. They indicate ones  
that are non-deterministic

Â· Critical: these indicate specs that cause hangs, process  
teardown, or corrupt future tests (I donâ€™t think we have any of this  
last one anymore). These must be looked at one by one to see if they  
still cause a hang, etc. If they do, leave them. If the test  
successfully fails or passes, you can delete the critical tag and allow  
it to run as part of the normal regeneration  
For the rest, you are pretty much right. After doing the above (note,  
probably use grep to find what files to keep (last 2 points) and delete  
all other files) run the command:  
mspec tag -Gcritical -Gunstable -Gthread for whatever break up of  
Areas you want. In the past Iâ€™ve broken down to folder level  
(core/array, core/dir, etc.), but you should be good just breaking it  
down to :core, :lib, :lang, :thread and :cli. This command regenerates  
the new fails tags and creates the necessary folder structure.

Finally, run mspec ci which should give a clean pass. If you want to  
parallelize it, you can kick off mspec ci :core, mspec ci :lib, etc and  
let each section run on its own. These should have clean runs.

JD

From: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Tuesday, June 29, 2010 7:19 PM  
To: removed\_email\_address@domain.invalid  
Subject: Re: [Ironruby-core] Syncing RubySpec and mspec

That did it. I’ll have to be more careful with merging that particular  
file in the future.

Now, how do I go about updating the tags? Is it the following, or do I  
need to go through some specs manually?

C:\Users\Will\dev\ironruby\External.LCA\_RESTRICTED\Languages\IronRuby\mspec\>mspec  
tag rubyspec

BTW, I get a StackOverflowException on of of the specs, which kills the  
spec run before they all finish. :-/

–  
Will G.  
[http://hotgazpacho.org/](http://hotgazpacho.org/)

On Tue, Jun 29, 2010 at 7:31 PM, Jim D.  
\<removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Inside of the MSpec in our tree, I have added a filtered method to  
External.LCA\_RESTRICTED/Languages/IronRuby/mspec/mspec/lib/mspec/utils/script.rb  
(I believe). Youâ€™ll need to get that method merged into your branch to  
user our config.

JD

From:  
removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Will G.  
Sent: Monday, June 28, 2010 9:17 PM  
To: ironruby-core  
Subject: [Ironruby-core] Syncing RubySpec and mspec

Hey all!

I’ve been talking with Jim via email about helping with syncing  
IronRuby’s copy of RubySpec and mspec with the official repos. I’v  
started work on pulling in the latest RubySpec changes. These also  
require the latest mspec. Well, it looks like the default.mspec file is  
no longer compatible with the latest version of mspec.

My integration branch is here:  
[http://github.com/hotgazpacho/ironruby/tree/from-rubyspec](http://github.com/hotgazpacho/ironruby/tree/from-rubyspec)  
And the errors I’m getting when running mspec are here:

> <https://gist.github.com/hotgazpacho/456772>

I have very little knowledge of mspec, and googling for the error brings  
up older posts from this list saying not to use that version of mspec.  
So, maybe someone who knows more about it could take a look?

Thanks!

–  
Will G.  
[http://hotgazpacho.org/](http://hotgazpacho.org/)

* * *

Ironruby-core mailing list  
removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)
