Not sure if this is a bug, but it doesn&#39;t match the documentation <a href="http://docs.racket-lang.org/plai/plai-scheme.html?q=text/exn&amp;q=provide&amp;q=string-join&amp;q=error&amp;q=repeat&amp;q=string&amp;q=replace&amp;q=define#(form._((lib._plai/main..rkt)._test/exn))">here</a>. It says test/exn only succeeds when the error is explicitly raised by the user, but I try something as simple as:<div>

<br><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">&quot;file1.rkt&quot;</span></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(provide foo)</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(define (foo) (error &quot;hello&quot;))</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">&quot;file2.rkt&quot;</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(require plai &quot;file1.rkt&quot;)</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(test/exn (foo) &quot;hello&quot;)</font></div></blockquote><div><br></div><div>and the test fails with &quot;no expected value&quot;. I can even replace &quot;hello&quot; with a call to error, and see that that argument is never evaluated. So by user-written code, I&#39;m assuming they mean code contained in the same module. Or am I missing something fundamental about Racket&#39;s idea of &quot;user-written code&quot;?</div>

<div><br>Jeremy<br>
</div></div>