diff options
author | Sakthipriyan Vairamani <thechargingvolcano@gmail.com> | 2015-08-26 15:22:43 +0530 |
---|---|---|
committer | Sakthipriyan Vairamani <thechargingvolcano@gmail.com> | 2015-09-15 19:59:38 +0530 |
commit | 52f84add7746a233f1d4c8904344bef35b8fa2d2 (patch) | |
tree | 05d40d7d8c240ca419fb2803b92e1f675848702c /test/testpy | |
parent | b9813641dcfda60a1c0035cb385ef0cbbaf9577f (diff) | |
download | node-new-52f84add7746a233f1d4c8904344bef35b8fa2d2.tar.gz |
test: fix default value for additional param
In Python, the default values of parameters are evaluated only once
during their declaration. So, whenever the default parameter is used
the same object will be used. Since we use a list, which is a mutable
object, this could lead to unexpected results.
PR-URL: https://github.com/nodejs/node/pull/2553
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'test/testpy')
-rw-r--r-- | test/testpy/__init__.py | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/test/testpy/__init__.py b/test/testpy/__init__.py index 5933f8b9b6..b1f1519e91 100644 --- a/test/testpy/__init__.py +++ b/test/testpy/__init__.py @@ -40,16 +40,19 @@ FILES_PATTERN = re.compile(r"//\s+Files:(.*)") class SimpleTestCase(test.TestCase): - def __init__(self, path, file, arch, mode, context, config, additional=[]): + def __init__(self, path, file, arch, mode, context, config, additional=None): super(SimpleTestCase, self).__init__(context, path, arch, mode) self.file = file self.config = config self.arch = arch self.mode = mode self.tmpdir = join(dirname(self.config.root), 'tmp') - self.additional_flags = additional + if additional is not None: + self.additional_flags = additional + else: + self.additional_flags = [] + - def GetLabel(self): return "%s %s" % (self.mode, self.GetName()) @@ -81,10 +84,13 @@ class SimpleTestCase(test.TestCase): class SimpleTestConfiguration(test.TestConfiguration): - def __init__(self, context, root, section, additional=[]): + def __init__(self, context, root, section, additional=None): super(SimpleTestConfiguration, self).__init__(context, root) self.section = section - self.additional_flags = additional + if additional is not None: + self.additional_flags = additional + else: + self.additional_flags = [] def Ls(self, path): def SelectTest(name): @@ -110,7 +116,7 @@ class SimpleTestConfiguration(test.TestConfiguration): test.ReadConfigurationInto(status_file, sections, defs) class ParallelTestConfiguration(SimpleTestConfiguration): - def __init__(self, context, root, section, additional=[]): + def __init__(self, context, root, section, additional=None): super(ParallelTestConfiguration, self).__init__(context, root, section, additional) @@ -122,8 +128,8 @@ class ParallelTestConfiguration(SimpleTestConfiguration): return result class AddonTestConfiguration(SimpleTestConfiguration): - def __init__(self, context, root, section, additional=[]): - super(AddonTestConfiguration, self).__init__(context, root, section) + def __init__(self, context, root, section, additional=None): + super(AddonTestConfiguration, self).__init__(context, root, section, additional) def Ls(self, path): def SelectTest(name): |