<div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">If you use eunit, you can:<br>
 - Write internal test functions that are automatically exported<br>
   (you don't have to write -export() declarations for them), but<br>
   which disappear when you compile with testing disabled.<br></blockquote></div><div><br>Do
you happen to know how this is implemented?  I confess this actually
sounds a whole lot like the macro compile solution suggested earlier,
but I'm curious whether someone else has found a different way.<br>
<br><br><br><br> </div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 - Put external test functions for x.erl in a module x_tests.erl<br>
   and they will be run automatically when module x is tested.<br></blockquote></div><div><br>Yeah, I've already got that running in mine.  :)<br><br><br><br><br> </div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


 - Do a lot of neat stuff rather easily.<br>
</blockquote></div><div><br>I'd appreciate someone else's perspective
on what exactly constitutes "neat" from the perspective of a testing
suite.  The reason I'm implementing my own is to get some functionality
that I haven't found in any other erlang test suites (with the
exception of a commercial suite, but Mine Shall Be Free (tm)).<br>
<br><br><br><br> </div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">If you prefer not to use eunit, you can still use similar conventions,<br>


and use conditional compilation to decide whether internal test<br>
functions should be compiled and exported or be excluded completely,<br>
while the tests for the external interface are kept in another module.<br>
I think that's the best you can hope for.<br>
</blockquote></div><br>Maybe so.  Admittedly, I'm now getting really really into the idea of selective export, as it provides me a much better way.