Author: atagar
Date: 2013-03-09 06:41:12 +0000 (Sat, 09 Mar 2013)
New Revision: 26098
Modified:
website/trunk/getinvolved/en/volunteer.wml
Log:
Adding a project to expand stem's tests to more dedicatedly test tor
This is a project that I have been batting around with Nick for a bit. It
doesn't include the 'grand vision' he wants for covering inter-network
components, but it would provide dedicated tests for a very substantial portion
of Tor's codebase.
While I think a more complicated network simulator and testing suite would
yield greater benefits, I also think it would be *vastly* harder to make and
hence quite likely to never happen. Presently our automated testing of Tor is
pretty poor and there's no need to let the perfect be the enemy of the good on
this.
Modified: website/trunk/getinvolved/en/volunteer.wml
===================================================================
--- website/trunk/getinvolved/en/volunteer.wml 2013-03-09 02:40:52 UTC (rev
26097)
+++ website/trunk/getinvolved/en/volunteer.wml 2013-03-09 06:41:12 UTC (rev
26098)
@@ -660,7 +660,8 @@
<p>
<b>Project Ideas:</b><br />
- <i><a href="#stemUsability">Stem Usability and Porting</a></i>
+ <i><a href="#stemUsability">Stem Usability and Porting</a></i><br />
+ <i><a href="#stemTestingForTor">Stem Tests for Tor</a></i>
</p>
<a id="project-txtorcon"></a>
@@ -1694,6 +1695,37 @@
<b>As part of your application for this project please write a script that
does something interesting with stem.</b> Bonus points if this is something
that we can <a href="https://stem.torproject.org/tutorial.html">make a
tutorial</a> around!
</p>
+ <a id="stemTestingForTor"></a>
+ <li>
+ <b>Stem Tests for Tor</b>
+ <br>
+ Effort Level: <i>Medium</i>
+ <br>
+ Skill Level: <i>Medium</i>
+ <br>
+ Likely Mentors: <i>Damian (atagar)</i>
+ <p>
+ Stem is a library for interacting with Tor (see '<a
href="#stemUsability">Stem Usability and Porting</a>' above for a summary). The
library has both <a
href="https://gitweb.torproject.org/stem.git/tree/HEAD:/test/unit">unit</a> and
<a
href="https://gitweb.torproject.org/stem.git/tree/HEAD:/test/integ">integration</a>
tests. The unit tests provide a quick, direct test of stem's codebase while
the integration test exercises its functionality against a live instance of Tor.
+ </p>
+
+ <p>
+ Stem's integration tests have thus far been (unsurprisingly) designed to
test stem but there's no need for them to be limited to that. Stem is a
complete implementation of Tor's <a
href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/control-spec.txt">control-spec</a>
and <a
href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/dir-spec.txt">dir-spec</a>.
As such, stem's tests could be easily expanded to more dedicatedly test
behavior involved in those portions of Tor's codebase, as well as provide a
smoke test for its general functionality.
+ </p>
+
+ <p>
+ This project would involve several components:
+ </p>
+
+ <ol>
+ <li>Determine what kind of tests we need. <b>This should be done during
the application phase</b> by <a
href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev/">contacting
tor-dev@</a>. Hopefully this will give us an idea of what would be the most
useful kind of tests of this nature for Tor development.</li>
+ <li>To be useful our integration tests need to continually run against
the present tip of Tor's codebase. To do this we'll want to (1) fetch and
compile the latest version of Tor, (2) run our integration tests against it,
(3) compose the results as an html formatted email, and send it to a list. (<a
href="https://trac.torproject.org/8261">ticket</a>)</li>
+ <li>Implement the new suite of integration tests for Tor. This will
likely include expanding Tor to support better testability. One useful
candidate, for instance, would be a controller method to fetch our own
descriptor. This would let us easily test various configurations to see if they
provide valid descriptor content.</li>
+ </ol>
+
+ <p>
+ <b>As part of your application for this project please write some code to
expand stem's tests.</b> Bonus points if it impelments one of your suggestions
for better testing Tor!
+ </p>
+
<!--
<a id="tailsServer"></a>
<li>
_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits