<p dir="ltr"><br>
On Oct 30, 2012 12:28 AM, &quot;Neil Toronto&quot; &lt;<a href="mailto:neil.toronto@gmail.com">neil.toronto@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On 10/29/2012 02:41 PM, Sam Tobin-Hochstadt wrote:<br>
&gt;&gt;<br>
&gt;&gt; This commit marks a few files that have intermittent failures as<br>
&gt;&gt; randomly failing, and possibly-more-controversially, removes the<br>
&gt;&gt; annotation from some genuinely random tests.  These tests, such as the<br>
&gt;&gt; random test for places, consistently succeed.<br>
&gt;<br>
&gt;<br>
&gt; Does the annotation mean &quot;this test uses randomness&quot; or &quot;this test has a practically nonzero probability of failing&quot;?</p>
<p dir="ltr">The annotation means &quot;if this file fails on a push, don&#39;t email the pusher, just the person responsible for the file&quot;.</p>
<p dir="ltr">Certainly some of the annotated files don&#39;t explicitly use randomness, but nonetheless fail intermittently.</p>
<p dir="ltr">Sam</p>
<p dir="ltr">&gt; Here are a couple of tests that use randomness but always succeed:<br>
&gt;<br>
&gt;   (check-true ((+ (random) 1.0) . &gt;= . 1.0))<br>
&gt;<br>
&gt;   (check-true (let loop ()<br>
&gt;                 (if (zero? (random 10)) #t (loop))))<br>
&gt;<br>
&gt; Here&#39;s one that&#39;s more interesting because its probability of failure is nonzero (about 1/20^19):<br>
&gt;<br>
&gt;   (check-false (= 0 (+ (random 65536)<br>
&gt;                        (random 65536)<br>
&gt;                        (random 65536)<br>
&gt;                        (random 65536))))<br>
&gt;<br>
&gt; Another way to restate my question is, should those tests be marked as random?<br>
&gt;<br>
&gt; Neil ⊥<br>
&gt;<br>
&gt; _________________________<br>
&gt;  Racket Developers list:<br>
&gt;  <a href="http://lists.racket-lang.org/dev">http://lists.racket-lang.org/dev</a><br>
</p>