Beispiel #1
0
def test_start_logger_twice():
    logger.start_logger()
    logger.start_logger()
    handlers = logging.getLogger().handlers
    # there is always one logger registered from pytest
    # and the telemetry logger is always off in the tests
    assert len(handlers) == 2 + 1
Beispiel #2
0
def test_start_logger_twice():
    logger.start_logger()
    logger.start_logger()
    handlers = logging.getLogger().handlers
    # there is one or two loggers registered from pytest
    # depending on the version
    # and the telemetry logger is always off in the tests
    assert len(handlers) == 2 + NUM_PYTEST_LOGGERS
Beispiel #3
0
def test_installation_info_logging():
    """
    Test that installation information is logged upon starting the logging
    """
    logger.start_logger()

    with open(logger.get_log_file_name()) as f:
        lines = f.readlines()

    assert "QCoDeS version:" in lines[-3]
    assert "QCoDeS installed in editable mode:" in lines[-2]
    assert "All installed package versions:" in lines[-1]
Beispiel #4
0
def test_start_logger():
    # remove all Handlers
    logger.start_logger()
    assert isinstance(logger.get_console_handler(), logging.Handler)
    assert isinstance(logger.get_file_handler(), logging.Handler)

    console_level = logger.get_level_code(qc.config.logger.console_level)
    file_level = logger.get_level_code(qc.config.logger.file_level)
    assert logger.get_console_handler().level == console_level
    assert logger.get_file_handler().level == file_level

    assert logging.getLogger().level == logger.get_level_code('DEBUG')
Beispiel #5
0
def test_installation_info_logging():
    """
    Test that installation information is logged upon starting the logging
    """
    logger.start_logger()

    with open(logger.get_log_file_name(), 'r') as f:
        lines = f.readlines()

    assert 'QCoDeS version:' in lines[-3]
    assert 'QCoDeS installed in editable mode:' in lines[-2]
    assert 'QCoDeS requirements versions:' in lines[-1]
Beispiel #6
0
def awg5208():

    import qcodes.instrument.sims as sims
    from qcodes.instrument_drivers.tektronix.AWG5208 import AWG5208
    visalib = sims.__file__.replace('__init__.py',
                                    'Tektronix_AWG5208.yaml@sim')

    logger.start_logger()

    inst = AWG5208('awg_sim', address='GPIB0::1::INSTR', visalib=visalib)

    try:
        yield inst
    finally:
        inst.close()
Beispiel #7
0
def model372():
    import qcodes.instrument.sims as sims
    from qcodes.tests.drivers.test_lakeshore import Model_372_Mock

    logger.LOGGING_SEPARATOR = ' - '

    logger.start_logger()

    visalib = sims.__file__.replace('__init__.py',
                                    'lakeshore_model372.yaml@sim')

    inst = Model_372_Mock('lakeshore_372', 'GPIB::3::INSTR',
                          visalib=visalib, device_clear=False)
    inst.sample_heater.range_limits([0, 0.25, 0.5, 1, 2, 3, 4, 7])
    inst.warmup_heater.range_limits([0, 0.25, 0.5, 1, 2, 3, 4, 7])
    try:
        yield inst
    finally:
        inst.close()
Beispiel #8
0
def test_filter_instrument(AMI430_3D):

    driver, mag_x, mag_y, mag_z = AMI430_3D

    logger.start_logger()

    # filter one instrument
    driver.cartesian((0, 0, 0))
    with logger.LogCapture(level=logging.DEBUG) as logs:
        with logger.filter_instrument(mag_x, handler=logs.string_handler):
            driver.cartesian((0, 0, 1))
    for line in logs.value.splitlines():
        assert '[x(AMI430_VISA)]' in line
        assert '[y(AMI430_VISA)]' not in line
        assert '[z(AMI430_VISA)]' not in line

    # filter multiple instruments
    driver.cartesian((0, 0, 0))
    with logger.LogCapture(level=logging.DEBUG) as logs:
        with logger.filter_instrument((mag_x, mag_y),
                                      handler=logs.string_handler):
            driver.cartesian((0, 0, 1))

    any_x = False
    any_y = False
    for line in logs.value.splitlines():
        has_x = '[x(AMI430_VISA)]' in line
        has_y = '[y(AMI430_VISA)]' in line
        has_z = '[z(AMI430_VISA)]' in line

        assert has_x or has_y
        assert not has_z

        any_x |= has_x
        any_y |= has_y
    assert any_x
    assert any_y
Beispiel #9
0
def init_python_logger() -> None:
    warnings.warn("This function init_python_logger is deprecated and will "
                  "be removed in the "
                  "future. Please use `start_logger` from"
                  "`qcodes.logger`")
    start_logger()