wiki:AutomationInventory

The following inventory was last updated 2013-08-24. It was current then. Things might have changed since. Methodology was pretty rough: pick the list of all repository on git.torproject.org and have a quick look at each source tree to see if unit and integration tests were easily locatable.

Columns marked with an 'X' do not necessarily mean full coverage, but that there is at least a framework where new tests can be added. Unit means “unit tests”, Regr. means "regression tests", Integ. means “integration tests” and C.I. means “continuous integration” (tests/builds automatically run after each commit).

Repository Description Unit Regr. Integ. C.I. Languages Comments
arm.git Command-line status monitor... Python
atlas.git A web application to discover... JavaScript (web)
brdgrd.git Protects Tor bridges from... C Is brdgrd still useful?
bridgedb.git The bridge distribution database X This test suite runs the old unittests twice, monkeypatching in the old code and the new code rsp., to guarantee compatible behaviour with unchanged code. Fake bridge descriptors are generated with Leekspin for testing purposes. X Python Missing Nagios checks for the reachability of the BridgeDB service on the production server.
There is currently a staging instance (only run while being actively tested) setup on the production server, however, because BridgeDB's email distributor cannot have two instances running on the same server, there is a new dedicated server for the staging instances which needs to be finished being setup.
builders/gitian-builder.git Tor's version of the gitian... Ruby, Shell
builders/tor-browser-bundle.git Build scripts for the Tor... Shell Should the build system itself be tested? Probably just the result…
chutney.git The chutney tool for testing... Python
compass.git Script and website to extract... Python + webdev Also missing a staging environment and Nagios checks
flashproxy.git Browser-based proxy Py, JS, Go Also missing a staging environment and Nagios checks for the facilitator (?)
gettor.git Distributors for the Tor softw... Python Also missing a staging environment and Nagios checks
githax.git Miscellaneous git support... Shell, Perl, Py
metrics-db.git Metrics data processor and... Java Staging? Nagios checks?
metrics-lib.git A Java library that fetches... X Java phased out for Stem
metrics-utils.git Metrics utilities Java, Python Contains ExoneraTor and VisiTor. Repository should be split. ExanoraTor should have a staging environment and Nagios checks
metrics-web.git Metrics website Java + webdev Staging? Nagios checks?
onionoo.git A web-based protocol to learn... X Java Staging? Nagios checks?
ooni-probe.git open observatory of network... X Python C.I done by Travis
ooni/oonib.git open observatory of network... X Python C.I done by Travis. Staging? Nagios checks?
pluggable-transports/bundle.git Pluggable transports browser... Makefile
pluggable-transports/obfsproxy.git Python pluggable transport... X X X Python
pluggable-transports/pyptlib.git Python pluggable transport... X X Python
pyonionoo.git A web-based protocol to learn... Python
stegotorus.git Steganographic stealth proxy... X X C++
stem.git Tor control library for Python X X X Python C.I. also doing integration test for tor control port code
tlsdate.git Learn the current time from... X X C
tor-browser.git The Tor Browser X X C++ TBB patches are breaking some tests
tor-cloud.git Tor images for the cloud Shell
tor-launcher.git tor-launcher component of TBB JavaScript / XUL Might not really be testable outside TBB
tor-ramdisk.git Build system for x86/x86_64... Shell
tor.git Tor's source code X X C C.I. for Linux, Windows, Linux with clang
torbirdy.git Torbutton for Thunderbird... JavaScript / XUL
torbrowser.git Scripts to build the Tor Brows... Shell
torbutton.git Firefox extension for safe... JavaScript / XUL Might not really be tesable outside TBB
tordnsel.git DNS exitlist checker X Haskell
torflow.git Python tools for measuring... X Python Not all components have unit tests
torouter.git Torouter packaging utensils... Shell, Makefile
torperf.git Tor performance evaluation... Python, C
torsocks.git Wrapper to safely torify appli... X C
translation-tools.git tools to manage the translatio... Shell
weather.git Email alerts for Tor relay... Python Also missing a staging environment and Nagios checks
webstats.git Code and website to sanitize... Java

Not considered:

Repository Description Reason
doctor.git service that periodically... Java version being phased out for Python+Stem
https-everywhere.git HTTPS Everywhere Firefox Addon Not maintained by the Tor Project
jtor.git Java implementation of the... Not maintained by the Tor Project
metrics-tasks.git Technical reports and code... Almost all are one shot scripts
orbot.git Orbot: Tor on Android Not maintained by the Tor Project
pytorctl.git Tor control library for Python Users should migrate to Stem

Deprecated or abandoned projects:

Repository Description
apaf.git Anonymous Python Application...
jtorctl.git Tor controller, written in...
pluggable-transports/obfsproxy-legacy.git The old (pre 2013) obfuscating...
puppetor.git A controller for private networks
thandy.git Tor's secure updater
torbel.git Tor exit list exporter and...
torstatus.git Web tool to display informatio...
vidalia-plugins.git Vidalia plugins
vidalia.git Vidalia's source code

Misc. resources:

Last modified 4 years ago Last modified on Jun 10, 2014, 2:35:16 PM