Aren&#39;t we running (or going to be running) the official spec suite (<a href="http://rubyspec.org">http://rubyspec.org</a>) ?<br><br>These specs are already written on the assumption that MRI /is/ THE implementation of Ruby.<br>
<br><div class="gmail_quote">On Wed, May 14, 2008 at 9:55 AM, Unnikrishnan Nair &lt;<a href="mailto:ksunair@yahoo.com">ksunair@yahoo.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">Hi Pete,<br><br>I was kind of doing what you are saying but manually though. But after seeing the specs, I stopped doing it altogether. <br>
<br>I wrote down the test and display the result on the console with puts. Now run the script with &#39;ruby&#39; on console and redirect the output to a file (not MRI, I need to change based on what I hear) and then run the same code against ir and do the same. After that I run my file compare program and see the differences. <br>
<br>So it is possible to automate what you are suggesting, but don&#39;t you think&nbsp; the spec was already written to cover all the cases? Wouldn&#39;t it be a duplicate work? Just curious...<br><br>Thanks.<br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">
<div class="Ih2E3d">----- Original Message ----<br>From: Peter Bacon Darwin &lt;<a href="mailto:bacondarwin@googlemail.com" target="_blank">bacondarwin@googlemail.com</a>&gt;<br>To: <a href="mailto:ironruby-core@rubyforge.org" target="_blank">ironruby-core@rubyforge.org</a><br>
</div><div class="Ih2E3d">Sent: Wednesday, May 14, 2008 6:41:43 AM<br>Subject: Re: [Ironruby-core] changes to extname_spec.rb<br><br></div><div><div></div><div class="Wj3C7c">
I have been working on the basis that MRI is the reference implementation<br>and so the specs should reflect that.&nbsp; If, on writing a spec, an obvious bug<br>is exposed then we should be sending this on to the RubyLang lot and getting<br>
them to fix it.<br><br>Otherwise if it&#39;s good enough for MRI its good enough for me.<br><br>---<br><br>By the way, I had this idea of creating a small program that would help with<br>regression testing against MRI.&nbsp; Instead of writing full RSpecs, we should<br>
write snippets of Ruby that work the classes.&nbsp; The program would then run<br>the snippets against MRI and IronRuby (and any other implementation if you<br>wanted) and compare the results.&nbsp; That way you could directly check how<br>
similar IR was to MRI without having to fix up the specs all the time.&nbsp; Also<br>it would be much quicker and easier to write the specs since you wouldn&#39;t<br>have to check what the correct result should be in each
 case.<br><br>For instance, you could have the following snippets of code for the<br>Fixnum#div method:<br><br>&nbsp; &nbsp; 2.div(2)<br>&nbsp; &nbsp; 1.div(2)<br>&nbsp; &nbsp; 5.div(2)<br><br>&nbsp; &nbsp; 8192.div(10)<br>&nbsp; &nbsp; 8192.div(-10)<br>&nbsp; &nbsp; (-8192).div(10)<br>
&nbsp; &nbsp; (-8192).div(-10)<br><br>&nbsp; &nbsp; 1.div(0.2)<br>&nbsp; &nbsp; 1.div(0.16)<br>&nbsp; &nbsp; 1.div(0.169)<br>&nbsp; &nbsp; -1.div(50.4)<br>&nbsp; &nbsp; 1.div(0xffffffff)<br>&nbsp; <br>&nbsp; &nbsp; 0.div(0.0)<br>&nbsp; &nbsp; 10.div(0.0)<br>&nbsp; &nbsp; -10.div(0.0)<br>&nbsp; &nbsp; 13.div(0)<br>&nbsp; &nbsp; (obj = Object.new).should_receive(:to_int, :count =&gt; 0, :returning =&gt;<br>
10)<br>&nbsp; &nbsp; 13.div(obj)<br>&nbsp; &nbsp; 5.div(&quot;2&quot;)<br><br>Obviously with some description mechanism and possibly some way of<br>specifying what should be considered in the output from Ruby: whether to<br>check the class and value of results returned; type and
 fields of objects<br>passed in; if errors are raised the type and message of the error.<br><br>Anyone fancy knocking this up?<br>Pete<br><br><br>-----Original Message-----<br>From: <a href="mailto:ironruby-core-bounces@rubyforge.org" target="_blank">ironruby-core-bounces@rubyforge.org</a><br>
[mailto:<a href="mailto:ironruby-core-bounces@rubyforge.org" target="_blank">ironruby-core-bounces@rubyforge.org</a>] On Behalf Of Alex Young<br>Sent: Wednesday,14 May 14, 2008 11:44<br></div></div><div class="Ih2E3d">To: <a href="mailto:ironruby-core@rubyforge.org" target="_blank">ironruby-core@rubyforge.org</a><br>
</div><div><div></div><div class="Wj3C7c">Subject: Re: [Ironruby-core] changes to extname_spec.rb<br><br>Unnikrishnan Nair wrote:<br>&gt; One more spec change. Could you please review line 8 of this spec, it <br>&gt; should read<br>
&gt; <br>&gt;&nbsp; &nbsp;  File.extname(&quot;.bashrc&quot;).should == &quot;.bashrc&quot;<br>&gt; <br>&gt;
 instead of<br>&gt; <br>&gt;&nbsp; &nbsp;  File.extname(&quot;.bashrc&quot;).should == &quot;&quot;<br>Quick question:&nbsp; are the specs supposed to ensure that IronRuby matches <br>MRI&#39;s behaviour, or just that it&#39;s internally consistent?&nbsp; I get this in <br>
MRI&#39;s IRB:<br><br>irb(main):001:0&gt; File.extname(&quot;.bashrc&quot;)<br>=&gt; &quot;&quot;<br><br>Also in YARV:<br><br>irb(main):002:0&gt; File.extname(&quot;.bashrc&quot;)<br>=&gt; &quot;&quot;<br><br>-- <br>Alex<br>
_______________________________________________<br>Ironruby-core mailing list<br><a href="mailto:Ironruby-core@rubyforge.org" target="_blank">Ironruby-core@rubyforge.org</a><br><a href="http://rubyforge.org/mailman/listinfo/ironruby-core" target="_blank">http://rubyforge.org/mailman/listinfo/ironruby-core</a><br>
<br>_______________________________________________<br>Ironruby-core mailing list<br><a href="mailto:Ironruby-core@rubyforge.org" target="_blank">Ironruby-core@rubyforge.org</a><br><a href="http://rubyforge.org/mailman/listinfo/ironruby-core" target="_blank">http://rubyforge.org/mailman/listinfo/ironruby-core</a><br>
</div></div></div></div></div></div><br>_______________________________________________<br>
Ironruby-core mailing list<br>
<a href="mailto:Ironruby-core@rubyforge.org">Ironruby-core@rubyforge.org</a><br>
<a href="http://rubyforge.org/mailman/listinfo/ironruby-core" target="_blank">http://rubyforge.org/mailman/listinfo/ironruby-core</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Michael Letterle<br>[Polymath Prokrammer]<br><a href="http://blog.prokrams.com">http://blog.prokrams.com</a><br><br>