mirror of
https://github.com/ceph/ceph
synced 2025-01-09 20:52:09 +00:00
4750ac0d77
Focus all tests inside a tests directory, and use pytest/tox to perform validation of the overall content. tox tests also use promtool if available to provide rule checks and unittest runs. In addition to these checks a validate_rules script provides the format, and content checks against all rules - which is also called via tox (but can be run independently too) Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
20 lines
603 B
Python
20 lines
603 B
Python
import pytest
|
|
import os
|
|
from .utils import promtool_available, call
|
|
from .settings import ALERTS_FILE, UNIT_TESTS_FILE
|
|
|
|
|
|
def test_alerts_present():
|
|
assert os.path.exists(ALERTS_FILE), f"{ALERTS_FILE} not found"
|
|
|
|
|
|
def test_unittests_present():
|
|
assert os.path.exists(UNIT_TESTS_FILE), f"{UNIT_TESTS_FILE} not found"
|
|
|
|
|
|
@pytest.mark.skipif(not promtool_available(), reason="promtool is not installed. Unable to run unit tests")
|
|
def test_run_unittests():
|
|
completion = call(f"promtool test rules {UNIT_TESTS_FILE}")
|
|
assert completion.returncode == 0
|
|
assert b"SUCCESS" in completion.stdout
|