test/unittest_cwctl.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Tue, 30 Mar 2010 10:57:42 +0200
branchstable
changeset 5069 135c5d7b89d0
parent 4212 ab6573088b4a
child 5021 58e89f3dfbae
child 5421 8167de96c523
permissions -rw-r--r--
[querier] introduce RepeatList class, used to optimize size of data returned for result set description When rql query has no ambiguity, we used to return the same description * N where N is the size of the result set. Returning RepeatList class avoid that multiplication. According to quick benchmark this improve performance for result set whose size is ~ > 50, has very small penalty for rset < 50, and in any case improve the size of data to be transfered over the network through pyro connection.

"""

:organization: Logilab
:copyright: 2001-2010 LOGILAB S.A. (Paris, FRANCE), license is LGPL v2.
:contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
:license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses
"""
import sys
import os
from cStringIO import StringIO
from logilab.common.testlib import TestCase, unittest_main

if os.environ.get('APYCOT_ROOT'):
    root = os.environ['APYCOT_ROOT']
    CUBES_DIR = '%s/local/share/cubicweb/cubes/' % root
    os.environ['CW_CUBES_PATH'] = CUBES_DIR
    REGISTRY_DIR = '%s/etc/cubicweb.d/' % root
    os.environ['CW_INSTANCES_DIR'] = REGISTRY_DIR

from cubicweb.cwconfig import CubicWebConfiguration
CubicWebConfiguration.load_cwctl_plugins()

class CubicWebCtlTC(TestCase):
    def setUp(self):
        self.stream = StringIO()
        sys.stdout = self.stream
    def tearDown(self):
        sys.stdout = sys.__stdout__

    def test_list(self):
        from cubicweb.cwctl import ListCommand
        ListCommand().run([])

if __name__ == '__main__':
    unittest_main()