<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">

<channel>
<title><![CDATA[Perl 6: Test Suite Refactoring]]></title>
<link>http://www.perlfoundation.org/perl6/index.cgi?test_suite_refactoring</link>
<description></description>
<pubDate>Tue, 16 Dec 2008 23:52:21 -0000</pubDate>
<webMaster>synedra@gmail.com</webMaster>
<generator>Socialtext Workspace v2.14.7.2</generator>

<item>
<title><![CDATA[Test Suite Refactoring]]></title>
<link>http://www.perlfoundation.org/perl6/index.cgi?test_suite_refactoring</link>
<description><![CDATA[<div class="wiki">
<h3 id="notes">Notes:</h3>
<ul>
<li>When you add a new file to pugs or the test suite, you want to run util/add-svn-props.sh on it</li>
</ul>
<ul>
<li>Use &quot;svn mv&quot; rather than &quot;svn cp&quot; or we'll end up with a lot of duplicate effort fixing tests.</li>
</ul>
<ul>
<li>Create smarklinks <a href="http://www.perlfoundation.org/perl6/index.cgi?smart_linking" title="(53 months) Smart Links refer to a special syntax used in the test suite which connect a particular part of a te...">Smart Linking</a> for all tests you add (or refactor, or come across while browsing)</li>
</ul>
<h3 id="test_fudging">Test Fudging</h3>
<p>
The 'fudge' pre-processor allows per-implementation skip/todo markers</p>
<p>
Typical usage in test file:</p>
<pre>
# tests on which an implementation dies:
#?rakudo skip 'NaN not implemented'
is(sqrt(-1), NaN, 'sqrt(-1) is NaN');

# test that just produce the wrong result:
#?rakudo todo 'higher math'
is(2**2, 4, 'power operator works');
</pre>
<br /><h3 id="running_a_single_test_file">Running A single Test File</h3>
<p>
To run a test file (and apply fudging) simply run the below from your perl6 directory:</p>
<pre>
make t/spec/S03-operators/autoincrement.t
</pre>
</div>
]]></description>
<author>eric.hodges@hidden</author>
<guid isPermaLink="true">http://www.perlfoundation.org/perl6/index.cgi?test_suite_refactoring</guid>
<pubDate>Tue, 16 Dec 2008 23:52:21 -0000</pubDate>
</item>

</channel>
</rss>