#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# ----------------------------------------------------------------------------------------------------------------------
# Copyright (c) 2025 Huawei Technologies Co., Ltd.
# This program is free software, you can redistribute it and/or modify it under the terms and contiditions of
# CANN Open Software License Agreement Version 2.0 (the "License").
# Please refer to the License for details. You may not use this file except in compliance with the License.
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
# See LICENSE in the root of the software repository for the full text of the License.
# ----------------------------------------------------------------------------------------------------------------------


from pathlib import Path
import pytest

pytest_plugins = [
    "fixtures.config",
    "fixtures.sub_kernel",
]


def pytest_collection_modifyitems(config, items):
    """
    根据测试文件路径自动添加 marker:
    - tests/ut/** → ut
    - tests/st/** → st
    """
    for item in items:
        path = Path(item.fspath)
        parts = path.parts
        if "tests" in parts:
            if "ut" in parts:
                item.add_marker(pytest.mark.ut)
            elif "st" in parts:
                item.add_marker(pytest.mark.st)
            else:
                raise Exception(f"Unknown test type for file: {item.fspath}")
        else:
            raise Exception(f"Test file not under tests/: {item.fspath}")