Hello Benji,

Sorry, now being specific with the facts (all other activities only
tomorrow (I'll check the revisions))

Results are generated by:
python bootstrap.py
bin/buildout
bin/coverage-test
bin/coverage-report

on the source of:
svn://svn.zope.org/repos/main/Sandbox/adamg/ocql/branches/optimize-with-index
(WARNING: buildout.cfg has now zope.testing nailed to 3.5.1)
same python, same everything, just zope.testing switched

Good coverage is: (with 3.5.1):
lines   cov%   module   (path)
   40   100%   ocql.aoptimizer.aoptimizer   
(/home/adi/ocql/src/ocql/aoptimizer/aoptimizer.py)
    8    87%   ocql.aoptimizer.tests   
(/home/adi/ocql/src/ocql/aoptimizer/tests.py)
  135    85%   ocql.compiler.compiler   
(/home/adi/ocql/src/ocql/compiler/compiler.py)
   45    60%   ocql.compiler.runnablequery   
(/home/adi/ocql/src/ocql/compiler/runnablequery.py)
   10    90%   ocql.compiler.tests   (/home/adi/ocql/src/ocql/compiler/tests.py)
   31    93%   ocql.database.index   (/home/adi/ocql/src/ocql/database/index.py)
   69    94%   ocql.database.metadata   
(/home/adi/ocql/src/ocql/database/metadata.py)
    8    87%   ocql.database.tests   (/home/adi/ocql/src/ocql/database/tests.py)
   29   100%   ocql.engine   (/home/adi/ocql/src/ocql/engine.py)
   35   100%   ocql.interfaces   (/home/adi/ocql/src/ocql/interfaces.py)
  239    72%   ocql.parser.queryparser   
(/home/adi/ocql/src/ocql/parser/queryparser.py)
    9    88%   ocql.parser.tests   (/home/adi/ocql/src/ocql/parser/tests.py)
   19   100%   ocql.qoptimizer.qoptimizer   
(/home/adi/ocql/src/ocql/qoptimizer/qoptimizer.py)
    9    88%   ocql.qoptimizer.tests   
(/home/adi/ocql/src/ocql/qoptimizer/tests.py)
  326    83%   ocql.queryobject.queryobject   
(/home/adi/ocql/src/ocql/queryobject/queryobject.py)
  150    88%   ocql.rewriter.algebra   
(/home/adi/ocql/src/ocql/rewriter/algebra.py)
   54   100%   ocql.rewriter.interfaces   
(/home/adi/ocql/src/ocql/rewriter/interfaces.py)
   18   100%   ocql.rewriter.rewriter   
(/home/adi/ocql/src/ocql/rewriter/rewriter.py)
    9    88%   ocql.rewriter.tests   (/home/adi/ocql/src/ocql/rewriter/tests.py)
   62    90%   ocql.testing.database   
(/home/adi/ocql/src/ocql/testing/database.py)
   28   100%   ocql.testing.sample.interfaces   
(/home/adi/ocql/src/ocql/testing/sample/interfaces.py)
    9    88%   ocql.testing.sample.mentor   
(/home/adi/ocql/src/ocql/testing/sample/mentor.py)
    9    88%   ocql.testing.sample.organization   
(/home/adi/ocql/src/ocql/testing/sample/organization.py)
    9    88%   ocql.testing.sample.project   
(/home/adi/ocql/src/ocql/testing/sample/project.py)
   10   100%   ocql.testing.sample.student   
(/home/adi/ocql/src/ocql/testing/sample/student.py)
   73   100%   ocql.testing.stubs   (/home/adi/ocql/src/ocql/testing/stubs.py)
   80   100%   ocql.testing.utils   (/home/adi/ocql/src/ocql/testing/utils.py)
   85    96%   ocql.testing.utils_opt   
(/home/adi/ocql/src/ocql/testing/utils_opt.py)
  250    94%   ocql.tests.test_old   (/home/adi/ocql/src/ocql/tests/test_old.py)
   17    94%   ocql.tests.test_skeleton   
(/home/adi/ocql/src/ocql/tests/test_skeleton.py)
   15    93%   ocql.tests.test_utils   
(/home/adi/ocql/src/ocql/tests/test_utils.py)
  105    88%   ocql.tests.test_zope   
(/home/adi/ocql/src/ocql/tests/test_zope.py)

Bad coverage is (with 3.6.0):
lines   cov%   module   (path)
   39    53%   ocql.aoptimizer.aoptimizer   
(/home/adi/ocql/src/ocql/aoptimizer/aoptimizer.py)
  134    30%   ocql.compiler.compiler   
(/home/adi/ocql/src/ocql/compiler/compiler.py)
   44    22%   ocql.compiler.runnablequery   
(/home/adi/ocql/src/ocql/compiler/runnablequery.py)
   29    24%   ocql.database.index   (/home/adi/ocql/src/ocql/database/index.py)
   68    50%   ocql.database.metadata   
(/home/adi/ocql/src/ocql/database/metadata.py)
   28    35%   ocql.engine   (/home/adi/ocql/src/ocql/engine.py)
  238    26%   ocql.parser.queryparser   
(/home/adi/ocql/src/ocql/parser/queryparser.py)
   18    27%   ocql.qoptimizer.qoptimizer   
(/home/adi/ocql/src/ocql/qoptimizer/qoptimizer.py)
  325    41%   ocql.queryobject.queryobject   
(/home/adi/ocql/src/ocql/queryobject/queryobject.py)
  149    39%   ocql.rewriter.algebra   
(/home/adi/ocql/src/ocql/rewriter/algebra.py)
   17    29%   ocql.rewriter.rewriter   
(/home/adi/ocql/src/ocql/rewriter/rewriter.py)
   61     8%   ocql.testing.database   
(/home/adi/ocql/src/ocql/testing/database.py)
    9    11%   ocql.testing.sample.student   
(/home/adi/ocql/src/ocql/testing/sample/student.py)
   72    25%   ocql.testing.stubs   (/home/adi/ocql/src/ocql/testing/stubs.py)
   79    72%   ocql.testing.utils   (/home/adi/ocql/src/ocql/testing/utils.py)
   85    96%   ocql.testing.utils_opt   
(/home/adi/ocql/src/ocql/testing/utils_opt.py)
  249    79%   ocql.tests.test_old   (/home/adi/ocql/src/ocql/tests/test_old.py)
   16    25%   ocql.tests.test_skeleton   
(/home/adi/ocql/src/ocql/tests/test_skeleton.py)
   14    21%   ocql.tests.test_utils   
(/home/adi/ocql/src/ocql/tests/test_utils.py)
  104    60%   ocql.tests.test_zope   
(/home/adi/ocql/src/ocql/tests/test_zope.py)

Sample bad result:
>>>>>> from ocql.interfaces import IObjectQuery
>>>>>> from ocql.interfaces import IOptimizedObjectQuery
>>>>>> from ocql.interfaces import IAlgebraObject
>>>>>> from ocql.interfaces import IOptimizedAlgebraObject
>>>>>> from ocql.interfaces import IRunnableQuery
       
>>>>>> class OCQLEngine:
>>>>>>     implements(IEngine)
       
>>>>>>     def __init__(self):
    9:         pass
       
>>>>>>     def compile(self, query):
               #TODO: later use maybe named adapters
   26:         metadata = IDB(None)
       
   26:         if IObjectQuery.providedBy(query):
   21:             objectquery = query
               else:
    5:             objectquery = IQueryParser(query)(metadata)
   26:         optimizedoq = IQueryOptimizer(objectquery)()


Wednesday, July 16, 2008, 7:29:29 PM, you wrote:

BY> On Wed, Jul 16, 2008 at 1:19 PM, Adam GROSZER <[EMAIL PROTECTED]> wrote:
>> Hey Benji,
>>
>> Seems that it breaks coverage...

BY> In what way is coverage broken?  With or without -j?  Can you formulate
BY> a test that demonstrates the breakage?

>> The result looks like coverage is started after importing the modules
>> to test. That means declarations do not seem to 'run', but just the code
>> inbetween them.
>> Checked with 3.5.1, it looks fine.

BY> I suspect the breakage happened prior in the lifetime of 3.6.0 to my
BY> changes.  If you would, please try to find the revision that introduced
BY> the breakage.  My first comparison would be between r85079 and r86460.


-- 
Best regards,
 Adam GROSZER                            mailto:[EMAIL PROTECTED]
--
Quote of the day:
Anything is good if it's made of chocolate.

_______________________________________________
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to