repoze / repoze.catalog

Python indexing and searching framework, useful outside Zope ecosystem
Other
12 stars 16 forks source link

python 3 support #9

Closed vangheem closed 5 years ago

vangheem commented 5 years ago

Updated changelog and trove. I'm not really familiar with tox so I'm not sure I'll get around to doing that.

tseaver commented 5 years ago

@vangheem How are you running the tests? Straddling Python2-Python3 is really hard to do without a multiversion testrunner like tox.

vangheem commented 5 years ago

Tests passing now:

$ ./bin/nosetests repoze.catalog.tests
...........................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 203 tests in 0.139s

OK

One weird thing I did to get tests to pass was change some negative numbers to non-negative for we could parse the syntax.

Otherwise, we'd get:

ERROR: test_convert_gtlt_child_right_nephew_left (repoze.catalog.tests.test_query.Test_parse_query)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/tests/test_query.py", line 1088, in test_convert_gtlt_child_right_nephew_left
    op = self._call_fut("a >= -1 and b == 2 and c > 3 and a <= 1")
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/tests/test_query.py", line 718, in _call_fut
    return fut(expr)
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 924, in parse_query
    query = _AstParser(expr).parse()
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 708, in parse
    result = self.walk(expr_tree.value)
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 723, in walk
    return visit(tree)
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 714, in visit
    children = [visit(child) for child in ast.iter_child_nodes(node)]
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 714, in <listcomp>
    children = [visit(child) for child in ast.iter_child_nodes(node)]
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 714, in visit
    children = [visit(child) for child in ast.iter_child_nodes(node)]
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 714, in <listcomp>
    children = [visit(child) for child in ast.iter_child_nodes(node)]
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 714, in visit
    children = [visit(child) for child in ast.iter_child_nodes(node)]
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 714, in <listcomp>
    children = [visit(child) for child in ast.iter_child_nodes(node)]
  File "/Users/nathan/wildcard/castle/castle.cms-py3.6/src/repoze.catalog/repoze/catalog/query.py", line 720, in visit
    "element: %s" % type(node).__name__)
ValueError: Unable to parse expression.  Unhandled expression element: USub

----------------------------------------------------------------------

I'm not very familiar with ast python module.

vangheem commented 5 years ago

Hi @tseaver I think everything has been addressed. I just have the one question above. Could we get this merged and released?

agitator commented 5 years ago

+1 for merge and release ;-)

tseaver commented 5 years ago

Since the tests don't actually pass on Python 3, an immediate release is not possible:

$ tox -e py34
GLOB sdist-make: /home/tseaver/projects/repoze/src/repoze.catalog/setup.py
py34 inst-nodeps: /home/tseaver/projects/repoze/src/repoze.catalog/.tox/.tmp/package/1/repoze.catalog-0.9.0.zip
py34 installed: -f file:///home/tseaver/.pip/wheels,BTrees==4.5.1,persistent==4.4.3,repoze.catalog==0.9.0,six==1.11.0,transaction==2.4.0,zc.lockfile==1.4,ZConfig==3.3.0,zdaemon==4.3,ZEO==5.2.0,ZODB==5.5.1,ZODB3==3.11.0,zodbpickle==1.0.2,zope.component==4.5,zope.deferredimport==4.3,zope.deprecation==4.3.0,zope.event==4.4,zope.hookable==4.2.0,zope.index==4.4.0,zope.interface==4.6.0,zope.proxy==4.3.1
py34 run-test-pre: PYTHONHASHSEED='2718405852'
py34 runtests: commands[0] | python setup.py test -q
running test
running egg_info
writing top-level names to repoze.catalog.egg-info/top_level.txt
writing repoze.catalog.egg-info/PKG-INFO
writing requirements to repoze.catalog.egg-info/requires.txt
writing dependency_links to repoze.catalog.egg-info/dependency_links.txt
writing namespace_packages to repoze.catalog.egg-info/namespace_packages.txt
reading manifest file 'repoze.catalog.egg-info/SOURCES.txt'
writing manifest file 'repoze.catalog.egg-info/SOURCES.txt'
running build_ext
.../home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/tests/test_query.py:628: DeprecationWarning: Please use assertTrue instead.
  self.failUnless(left.applied)
./home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/tests/test_query.py:639: DeprecationWarning: Please use assertFalse instead.
  self.failIf(right.applied)
........................................................................................................................................./home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/tests/test_document.py:198: DeprecationWarning: Please use assertFalse instead.
  self.failIf(map.docid_to_metadata is None)
............................/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/tests/test_catalog.py:32: DeprecationWarning: Please use assertTrue instead.
  self.failUnless(catalog.family is family32)
..................................EEEEEEEEEEEEEEEEEEEEEEEEEE.E./home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py:41: DeprecationWarning: Please use assertTrue instead.
  self.failUnless(index.discriminator is _discriminator)
..EE.EEEE.EEEE....EEEEEEEEEEEEE......./home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_text.py:44: DeprecationWarning: Please use assertTrue instead.
  self.failUnless(index.discriminator is _discriminator)
..../home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_text.py:153: DeprecationWarning: Please use assertFalse instead.
  self.failIf(20 in index.docids())
......................./home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_keyword.py:39: DeprecationWarning: Please use assertTrue instead.
  self.failUnless(index.discriminator is _discriminator)
..../home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_keyword.py:224: DeprecationWarning: Please use assertFalse instead.
  self.failIf(3 in index.docids())
........................E.E.E........./home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py:47: DeprecationWarning: Please use assertTrue instead.
  self.failUnless(index.discriminator is _discriminator)
..../home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py:688: DeprecationWarning: Please use assertFalse instead.
  self.failIf(3 in index.docids())
........E.E................E.E.........F...................................../home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py:51: DeprecationWarning: Please use assertTrue instead.
  self.failUnless(index.attr_discriminator is _attr_discriminator)
.......FE../home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py:112: DeprecationWarning: Please use assertFalse instead.
  self.failIf(('', 'abc') in index.path_to_docid)
..................................................FF...FFFFFFFF..E....E./home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_facet.py:57: DeprecationWarning: Please use assertTrue instead.
  self.failUnless(index.discriminator(self, index) is self)
...../home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_facet.py:110: DeprecationWarning: Please use assertFalse instead.
  self.failIf('foo' in index._fwd_index)
........./home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_common.py:26: DeprecationWarning: Please use assertTrue instead.
  self.failUnless(index.discriminator is _discriminator)
...../home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_common.py:131: DeprecationWarning: Please use assertFalse instead.
  self.failIf(20 in index.docids())
........
======================================================================
ERROR: test_18_html_level_3 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 367, in test_18_html_level_3
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_18_html_level_neg1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 377, in test_18_html_level_neg1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_AND_bb_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 457, in test_aa_AND_bb_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_bb_explicit_OR_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 416, in test_aa_bb_explicit_OR_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_bb_implicit_OR_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 408, in test_aa_bb_implicit_OR_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_bb_xx_explicit_OR_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 433, in test_aa_bb_xx_explicit_OR_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_bb_xx_implicit_OR_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 425, in test_aa_bb_xx_implicit_OR_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_cc_level_neg1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 347, in test_aa_cc_level_neg1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_explicit_level_0 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 257, in test_aa_explicit_level_0
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_level_0_AND_bb_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 466, in test_aa_level_0_AND_bb_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_level_0_AND_cc_level_2 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 474, in test_aa_level_0_AND_cc_level_2
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 267, in test_aa_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_aa_level_4 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 277, in test_aa_level_4
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_applyEq (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 491, in test_applyEq
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_applyNotEq (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 498, in test_applyNotEq
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_bb_aa_level_0 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 327, in test_bb_aa_level_0
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_bb_aa_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 337, in test_bb_aa_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_bb_bb_level_neg1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 357, in test_bb_bb_level_neg1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_bb_cc_level_0 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 307, in test_bb_cc_level_0
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_bb_cc_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 317, in test_bb_cc_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_bb_level_0 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 287, in test_bb_level_0
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_bb_level_1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 297, in test_bb_level_1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_cc_18_html_level_2 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 387, in test_cc_18_html_level_2
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_cc_18_html_level_neg1 (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 397, in test_cc_18_html_level_neg1
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_cc_level_1_cc_level_2_explicit_OR (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 449, in test_cc_level_1_cc_level_2_explicit_OR
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_cc_level_1_cc_level_2_implicit_OR (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 442, in test_cc_level_1_cc_level_2_implicit_OR
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_clear (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 65, in test_clear
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_docids (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 505, in test_docids
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_docids_with_indexed_and_not_indexed (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 542, in test_docids_with_indexed_and_not_indexed
    index.index_doc(1, Dummy('/cmr/ljb'))
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_index_doc_callback_returns_nondefault (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 105, in test_index_doc_callback_returns_nondefault
    index.index_doc(1, '/a/b/c')
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_index_doc_missing_value_then_unindex (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 534, in test_index_doc_missing_value_then_unindex
    self.assertEqual(set(), set(index.applyEq('/cmr')))
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 217, in apply
    sets.append(self.search(path, level))
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 162, in search
    if len(comps) == 0:
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_index_doc_missing_value_then_with_value (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 525, in test_index_doc_missing_value_then_with_value
    self.assertEqual(set(), set(index.applyEq('/cmr')))
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 217, in apply
    sets.append(self.search(path, level))
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 162, in search
    if len(comps) == 0:
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_index_doc_missing_value_unindexes (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 154, in test_index_doc_missing_value_unindexes
    index.index_doc(1, dummy)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_index_doc_string_discrim (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 117, in test_index_doc_string_discrim
    index.index_doc(1, dummy)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_index_doc_string_discrim_list_value (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 141, in test_index_doc_string_discrim_list_value
    index.index_doc(1, dummy)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_index_doc_string_discrim_tuple_value (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 129, in test_index_doc_string_discrim_tuple_value
    index.index_doc(1, dummy)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_index_doc_then_missing_value (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 515, in test_index_doc_then_missing_value
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_nonempty_index (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 60, in test_nonempty_index
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_query_path_included_with_childrent (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 483, in test_query_path_included_with_childrent
    index.index_doc(1, Dummy("/ff"))
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_reindex_doesnt_dupe (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 184, in test_reindex_doesnt_dupe
    index.index_doc(1, o)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_root_aa_list (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 250, in test_root_aa_list
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_root_aa_tuple (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 243, in test_root_aa_tuple
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_root_aa_wo_level (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 236, in test_root_aa_wo_level
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_searches_against_root_list (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 213, in test_searches_against_root_list
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_searches_against_root_plain_string (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 199, in test_searches_against_root_plain_string
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_searches_against_root_tuple (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 206, in test_searches_against_root_tuple
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_searches_against_root_w_level (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 227, in test_searches_against_root_w_level
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_searches_against_root_wo_level (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 220, in test_searches_against_root_wo_level
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_unindex_doc (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 172, in test_unindex_doc
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_unindex_doc_removes_from_docids (repoze.catalog.indexes.tests.test_path.PathIndexTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 509, in test_unindex_doc_removes_from_docids
    index = self._makeOne(VALUES)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path.py", line 24, in _makeOne
    index.index_doc(doc_id, path)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/path.py", line 109, in index_doc
    for i in range(len(comps)):
TypeError: object of type 'filter' has no len()

======================================================================
ERROR: test_apply_dict_operator_and_with_ranges_and (repoze.catalog.indexes.tests.test_field.TestCatalogFieldIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py", line 440, in test_apply_dict_operator_and_with_ranges_and
    'operator':'and'})
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 270, in apply
    result = self.search(val, operator)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 254, in search
    sets.sort()
TypeError: unorderable types: BTrees.IFBTree.IFSet() < BTrees.IFBTree.IFSet()

======================================================================
ERROR: test_apply_dict_operator_or_with_int_and_range_and (repoze.catalog.indexes.tests.test_field.TestCatalogFieldIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py", line 493, in test_apply_dict_operator_or_with_int_and_range_and
    result = index.apply({'query':[1, RangeValue(1,2)], 'operator':'and'})
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 270, in apply
    result = self.search(val, operator)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 254, in search
    sets.sort()
TypeError: unorderable types: BTrees.IFBTree.IFSet() < BTrees.IFBTree.IFSet()

======================================================================
ERROR: test_apply_dict_operator_or_with_list_of_ints_and (repoze.catalog.indexes.tests.test_field.TestCatalogFieldIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py", line 475, in test_apply_dict_operator_or_with_list_of_ints_and
    result = index.apply({'query':[1, 2], 'operator':'and'})
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 270, in apply
    result = self.search(val, operator)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 254, in search
    sets.sort()
TypeError: unorderable types: BTrees.IFBTree.IFSet() < BTrees.IFBTree.IFSet()

======================================================================
ERROR: test_search_double_int_querymember_and (repoze.catalog.indexes.tests.test_field.TestCatalogFieldIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py", line 411, in test_search_double_int_querymember_and
    result = index.search([1, 2], 'and')
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 254, in search
    sets.sort()
TypeError: unorderable types: BTrees.IFBTree.IFSet() < BTrees.IFBTree.IFSet()

======================================================================
ERROR: test_search_double_range_querymember_and (repoze.catalog.indexes.tests.test_field.TestCatalogFieldIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py", line 386, in test_search_double_range_querymember_and
    result = index.search([RangeValue(1,1), RangeValue(1,2)], 'and')
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 254, in search
    sets.sort()
TypeError: unorderable types: BTrees.IFBTree.IFSet() < BTrees.IFBTree.IFSet()

======================================================================
ERROR: test_sort_force_timsort_missing_docid (repoze.catalog.indexes.tests.test_field.TestCatalogFieldIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py", line 270, in test_sort_force_timsort_missing_docid
    r = list(result)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 230, in _timsort
    for docid in sorted(docids, key=get, reverse=reverse):
TypeError: unorderable types: list() < int()

======================================================================
ERROR: test_sort_force_timsort_reverse_missing_docid (repoze.catalog.indexes.tests.test_field.TestCatalogFieldIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py", line 298, in test_sort_force_timsort_reverse_missing_docid
    r = list(result)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/field.py", line 230, in _timsort
    for docid in sorted(docids, key=get, reverse=reverse):
TypeError: unorderable types: int() < list()

======================================================================
ERROR: test_index_doc_unindex_doc_with_attr_discriminator (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 432, in test_index_doc_unindex_doc_with_attr_discriminator
    random.shuffle(docids)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/.tox/py34/lib/python3.4/random.py", line 272, in shuffle
    x[i], x[j] = x[j], x[i]
TypeError: 'dict_keys' object does not support indexing

======================================================================
ERROR: test_unindex_doc (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 135, in test_unindex_doc
    random.shuffle(docids)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/.tox/py34/lib/python3.4/random.py", line 272, in shuffle
    x[i], x[j] = x[j], x[i]
TypeError: 'dict_keys' object does not support indexing

======================================================================
ERROR: test_counts (repoze.catalog.indexes.tests.test_facet.TestCatalogFacetIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_facet.py", line 197, in test_counts
    counts = index.counts(result, search)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/facet.py", line 128, in counts
    ck = cachekey(available_facets)
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/facet.py", line 145, in cachekey
    h.update(item)
TypeError: Unicode-objects must be encoded before hashing

======================================================================
FAIL: test_sort_noforce_reverse_w_limit_timsort (repoze.catalog.indexes.tests.test_field.TestCatalogFieldIndex)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_field.py", line 223, in test_sort_noforce_reverse_w_limit_timsort
    self.assertEqual(list(result), range(9999, 9698, -1))
AssertionError: [9999, 9998, 9997, 9996, 9995, 9994, 9993[1760 chars]9699] != range(9999, 9698, -1)

======================================================================
FAIL: test_empty_index (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 72, in test_empty_index
    self.failUnless(index) # True even if empty
AssertionError: <repoze.catalog.indexes.path2.CatalogPathIndex2 object at 0x7fd40b22a080> is not true

======================================================================
FAIL: test_search_root_depth3_with_attrchecker (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 569, in test_search_root_depth3_with_attrchecker
    self.assertEqual(sorted(result), range(1, 21))
AssertionError: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] != range(1, 21)

======================================================================
FAIL: test_search_root_depth3_with_attrchecker_and_include_path (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 590, in test_search_root_depth3_with_attrchecker_and_include_path
    self.assertEqual(sorted(result), range(0, 21))
AssertionError: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] != range(0, 21)

======================================================================
FAIL: test_search_root_depth_3 (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 204, in test_search_root_depth_3
    self.assertEqual(sorted(result), range(1, 21))
AssertionError: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] != range(1, 21)

======================================================================
FAIL: test_search_root_depth_3_include_path (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 209, in test_search_root_depth_3_include_path
    self.assertEqual(sorted(result), range(0, 21))
AssertionError: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] != range(0, 21)

======================================================================
FAIL: test_search_root_nodepth (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 164, in test_search_root_nodepth
    self.assertEqual(sorted(result), range(1, 21))
AssertionError: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] != range(1, 21)

======================================================================
FAIL: test_search_root_nodepth_include_path (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 169, in test_search_root_nodepth_include_path
    self.assertEqual(sorted(result), range(0, 21))
AssertionError: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] != range(0, 21)

======================================================================
FAIL: test_search_root_nodepth_with_attrchecker (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 447, in test_search_root_nodepth_with_attrchecker
    self.assertEqual(sorted(result), range(1, 21))
AssertionError: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] != range(1, 21)

======================================================================
FAIL: test_search_root_nodepth_with_attrchecker_and_include_path (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 467, in test_search_root_nodepth_with_attrchecker_and_include_path
    self.assertEqual(sorted(result), range(0, 21))
AssertionError: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] != range(0, 21)

======================================================================
FAIL: test_search_root_nodepth_with_attrchecker_incpath_values2 (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 863, in test_search_root_nodepth_with_attrchecker_incpath_values2
    self.assertEqual(sorted(result), range(0, 6))
AssertionError: [0, 1, 2, 3, 4, 5] != range(0, 6)

======================================================================
FAIL: test_search_root_nodepth_with_attrchecker_values2 (repoze.catalog.indexes.tests.test_path2.CatalogPathIndex2Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/repoze/src/repoze.catalog/repoze/catalog/indexes/tests/test_path2.py", line 837, in test_search_root_nodepth_with_attrchecker_values2
    self.assertEqual(sorted(result), range(1, 6))
AssertionError: [1, 2, 3, 4, 5] != range(1, 6)

----------------------------------------------------------------------
Ran 530 tests in 0.343s

FAILED (failures=12, errors=60)
Test failed: <unittest.runner.TextTestResult run=530 errors=60 failures=12>
error: Test failed: <unittest.runner.TextTestResult run=530 errors=60 failures=12>
ERROR: InvocationError for command '/home/tseaver/projects/repoze/src/repoze.catalog/.tox/py34/bin/python setup.py test -q' (exited with code 1)
___________________________________ summary ____________________________________
ERROR:   py34: commands failed
tseaver commented 5 years ago

I'm working to get Travis support enabled. Once it is enabled, please re-submit the PR (with appropriate changes to .travis.yml). It would be helpful if you could actually get the tests passing locally (i.e., just run tox).

tseaver commented 5 years ago

OK, Travis is now configured, with a job running on the current master (Python 2.7 only).

vangheem commented 5 years ago

alright, I will try looking at it again. I had run the tests with python 3.