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.
14 Feature: Simple Merkle Hashes
16 Create various hashtrees. For each tree, check that the
17 set of hashes returned is correct for each piece.
19 Create a Merkle torrent. Test that our code correctly reads it.
23 Start a Tribler client, open a socket to it, and test whether
24 it accepts various valid and invalid CHALLENGE messages.
31 Feature: Megacaches/CacheDB
33 Jie already made a test suite for this.
35 Feature: SecureOverlay
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.
42 Feature: Download Helper
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.
56 Start a Tribler client, connect to it via the SecureOverlay API.
57 * Test whether it accepts valid and invalid BUDDYCAST messages.
59 Jie already has a test suite for testing the Buddycast algorithm.
62 Feature: SecureOverlay V3
65 $ test_secure_overlay.sh
67 Feature: Dialback Message
70 $ test_dialback_reply_active.sh
71 $ test_dialback_conn_handler.sh
76 $ test_rquery_reply_active.sh
78 Feature: uTorrent Peer Exchange
80 Part of test_all_single_python.py
86 To run the full test suite, run
90 from the this test dir. This calls test_all_single_python.py
91 and all separate shell scripts.
93 Arno Bakker, 2007-08-15