summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons
diff options
context:
space:
mode:
authorAdam Gross <grossag@vmware.com>2019-11-27 18:18:43 (GMT)
committerAdam Gross <grossag@vmware.com>2019-11-27 18:18:43 (GMT)
commit1bb22663dd05fd6de2aa8a462e1fc695cb50de0a (patch)
tree726cb5e19c3dd0c02f0f722f2db6e57587987bdf /src/engine/SCons
parentc588a56230ad864b009da19e914c9fb50fbc4b97 (diff)
downloadSCons-1bb22663dd05fd6de2aa8a462e1fc695cb50de0a.zip
SCons-1bb22663dd05fd6de2aa8a462e1fc695cb50de0a.tar.gz
SCons-1bb22663dd05fd6de2aa8a462e1fc695cb50de0a.tar.bz2
Add a test to confirm that built values are not memoized
Diffstat (limited to 'src/engine/SCons')
-rw-r--r--src/engine/SCons/Node/PythonTests.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/engine/SCons/Node/PythonTests.py b/src/engine/SCons/Node/PythonTests.py
index e0dd885..e05cfc9 100644
--- a/src/engine/SCons/Node/PythonTests.py
+++ b/src/engine/SCons/Node/PythonTests.py
@@ -115,14 +115,25 @@ class ValueBuildInfoTestCase(unittest.TestCase):
class ValueMemoTestCase(unittest.TestCase):
def test___init__(self):
"""Test memoization"""
+ # First confirm that ValueWithMemo does memoization.
value1 = SCons.Node.Python.ValueWithMemo('vvv')
value2 = SCons.Node.Python.ValueWithMemo('vvv')
assert value1 is value2
+ # Next confirm that ValueNodeInfo.str_to_node does memoization using
+ # the same cache as ValueWithMemo.
ni = SCons.Node.Python.ValueNodeInfo()
value3 = ni.str_to_node('vvv')
assert value1 is value3
+
+class BuiltValueNoMemoTestCase(unittest.TestCase):
+ def test___init__(self):
+ """Confirm that built values are not memoized."""
+ v1 = SCons.Node.Python.Value('c', 'ca')
+ v2 = SCons.Node.Python.Value('c', 'ca')
+ assert v1 is not v2
+
if __name__ == "__main__":
unittest.main()