E&S CVS Commit: PEAK - Fixed bugs found by Alexander Smishlajev's "Echo" class. Specifically,

pje at eby-sarna.com pje at eby-sarna.com
Thu May 15 18:27:00 EDT 2003


Module Name:	PEAK
Committed By:	pje
Date:		Thu May 15 22:26:40 UTC 2003

Modified Files:
	PEAK/src/peak/binding: components.py
	PEAK/src/peak/binding/tests: __init__.py
	PEAK/src/peak/config: config_components.py
	PEAK/src/peak/util: EigenData.py
	PEAK/src/peak/util/tests: EigenData.py

Log Message:
Fixed bugs found by Alexander Smishlajev's "Echo" class.  Specifically,
I put back code to ensure that EigenRegistry and PropertyMap always use
the "narrowest" interface possible, but it now uses a depth value to do
so, which I find easier to understand than the old 'extends()' logic.  It
also corresponds to the same logic used in the protocols package.  Anyway,
the absence of this meant that ITwistedReactor was looked for even if
IBasicReactor would suffice.  I put back the tests that checked this sort
of thing, at least for EigenRegistry.

The second bug was that if a component with an "assembled" parent didn't
have any children already waiting for an assembly event, it didn't
request notification for events, and thus never notified any children that
subscribed later.  I fixed this by having components register with their
parents when their children register with them, if it is the first such
registration and the component would not have otherwise registered with
its parent.  Added a test case to cover this scenario.


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PEAK/src/peak/binding/components.py.diff?r1=1.113&r2=1.114
http://cvs.eby-sarna.com/PEAK/src/peak/binding/tests/__init__.py.diff?r1=1.33&r2=1.34
http://cvs.eby-sarna.com/PEAK/src/peak/config/config_components.py.diff?r1=1.48&r2=1.49
http://cvs.eby-sarna.com/PEAK/src/peak/util/EigenData.py.diff?r1=1.10&r2=1.11
http://cvs.eby-sarna.com/PEAK/src/peak/util/tests/EigenData.py.diff?r1=1.4&r2=1.5

To generate a diff of this commit:
cvs rdiff -r1.113 -r1.114 PEAK/src/peak/binding/components.py
cvs rdiff -r1.33 -r1.34 PEAK/src/peak/binding/tests/__init__.py
cvs rdiff -r1.48 -r1.49 PEAK/src/peak/config/config_components.py
cvs rdiff -r1.10 -r1.11 PEAK/src/peak/util/EigenData.py
cvs rdiff -r1.4 -r1.5 PEAK/src/peak/util/tests/EigenData.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




More information about the source-changes mailing list