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

Reply via email to