123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # -*- coding: utf-8 -*-
- """
- tests.integration.conftest
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- Integration tests PyTest configuration/fixtures
- """
- # pylint: disable=unused-argument,redefined-outer-name
- # Import Python libs
- from __future__ import absolute_import, unicode_literals
- import logging
- from collections import OrderedDict
- # Import 3rd-party libs
- import psutil
- import pytest
- log = logging.getLogger(__name__)
- @pytest.fixture(scope="package", autouse=True)
- def default_session_daemons(
- request,
- log_server,
- session_salt_master,
- session_salt_minion,
- session_secondary_salt_minion,
- ):
- request.session.stats_processes.update(
- OrderedDict(
- (
- ("Salt Master", psutil.Process(session_salt_master.pid)),
- ("Salt Minion", psutil.Process(session_salt_minion.pid)),
- ("Salt Sub Minion", psutil.Process(session_secondary_salt_minion.pid)),
- )
- ).items()
- )
- # Run tests
- yield
- # Stop daemons now(they would be stopped at the end of the test run session
- for daemon in (
- session_secondary_salt_minion,
- session_salt_minion,
- session_salt_master,
- ):
- try:
- daemon.terminate()
- except Exception as exc: # pylint: disable=broad-except
- log.warning("Failed to terminate daemon: %s", daemon.__class__.__name__)
|