Patchwork [1,of,3,V7] test-archive: gracefully handle HTTPErrors on get-with-headers

login
register
mail settings
Submitter Angel Ezquerra
Date March 12, 2013, 11:31 p.m.
Message ID <5760b12836327b1366a9.1363131103@Angel-PC.localdomain>
Download mbox | patch
Permalink /patch/1118/
State Accepted
Commit dcb6a99e82ff4569c059224b26c13bd189e8691a
Headers show

Comments

Angel Ezquerra - March 12, 2013, 11:31 p.m.
# HG changeset patch
# User Angel Ezquerra <angel.ezquerra@gmail.com>
# Date 1360141605 -3600
#      Wed Feb 06 10:06:45 2013 +0100
# Node ID 5760b12836327b1366a986cd6335ce8afc372b0b
# Parent  a07be895373394be66ba38b1ff111e26aca03ac8
test-archive: gracefully handle HTTPErrors on get-with-headers

This avoids pritting out a traceback when a get-with-headers call causes hgweb
to respond with an HTTPError code.

Patch

diff --git a/tests/test-archive.t b/tests/test-archive.t
--- a/tests/test-archive.t
+++ b/tests/test-archive.t
@@ -69,10 +69,18 @@ 
   >     msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
   > except ImportError:
   >     pass
-  > node, archive = sys.argv[1:]
-  > f = urllib2.urlopen('http://127.0.0.1:%s/?cmd=archive;node=%s;type=%s'
-  >                     % (os.environ['HGPORT'], node, archive))
-  > sys.stdout.write(f.read())
+  > if len(sys.argv) <= 3:
+  >     node, archive = sys.argv[1:]
+  >     requeststr = 'cmd=archive;node=%s;type=%s' % (node, archive)
+  > else:
+  >     node, archive, file = sys.argv[1:]
+  >     requeststr = 'cmd=archive;node=%s;type=%s;file=%s' % (node, archive, file)
+  > try:
+  >     f = urllib2.urlopen('http://127.0.0.1:%s/?%s'
+  >                     % (os.environ['HGPORT'], requeststr))
+  >     sys.stdout.write(f.read())
+  > except urllib2.HTTPError, e:
+  >     sys.stderr.write(str(e) + '\n')
   > EOF
   $ python getarchive.py "$TIP" gz | gunzip | tar tf - 2>/dev/null
   test-archive-2c0277f05ed4/.hg_archival.txt