def filter(request, values={}):
    """Performs a search and returns the resulting list of test runs.

    :param dict values: a mapping containing these criteria.

        * build: ForeignKey: TestBuild
        * cc: ForeignKey: Auth.User
        * env_value: ForeignKey: Environment Value
        * default_tester: ForeignKey: Auth.User
        * run_id: (int)
        * manager: ForeignKey: Auth.User
        * notes: (str)
        * plan: ForeignKey: TestPlan
        * summary: (str)
        * tag: ForeignKey: Tag
        * product_version: ForeignKey: Version

    :return: list of mappings of found :class:`TestRun`.
    :rtype: list

    Example::

        # Get all of runs contain 'TCMS' in summary
        TestRun.filter({'summary__icontain': 'TCMS'})
        # Get all of runs managed by xkuang
        TestRun.filter({'manager__username': 'xkuang'})
        # Get all of runs the manager name starts with x
        TestRun.filter({'manager__username__startswith': 'x'})
        # Get runs contain the case ID 1, 2, 3
        TestRun.filter({'case_run__case__case_id__in': [1, 2, 3]})
    """
    return TestRun.to_xmlrpc(values)