instrumentation: add next-share/
[cs-p2p-next.git] / instrumentation / next-share / BaseLib / Test / TESTSUITE.txt
1 TESTSUITE FOR TRIBLER
2 =====================
3
4 The test suite technically consists of two groups: tests that can be run
5 by a single python interpreter, one after another, and tests that require
6 a fresh python interpreter to prevent problems with singleton classes,
7 threads and listen ports. The former group is tested in one blow by running 
8 test_all_single_python.py (see below), for the other groups there are
9 separate shell scripts, and you'll see "Run XXX" instructions for those.
10
11 Description of tests
12 --------------------
13
14 Feature: Simple Merkle Hashes
15
16         Create various hashtrees. For each tree, check that the 
17         set of hashes returned is correct for each piece.
18         
19         Create a Merkle torrent. Test that our code correctly reads it.
20
21 Feature: PermIDs
22
23         Start a Tribler client, open a socket to it, and test whether
24         it accepts various valid and invalid CHALLENGE messages.
25         
26         Test RESPONSE1
27         
28         Test RESPONSE2
29
30
31 Feature: Megacaches/CacheDB
32
33         Jie already made a test suite for this.
34
35 Feature: SecureOverlay
36
37         Write a client and a server that use the SecureOverlay API. 
38         Let them exchange messages. In particular:
39         * Test what happens when connections are dropped. Do messages get lost?
40         * Test what happens when the server is down and the client sends.
41
42 Feature: Download Helper
43
44         Start a Tribler client, connect to it via the SecureOverlay API.
45         * Test whether it accepts valid and invalid ASK_FOR_HELP,
46         RESERVE_PIECES, PIECES_RESERVED and STOP_DOWNLOAD_HELP messages.
47         * Test whether the client always stops helping on a STOP_DOWNLOAD_HELP
48         in various situations.
49
50   Run
51        $ test_dlhelp.sh
52
53
54 Feature: BuddyCast
55
56         Start a Tribler client, connect to it via the SecureOverlay API.
57         * Test whether it accepts valid and invalid BUDDYCAST messages.
58         
59         Jie already has a test suite for testing the Buddycast algorithm.
60         
61         
62 Feature: SecureOverlay V3
63
64         Run 
65                 $ test_secure_overlay.sh
66                 
67 Feature: Dialback Message
68
69         Run
70                 $ test_dialback_reply_active.sh
71                 $ test_dialback_conn_handler.sh         
72
73 Feature: Remote Query
74
75     Run 
76         $ test_rquery_reply_active.sh
77         
78 Feature: uTorrent Peer Exchange
79
80     Part of test_all_single_python.py
81
82
83 Running
84 -------
85
86 To run the full test suite, run
87
88 $ test.sh
89
90 from the this test dir. This calls test_all_single_python.py 
91 and all separate shell scripts.
92
93 Arno Bakker, 2007-08-15