# -*- 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)