Bug 1127376 - PEP8-ify all mochitest .py files (auto-generated), r=ted
This change was generated using the `autopep8` module [1]. To replicate:
$ pip install --upgrade autopep8
$ cd gecko
$ autopep8 -i -a -a -r testing/mochitest --exclude 'testing/mochitest/pywebsocket/*'
[1] https://github.com/hhatto/autopep8
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import math
|
||||
import mozinfo
|
||||
|
||||
|
||||
class Bisect(object):
|
||||
|
||||
"Class for creating, bisecting and summarizing for --bisect-chunk option."
|
||||
|
||||
def __init__(self, harness):
|
||||
@@ -34,23 +36,28 @@ class Bisect(object):
|
||||
if not options.totalChunks or not options.thisChunk:
|
||||
return tests
|
||||
|
||||
# The logic here is same as chunkifyTests.js, we need this for bisecting tests.
|
||||
# The logic here is same as chunkifyTests.js, we need this for
|
||||
# bisecting tests.
|
||||
if options.chunkByDir:
|
||||
tests_by_dir = {}
|
||||
test_dirs = []
|
||||
for test in tests:
|
||||
directory = test.split("/")
|
||||
directory = directory[0:min(options.chunkByDir, len(directory)-1)]
|
||||
directory = directory[
|
||||
0:min(
|
||||
options.chunkByDir,
|
||||
len(directory) -
|
||||
1)]
|
||||
directory = "/".join(directory)
|
||||
|
||||
if not directory in tests_by_dir:
|
||||
if directory not in tests_by_dir:
|
||||
tests_by_dir[directory] = [test]
|
||||
test_dirs.append(directory)
|
||||
else:
|
||||
tests_by_dir[directory].append(test)
|
||||
|
||||
tests_per_chunk = float(len(test_dirs)) / options.totalChunks
|
||||
start = int(round((options.thisChunk-1) * tests_per_chunk))
|
||||
start = int(round((options.thisChunk - 1) * tests_per_chunk))
|
||||
end = int(round((options.thisChunk) * tests_per_chunk))
|
||||
test_dirs = test_dirs[start:end]
|
||||
return_tests = []
|
||||
@@ -59,7 +66,7 @@ class Bisect(object):
|
||||
|
||||
else:
|
||||
tests_per_chunk = float(len(tests)) / options.totalChunks
|
||||
start = int(round((options.thisChunk-1) * tests_per_chunk))
|
||||
start = int(round((options.thisChunk - 1) * tests_per_chunk))
|
||||
end = int(round(options.thisChunk * tests_per_chunk))
|
||||
return_tests = tests[start:end]
|
||||
|
||||
@@ -83,7 +90,8 @@ class Bisect(object):
|
||||
"This method is used to call other methods for setting up variables and getting the list of tests for bisection."
|
||||
if options.bisectChunk == "default":
|
||||
return tests
|
||||
# The second condition in 'if' is required to verify that the failing test is the last one.
|
||||
# The second condition in 'if' is required to verify that the failing
|
||||
# test is the last one.
|
||||
elif 'loop' not in self.contents or not self.contents['tests'][-1].endswith(options.bisectChunk):
|
||||
tests = self.get_tests_for_bisection(options, tests)
|
||||
status = self.setup(tests)
|
||||
@@ -97,14 +105,16 @@ class Bisect(object):
|
||||
# Check whether sanity check has to be done. Also it is necessary to check whether options.bisectChunk is present
|
||||
# in self.expectedError as we do not want to run if it is "default".
|
||||
if status == -1 and options.bisectChunk in self.expectedError:
|
||||
# In case we have a debug build, we don't want to run a sanity check, will take too much time.
|
||||
# In case we have a debug build, we don't want to run a sanity
|
||||
# check, will take too much time.
|
||||
if mozinfo.info['debug']:
|
||||
return status
|
||||
|
||||
testBleedThrough = self.contents['testsToRun'][0]
|
||||
tests = self.contents['totalTests']
|
||||
tests.remove(testBleedThrough)
|
||||
# To make sure that the failing test is dependent on some other test.
|
||||
# To make sure that the failing test is dependent on some other
|
||||
# test.
|
||||
if options.bisectChunk in testBleedThrough:
|
||||
return status
|
||||
|
||||
@@ -133,7 +143,7 @@ class Bisect(object):
|
||||
# self.contents['result'] will be expected error only if it fails.
|
||||
elif self.contents['result'] == "FAIL":
|
||||
self.contents['tests'] = self.contents['testsToRun']
|
||||
status = 1 # for initializing
|
||||
status = 1 # for initializing
|
||||
|
||||
# initialize
|
||||
if status:
|
||||
@@ -189,22 +199,35 @@ class Bisect(object):
|
||||
def summarize_chunk(self, options):
|
||||
"This method is used summarize the results after the list of tests is run."
|
||||
if options.bisectChunk == "default":
|
||||
# if no expectedError that means all the tests have successfully passed.
|
||||
# if no expectedError that means all the tests have successfully
|
||||
# passed.
|
||||
if len(self.expectedError) == 0:
|
||||
return -1
|
||||
options.bisectChunk = self.expectedError.keys()[0]
|
||||
self.summary.append("\tFound Error in test: %s" % options.bisectChunk)
|
||||
self.summary.append(
|
||||
"\tFound Error in test: %s" %
|
||||
options.bisectChunk)
|
||||
return 0
|
||||
|
||||
# If options.bisectChunk is not in self.result then we need to move to the next run.
|
||||
# If options.bisectChunk is not in self.result then we need to move to
|
||||
# the next run.
|
||||
if options.bisectChunk not in self.result:
|
||||
return -1
|
||||
|
||||
self.summary.append("\tPass %d:" % self.contents['loop'])
|
||||
if len(self.contents['testsToRun']) > 1:
|
||||
self.summary.append("\t\t%d test files(start,end,failing). [%s, %s, %s]" % (len(self.contents['testsToRun']), self.contents['testsToRun'][0], self.contents['testsToRun'][-2], self.contents['testsToRun'][-1]))
|
||||
self.summary.append(
|
||||
"\t\t%d test files(start,end,failing). [%s, %s, %s]" % (len(
|
||||
self.contents['testsToRun']),
|
||||
self.contents['testsToRun'][0],
|
||||
self.contents['testsToRun'][
|
||||
-2],
|
||||
self.contents['testsToRun'][
|
||||
-1]))
|
||||
else:
|
||||
self.summary.append("\t\t1 test file [%s]" % self.contents['testsToRun'][0])
|
||||
self.summary.append(
|
||||
"\t\t1 test file [%s]" %
|
||||
self.contents['testsToRun'][0])
|
||||
return self.check_for_intermittent(options)
|
||||
|
||||
if self.result[options.bisectChunk] == "PASS":
|
||||
@@ -217,23 +240,32 @@ class Bisect(object):
|
||||
|
||||
elif self.result[options.bisectChunk] == "FAIL":
|
||||
if 'expectedError' not in self.contents:
|
||||
self.summary.append("\t\t%s failed." % self.contents['testsToRun'][-1])
|
||||
self.contents['expectedError'] = self.expectedError[options.bisectChunk]
|
||||
self.summary.append("\t\t%s failed." %
|
||||
self.contents['testsToRun'][-1])
|
||||
self.contents['expectedError'] = self.expectedError[
|
||||
options.bisectChunk]
|
||||
status = 0
|
||||
|
||||
elif self.expectedError[options.bisectChunk] == self.contents['expectedError']:
|
||||
self.summary.append("\t\t%s failed with expected error." % self.contents['testsToRun'][-1])
|
||||
self.summary.append(
|
||||
"\t\t%s failed with expected error." % self.contents['testsToRun'][-1])
|
||||
self.contents['result'] = "FAIL"
|
||||
status = 0
|
||||
|
||||
# This code checks for test-bleedthrough. Should work for any algorithm.
|
||||
# This code checks for test-bleedthrough. Should work for any
|
||||
# algorithm.
|
||||
numberOfTests = len(self.contents['testsToRun'])
|
||||
if numberOfTests < 3:
|
||||
# This means that only 2 tests are run. Since the last test is the failing test itself therefore the bleedthrough test is the first test
|
||||
self.summary.append("TEST-UNEXPECTED-FAIL | %s | Bleedthrough detected, this test is the root cause for many of the above failures" % self.contents['testsToRun'][0])
|
||||
# This means that only 2 tests are run. Since the last test
|
||||
# is the failing test itself therefore the bleedthrough
|
||||
# test is the first test
|
||||
self.summary.append(
|
||||
"TEST-UNEXPECTED-FAIL | %s | Bleedthrough detected, this test is the root cause for many of the above failures" %
|
||||
self.contents['testsToRun'][0])
|
||||
status = -1
|
||||
else:
|
||||
self.summary.append("\t\t%s failed with different error." % self.contents['testsToRun'][-1])
|
||||
self.summary.append(
|
||||
"\t\t%s failed with different error." % self.contents['testsToRun'][-1])
|
||||
status = -1
|
||||
|
||||
return status
|
||||
@@ -241,7 +273,9 @@ class Bisect(object):
|
||||
def check_for_intermittent(self, options):
|
||||
"This method is used to check whether a test is an intermittent."
|
||||
if self.result[options.bisectChunk] == "PASS":
|
||||
self.summary.append("\t\tThe test %s passed." % self.contents['testsToRun'][0])
|
||||
self.summary.append(
|
||||
"\t\tThe test %s passed." %
|
||||
self.contents['testsToRun'][0])
|
||||
if self.repeat > 0:
|
||||
# loop is set to 1 to again run the single test.
|
||||
self.contents['loop'] = 1
|
||||
@@ -256,7 +290,9 @@ class Bisect(object):
|
||||
self.contents['loop'] = 2
|
||||
return 1
|
||||
elif self.result[options.bisectChunk] == "FAIL":
|
||||
self.summary.append("\t\tThe test %s failed." % self.contents['testsToRun'][0])
|
||||
self.summary.append(
|
||||
"\t\tThe test %s failed." %
|
||||
self.contents['testsToRun'][0])
|
||||
self.failcount += 1
|
||||
self.contents['loop'] = 1
|
||||
self.repeat -= 1
|
||||
@@ -269,7 +305,9 @@ class Bisect(object):
|
||||
return -1
|
||||
return 0
|
||||
else:
|
||||
self.summary.append("TEST-UNEXPECTED-FAIL | %s | Bleedthrough detected, this test is the root cause for many of the above failures" % self.contents['testsToRun'][0])
|
||||
self.summary.append(
|
||||
"TEST-UNEXPECTED-FAIL | %s | Bleedthrough detected, this test is the root cause for many of the above failures" %
|
||||
self.contents['testsToRun'][0])
|
||||
return -1
|
||||
|
||||
def print_summary(self):
|
||||
|
||||
Reference in New Issue
Block a user