# -*- coding: utf-8 -*-

# 版权所有 (c) 华为技术有限公司 2025-2025

# Licensed under the Apache License, Version 2.0 (the "License");

# you may not use this file except in compliance with the License.

# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.



import contextlib

import os

import coverage

import pytest



current_dir = os.path.dirname(os.path.abspath(__file__))

src_path = os.path.join(current_dir, "../src/") + "*"





@contextlib.contextmanager

def coverage_report():

    covers = coverage.Coverage(include=src_path, branch=True)

    covers.start()

    try:

        yield

    finally:

        covers.stop()

        covers.report()

        covers.html_report(directory="covhtml")



    

if __name__ == "__main__":

    cover = coverage.Coverage(include=src_path, branch=True)

    cover.start()

    pytest.main(['-v', '--junit-xml=final.xml'])

    cover.stop()

    cover.save()

    cover.report()

    cover.html_report(directory="covhtml")

    cover.xml_report(outfile='coverage.xml', ignore_errors=True)