From 62ffe6ec3df17d48f92c01bbdf27aca5845eb189 Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Tue, 7 Feb 2017 22:17:33 +0100 Subject: Handle lack of STH in mergestatus --- tools/mergestatus.py | 9 +++++++-- tools/testcase1.py | 12 ++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/tools/mergestatus.py b/tools/mergestatus.py index 80d755e..f47cc68 100755 --- a/tools/mergestatus.py +++ b/tools/mergestatus.py @@ -10,6 +10,7 @@ import urllib2 import time import requests import base64 +import errno from base64 import b64encode from mergetools import parse_args, get_nfetched, hexencode, hexdecode, \ get_logorder, get_sth @@ -25,7 +26,6 @@ def main(): sthfile = mergedb + "/sth" currentsizefile = mergedb + "/fetched" - sth = json.loads(open(sthfile, "r").read()) currentsize = json.loads(open(currentsizefile, "r").read()) print >>sys.stderr, currentsize["index"]+1, @@ -39,7 +39,12 @@ def main(): print >>sys.stderr, tree["tree_size"], except (IOError, ValueError): pass - print >>sys.stderr, sth["tree_size"], + try: + sth = json.loads(open(sthfile, "r").read()) + print >>sys.stderr, sth["tree_size"], + except IOError, e: + if e.errno != errno.ENOENT: + raise print if __name__ == '__main__': diff --git a/tools/testcase1.py b/tools/testcase1.py index 63be2e1..233415a 100755 --- a/tools/testcase1.py +++ b/tools/testcase1.py @@ -13,6 +13,8 @@ import struct import hashlib import itertools import os.path +import readconfig +import errno from time import sleep from certtools import * @@ -165,8 +167,6 @@ def correct_tree_size(expected): return False return True -import readconfig - def mergestatus(configfile, localconfigfile): localconfig = readconfig.read_config(localconfigfile) config = readconfig.verify_and_read_config(configfile, localconfig["logadminkey"]) @@ -177,7 +177,6 @@ def mergestatus(configfile, localconfigfile): sthfile = mergedb + "/sth" currentsizefile = mergedb + "/fetched" - sth = json.loads(open(sthfile, "r").read()) currentsize = json.loads(open(currentsizefile, "r").read()) print >>sys.stderr, currentsize["index"]+1, @@ -191,7 +190,12 @@ def mergestatus(configfile, localconfigfile): print >>sys.stderr, tree["tree_size"], except (IOError, ValueError): pass - print >>sys.stderr, sth["tree_size"], + try: + sth = json.loads(open(sthfile, "r").read()) + print >>sys.stderr, sth["tree_size"], + except IOError, e: + if e.errno != errno.ENOENT: + raise print -- cgit v1.1