Esempio n. 1
0
def test(dbtype, name, modules, failfast, upload=True):

    if older_version:
        CONFIG['db_type'] = dbtype
        if not CONFIG['admin_passwd']:
            CONFIG['admin_passwd'] = 'admin'
    elif dbtype != 'sqlite':
        CONFIG.set('database', 'uri', 'postgresql:///')

    if dbtype == 'sqlite':
        database_name = ':memory:'
    else:
        database_name = 'test_' + str(int(time.time()))

    if name is None:
        name = ''

    os.environ['DB_NAME'] = database_name
    cov = coverage()
    cov.start()
    from trytond.tests.test_tryton import modules_suite
    import proteus.tests

    suite = None
    if modules:
        suite = modules_suite(modules)
    else:
        suite = modules_suite()
        suite.addTests(proteus.tests.test_suite())

    runner = TrytonTestRunner.TrytonTestRunner(failfast=failfast, coverage=cov)
    runner.run(suite)
    if modules:
        name = name + " [" + ','.join(modules) + "]"

    logger.info('Upload results to tryton')
    if upload:
        print(("Uploading to Tryton '%s'" % name))
        runner.upload_tryton(dbtype, failfast, name)
        print(("'%s' uploaded." % name))
    else:
        runner.print_report(dbtype, failfast, name)