commit ca5a52e274fbd49b574f48397ceddaddb7dc335d Author: Arturo Filastò hellais@torproject.org Date: Sat Aug 18 13:37:27 2012 -0700
Update the docs and commit design dia --- docs/design.dia | Bin 0 -> 1706 bytes docs/source/index.rst | 81 +++++++++++++++++++++++++++++++++++++++-- docs/source/writing_tests.rst | 19 ++++++++++ 3 files changed, 97 insertions(+), 3 deletions(-)
diff --git a/docs/design.dia b/docs/design.dia new file mode 100755 index 0000000..1f80fdd Binary files /dev/null and b/docs/design.dia differ diff --git a/docs/source/index.rst b/docs/source/index.rst index f1c5d14..6e95ee7 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,9 +1,83 @@ .. OONI documentation master file.
-Welcome to OONI's documentation! -================================ +========== +About OONI +========== + + +Dependencies +************ + +* Twisted: http://twistedmatrix.com/trac/ +* PyYAML: http://pyyaml.org/ +* Scapy: http://www.secdev.org/projects/scapy/ + * pypcap: http://code.google.com/p/pypcap/ + * libdnet: http://code.google.com/p/libdnet/ + +*Optional* + +* BeautifulSoup: http://www.crummy.com/software/BeautifulSoup/ + +Installation +************ + +On debian you can install all the dependecies with apt-get with this command: + + apt-get install python-twisted python-twisted-names python-yaml python-scapy python-beautifulsoup + +*The "hard" way* + +This involves installing the dependencies installable via easy_install/pip and +the ones that are not by building them from source. + +"simple" dependencies via easy_install: + + sudo easy_install pyyaml + sudo easy_install twisted + sudo easy_install beautifulsoup + +"simple" dependencies via pip: + + sudo pip install pyyaml + sudo pip install twisted + sudo pip install beautifulsoup + +libdnet: + + wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz + tar xzf libdnet-1.12.tgz + cd libdnet-1.12 + ./configure && make + cd python/ + sudo python setup.py install + cd ../../ && rm -rf libdnet-1.12* + +pypcap: + + svn checkout http://pypcap.googlecode.com/svn/trunk/ pypcap-read-only + cd pypcap-read-only/ + sudo pip install pyrex + make + sudo python setup.py install + cd ../ && rm -rf pypcap-read-only + +scapy: + + wget http://www.secdev.org/projects/scapy/files/scapy-latest.zip + unzip scapy-latest.zip + cd scapy-2.2.0/ + sudo python setup.py install + cd ../ && rm -rf scapy-* + +Running +******* + +To run ooni probe do + +$ export PYTHONPATH=`pwd` + +$ python ooni/ooniprobe.py
-Contents:
.. toctree:: :maxdepth: 2 @@ -11,6 +85,7 @@ Contents: intro tutorial writing_tests + ...
Indices and tables ================== diff --git a/docs/source/writing_tests.rst b/docs/source/writing_tests.rst index 8823a78..1aa4b7c 100644 --- a/docs/source/writing_tests.rst +++ b/docs/source/writing_tests.rst @@ -4,4 +4,23 @@ Writing OONI tests ==================
+OONIProbe tests can be written in two modes: blocking or non-blocking. + +Going the blocking route is not advised and all tests in the end should end up +being written in the non-blocking way. + +A good way to understand how to write a test is also to take a look at the OONI +Test Interface in the following files: + +* ooni/plugoo/interface.py + +* ooni/plugoo/tests.py + +Writing non-blocking tests +-------------------------- + +To bootstrap the process of creating a new tests you can run the scaffolding +script in ooni/scaffolding.py. + +This will create a new plugin with the specified name inside of ooni/plugins/.
tor-commits@lists.torproject.org