зеркало из https://github.com/mozilla/pjs.git
bug 348731, fix waterfall log rotation, add RSS reader test
This commit is contained in:
Родитель
d0aa6ff34f
Коммит
7e1c37ae2c
|
@ -312,3 +312,47 @@ class SearchTest(Base):
|
||||||
failureResult[loc] = 2
|
failureResult[loc] = 2
|
||||||
else:
|
else:
|
||||||
failureResult[loc] |= 2
|
failureResult[loc] |= 2
|
||||||
|
|
||||||
|
class RSSReaderTest(Base):
|
||||||
|
"""Test class to collect information about RSS readers and to
|
||||||
|
verify that they might be working.
|
||||||
|
|
||||||
|
"""
|
||||||
|
def __init__(self):
|
||||||
|
'''Set up the test class with a good leaf name'''
|
||||||
|
self.leafName = 'feed-reader-results.json'
|
||||||
|
pass
|
||||||
|
def run(self):
|
||||||
|
'''Collect the data from browsers region.properties for all locales
|
||||||
|
|
||||||
|
'''
|
||||||
|
locales = [loc.strip() for loc in open('mozilla/browser/locales/all-locales')]
|
||||||
|
uri = re.compile('browser\\.contentHandlers\\.types\\.([0-5])\\.uri')
|
||||||
|
title = re.compile('browser\\.contentHandlers\\.types\\.([0-5])\\.title')
|
||||||
|
res = {}
|
||||||
|
for loc in locales:
|
||||||
|
l = logging.getLogger('locales.' + loc)
|
||||||
|
regprop = Paths.get_path('browser', loc, 'chrome/browser-region/region.properties')
|
||||||
|
p = Parser.getParser(regprop)
|
||||||
|
p.read(regprop)
|
||||||
|
uris = {}
|
||||||
|
titles = {}
|
||||||
|
for key, val in p:
|
||||||
|
m = uri.match(key)
|
||||||
|
if m:
|
||||||
|
o = int(m.group(1))
|
||||||
|
if uris.has_key(o):
|
||||||
|
l.error('Double definition of RSS reader ' + o)
|
||||||
|
uris[o] = val.strip()
|
||||||
|
else:
|
||||||
|
m = title.match(key)
|
||||||
|
if m:
|
||||||
|
o = int(m.group(1))
|
||||||
|
if titles.has_key(o):
|
||||||
|
l.error('Double definition of RSS reader ' + o)
|
||||||
|
titles[o] = val.strip()
|
||||||
|
ind = sorted(uris.keys())
|
||||||
|
if ind != range(len(ind)) or ind != sorted(titles.keys()):
|
||||||
|
l.error('RSS Readers are badly set up')
|
||||||
|
res[loc] = [(titles[o], uris[o]) for o in ind]
|
||||||
|
return res
|
||||||
|
|
|
@ -186,7 +186,7 @@ if not os.path.isdir(basePath):
|
||||||
os.mkdir(basePath)
|
os.mkdir(basePath)
|
||||||
|
|
||||||
|
|
||||||
tests = [Tests.CompareTest(),Tests.SearchTest()]
|
tests = [Tests.CompareTest(), Tests.SearchTest(), Tests.RSSReaderTest()]
|
||||||
drop = {}
|
drop = {}
|
||||||
for test in tests:
|
for test in tests:
|
||||||
res = test.run()
|
res = test.run()
|
||||||
|
@ -221,14 +221,17 @@ if len(water) > rotateLen * 1.5:
|
||||||
suffix = ''
|
suffix = ''
|
||||||
if opts.gzip:
|
if opts.gzip:
|
||||||
suffix = '.gz'
|
suffix = '.gz'
|
||||||
fnames = [os.path.join(basePath, 'buildlog-%x.json'%i) + suffix for i in range(16)]
|
fnames = [os.path.join(opts.target, 'waterfall-%x.json'%i) + suffix for i in range(16)]
|
||||||
# remove oldest log
|
# remove oldest log
|
||||||
if os.path.isfile(flames[15]):
|
if os.path.isfile(fnames[15]):
|
||||||
os.remove(fnames[15])
|
os.remove(fnames[15])
|
||||||
for l in range(14, -1, -1):
|
for l in range(14, -1, -1):
|
||||||
if os.path.isfile(fnames[l]):
|
if os.path.isfile(fnames[l]):
|
||||||
os.rename(fnames[l], fnames[l+1])
|
os.rename(fnames[l], fnames[l+1])
|
||||||
saveJSON(water[:rotateLen], fnames[0])
|
w0 = Wrapper('.', fnames[0])
|
||||||
|
w0.open('w')
|
||||||
|
simplejson.dump(water[:rotateLen], w0, sort_keys=True)
|
||||||
|
w0.close()
|
||||||
water = water[rotateLen:]
|
water = water[rotateLen:]
|
||||||
|
|
||||||
w.open('w')
|
w.open('w')
|
||||||
|
|
Загрузка…
Ссылка в новой задаче