コード例 #1
0
def dump_it(volume, delay=30):
    from cilantro.utils.test import God
    from cilantro.logger import get_logger, overwrite_logger_level
    import logging

    overwrite_logger_level(logging.WARNING)
    God.dump_it(volume=volume, delay=delay)
コード例 #2
0
ファイル: test_pump.py プロジェクト: JeffWScott/cilantro
def pump_it(lamd, use_poisson):
    from cilantro.utils.test import God
    from cilantro.logger import get_logger, overwrite_logger_level
    import logging

    overwrite_logger_level(logging.WARNING)
    God.pump_it(rate=lamd, use_poisson=use_poisson)
コード例 #3
0
ファイル: test_pump.py プロジェクト: sanko61/cilantro
def pump_it(lamd, use_poisson):
    from cilantro.utils.test import God
    from cilantro.logger import get_logger, overwrite_logger_level
    import logging

    overwrite_logger_level(logging.WARNING)

    log = get_logger("Mr. Pump")
    log.important("Starting the pump")

    God.pump_it(rate=lamd, use_poisson=use_poisson)
コード例 #4
0
ファイル: test_pump.py プロジェクト: JeffWScott/cilantro
def run_mn():
    from cilantro.logger import get_logger, overwrite_logger_level
    from cilantro.nodes import NodeFactory
    import os
    import logging

    # overwrite_logger_level(logging.WARNING)
    overwrite_logger_level(21)

    ip = os.getenv('HOST_IP') #Constants.Testnet.Masternodes[0]['ip']
    sk = masternodes[0]['sk']
    NodeFactory.run_masternode(ip=ip, signing_key=sk)
コード例 #5
0
ファイル: test_pump.py プロジェクト: JeffWScott/cilantro
def run_delegate(slot_num):
    from cilantro.logger import get_logger, overwrite_logger_level
    from cilantro.nodes import NodeFactory
    import os
    import logging

    # overwrite_logger_level(logging.WARNING)
    overwrite_logger_level(21)

    d_info = delegates[slot_num]
    d_info['ip'] = os.getenv('HOST_IP')

    NodeFactory.run_delegate(ip=d_info['ip'], signing_key=d_info['sk'], should_reset=True)
コード例 #6
0
ファイル: test_pump.py プロジェクト: JeffWScott/cilantro
def run_witness(slot_num):
    from cilantro.logger import get_logger, overwrite_logger_level
    from cilantro.nodes import NodeFactory
    import os
    import logging

    # overwrite_logger_level(logging.WARNING)
    overwrite_logger_level(15)

    w_info = witnesses[slot_num]
    w_info['ip'] = os.getenv('HOST_IP')

    NodeFactory.run_witness(ip=w_info['ip'], signing_key=w_info['sk'], should_reset=True)
コード例 #7
0
def run_mn():
    from cilantro.logger import get_logger, overwrite_logger_level
    from cilantro.nodes import NodeFactory
    from cilantro.constants.testnet import TESTNET_MASTERNODES
    import os
    import logging

    # overwrite_logger_level(logging.WARNING)
    overwrite_logger_level(21)

    ip = os.getenv('HOST_IP')  #Constants.Testnet.Masternodes[0]['ip']
    sk = TESTNET_MASTERNODES[0]['sk']
    NodeFactory.run_masternode(ip=ip, signing_key=sk, reset_db=True)
コード例 #8
0
ファイル: test_pump.py プロジェクト: Mat001/cilantro
def run_delegate(slot_num):
    from cilantro.logger import get_logger, overwrite_logger_level
    from cilantro import Constants
    from cilantro.nodes import NodeFactory
    import os
    import logging

    overwrite_logger_level(logging.WARNING)

    d_info = Constants.Testnet.Delegates[slot_num]
    d_info['ip'] = os.getenv('HOST_IP')

    NodeFactory.run_delegate(ip=d_info['ip'], signing_key=d_info['sk'])
コード例 #9
0
def run_delegate(slot_num):
    from cilantro.logger import get_logger, overwrite_logger_level
    from cilantro.nodes import NodeFactory
    from cilantro.constants.testnet import TESTNET_DELEGATES
    import os
    import logging

    # overwrite_logger_level(logging.WARNING)
    overwrite_logger_level(21)

    d_info = TESTNET_DELEGATES[slot_num]
    d_info['ip'] = os.getenv('HOST_IP')

    NodeFactory.run_delegate(ip=d_info['ip'],
                             signing_key=d_info['sk'],
                             reset_db=True)
コード例 #10
0
def run_witness(slot_num):
    from cilantro.logger import get_logger, overwrite_logger_level
    from cilantro.nodes import NodeFactory
    from cilantro.constants.testnet import TESTNET_WITNESSES
    import os
    import logging

    # overwrite_logger_level(logging.WARNING)
    overwrite_logger_level(15)

    w_info = TESTNET_WITNESSES[slot_num]
    w_info['ip'] = os.getenv('HOST_IP')

    NodeFactory.run_witness(ip=w_info['ip'],
                            signing_key=w_info['sk'],
                            reset_db=True)
コード例 #11
0
ファイル: run_tests.py プロジェクト: sanko61/cilantro
def main(args):
    log.debug(
        "\nRunning test suites with args\n\nrun unit tests={}\nrun integration tests={}\nverbosity={}\n"
        "skip modules={}\nskip tests={}\n[env var] CILANTRO_DEBUG={}\n[env var] CI={}\n"
        .format(args.unit, args.integration, args.verbosity, args.skip_modules,
                args.skip_tests, os.getenv('CILANTRO_DEBUG'), os.getenv('CI')))

    all_tests = []
    if args.unit:
        all_tests += UNIT_TESTS
    if args.integration:
        all_tests += INTEGRATION_TESTS

    skip_test_names = args.skip_tests

    skip_module_names = args.skip_modules or []
    if os.getenv('CILANTRO_DEBUG'):
        skip_module_names += DEBUG_DISABLED_TESTS
    if os.getenv('CI'):
        skip_module_names += CI_DISABLED_TESTS

    TEST_FLAG = 'S'  # test flag represents failure (F) or success (S) of testing
    loader = unittest.TestLoader()
    all_errors = []
    num_suites, num_success, = 0, 0
    num_tests = -len(skip_test_names) if skip_test_names else 0
    abs_start = time.time()

    for group in all_tests:
        for test in group:

            if _should_skip_module(test, skip_module_names):
                log.notice("Skipping test module {}".format(test))
                continue
            log.info("Starting tests for module {}...".format(test))

            suite = loader.discover(
                test)  # finds all unit tests in the testgroup directory

            # Skip tests functions specified in command line args
            skip_tests(suite, skip_test_names)

            num_suites += 1
            num_tests += suite.countTestCases()

            # runner = unittest.TextTestRunner(verbosity=3)
            runner = unittest.TextTestRunner(verbosity=0)

            start = time.time()

            # Suppress all log output below logging.WARNING if -v is specified
            if not args.verbosity:
                overwrite_logger_level(
                    9000
                )  # Set log level to 9000  to suppress most output from tests
            test_result = runner.run(suite)
            overwrite_logger_level(1)  # Change logging level back

            run_time = round(time.time() - start, 3)
            tests_total = suite.countTestCases()
            # test_failures = max(len(test_result.errors), len(test_result.failures))
            test_failures = len(test_result.errors) + len(test_result.failures)
            tests_passed = tests_total - test_failures

            if test_result.errors:
                for i in range(len(test_result.errors)):
                    all_errors.append(test_result.errors[i][0])
                    log.error("Error in {}".format(test))
                    log.error('Number of errors: {}'.format(
                        len(test_result.errors)))
                    log.error(
                        'Error #{}: {}'.format(i + 1, test_result.errors[i][0])
                    )  # test_result.errors[i][0] = test_retrieve_block_invalid_args (tests.storage.test_blockchain_storage.TestBlockStorageDriver)
                    log.error('Error traceback: \n{}'.format(
                        test_result.errors[i][1]))
                    TEST_FLAG = 'F'

            if test_result.failures:
                for i in range(len(test_result.failures)):
                    all_errors.append(test_result.failures[i][0])
                    log.error(
                        "failure in {} - exiting test framework".format(test))
                    log.error('\nNumber of failures: {}'.format(
                        len(test_result.failures)))
                    log.error(test_result.failures[i][0])
                    log.error(test_result.failures[i][1])
                    TEST_FLAG = 'F'

            if not test_result.errors and not test_result.failures:
                _l = log.info
                num_success += 1
            else:
                _l = log.fatal

            _l('\n' + delim +
               "\nSuite {} completed in {} seconds with {}/{} tests passed.\n".
               format(test, run_time, tests_passed, tests_total) + delim +
               '\n')

    total_time = round(time.time() - abs_start, 3)

    if all_errors:
        fails_str = '\n\n' + delim + '\nTEST FAILURES:\n\n'
        for err in all_errors:
            fails_str += str(err) + '\n'
        fails_str += '\n' + delim
        log.error(fails_str)

    result_msg = '\n\n' + delim + "\n\n{}/{} tests passed.".format(
        num_tests - len(all_errors), num_tests)
    result_msg += "\n{}/{} test suites passed.".format(num_success, num_suites)
    result_msg += "\nTotal run time: {} seconds".format(total_time)
    result_msg += '\n\n' + delim

    _l = log.info if TEST_FLAG == 'S' else log.error
    _l(result_msg)

    if TEST_FLAG == 'S':
        log.success(
            '\n\nAll tests have finished running and passed - testing complete!\n'
        )
        overwrite_logger_level(9000)
        sys.exit(0)
    elif TEST_FLAG == 'F':
        log.fatal(
            '\n\nSome tests have finished running and there are errors - check log\n'
        )
        overwrite_logger_level(9000)
        sys.exit(1)