PeerManager keeps a list of site names, peers are kept in a dictionary.
[quix0rs-apt-p2p.git] / test.py
diff --git a/test.py b/test.py
index 314a21b961ae408a4ea69980cd401a8bb6529eac..1abbe3a5067ae1a302a15e08f9222441a6ea34a8 100755 (executable)
--- a/test.py
+++ b/test.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
 
 """Automated tests of the apt-p2p functionality.
 
@@ -29,7 +29,8 @@ the apt-p2p program.
 @var CWD: the working directory the script was run from
 @type apt_conf_template: C{string}
 @var apt_conf_template: the template to use for the apt.conf file
-
+@type apt_p2p_conf_template: C{string}
+@var apt_p2p_conf_template: the template to use for the apt-p2p.conf file
 """
 
 from time import sleep, time
@@ -339,6 +340,27 @@ tests = {'1': ('Start a single bootstrap and downloader, test updating and downl
                 (2, ['source', 'crash-whitepaper']),
                 ]),
                 
+        'c': ('Test downloading from peers and just a mirror.',
+             {1: {}},
+             {1: {},
+              2: {}},
+             [(1, ['update']), 
+              (1, ['install', 'aboot-base', 'ada-reference-manual',
+                   'fop-doc', 'bison-doc', 'crash-whitepaper',
+                   'apt-howto-common', 'aptitude-doc-en', 'asr-manpages',
+                   'alcovebook-sgml-doc', 'airstrike-common',
+                   ]),
+              (2, ['update']), 
+              (2, ['install', 'aboot-base', 'aap-doc', 'ada-reference-manual',
+                   'aspectj-doc', 'fop-doc', 'asis-doc',
+                   'bison-doc', 'crash-whitepaper',
+                   'bash-doc', 'apt-howto-common', 'autotools-dev',
+                   'aptitude-doc-en', 'asr-manpages',
+                   'atomix-data', 'alcovebook-sgml-doc',
+                   'afbackup-common', 'airstrike-common',
+                   ]),
+              ]),
+
          }
 
 assert 'all' not in tests
@@ -401,7 +423,7 @@ Debug
   pkgInitialize "false";   // This one will dump the configuration space
   NoLocking "false";
   Acquire::Ftp "false";    // Show ftp command traffic
-  Acquire::Http "true";   // Show http command traffic
+  Acquire::Http "false";   // Show http command traffic
   Acquire::gpgv "false";   // Show the gpgv traffic
   aptcdrom "false";        // Show found package files
   IdentCdrom "false";
@@ -445,7 +467,7 @@ UNLOAD_PACKAGES_CACHE = 5m
 
 # Refresh the DHT keys after this much time has passed.
 # This should be a time slightly less than the DHT's KEY_EXPIRE value.
-KEY_REFRESH = 57m
+KEY_REFRESH = 2.5h
 
 # The user name to try and run as (leave blank to run as current user)
 USERNAME = 
@@ -491,18 +513,23 @@ MIN_PING_INTERVAL = 15m
 # refresh buckets that haven't been touched in this long
 BUCKET_STALENESS = 1h
 
+# Whether it's OK to add nodes to the routing table that use an IP
+# address from a known local/private range.
+# If not specified here, the LOCAL_OK value in the DEFAULT section will be used.
+LOCAL_OK = yes
+
 # expire entries older than this
-KEY_EXPIRE = 1h
+KEY_EXPIRE = 3h
 
 # Timeout KRPC requests to nodes after this time.
-KRPC_TIMEOUT = 14s
+KRPC_TIMEOUT = 9s
 
 # KRPC requests are resent using exponential backoff starting with this delay.
 # The request will first be resent after the delay set here.
 # The request will be resent again after twice the delay set here. etc.
-# e.g. if TIMEOUT is 14 sec., and INITIAL_DELAY is 2 sec., then requests will
+# e.g. if TIMEOUT is 9 sec., and INITIAL_DELAY is 2 sec., then requests will
 # be resent at times 0, 2 (2 sec. later), and 6 (4 sec. later), and then will
-# timeout at 14.
+# timeout at 9.
 KRPC_INITIAL_DELAY = 2s
 
 # whether to spew info about the requests/responses in the protocol