From a453ac31f3428614cceb99027f8efbdb9258a40b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 14 May 2024 22:03:01 +0200 Subject: Adding upstream version 2.10.7+merged+base+2.10.8+dfsg. Signed-off-by: Daniel Baumann --- .../.azure-pipelines/scripts/aggregate-coverage.sh | 20 ++++++++ .../.azure-pipelines/scripts/combine-coverage.py | 60 ++++++++++++++++++++++ .../.azure-pipelines/scripts/process-results.sh | 24 +++++++++ .../.azure-pipelines/scripts/publish-codecov.sh | 27 ++++++++++ .../.azure-pipelines/scripts/report-coverage.sh | 15 ++++++ .../general/.azure-pipelines/scripts/run-tests.sh | 34 ++++++++++++ .../.azure-pipelines/scripts/time-command.py | 25 +++++++++ 7 files changed, 205 insertions(+) create mode 100755 collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/aggregate-coverage.sh create mode 100755 collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/combine-coverage.py create mode 100755 collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/process-results.sh create mode 100755 collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/publish-codecov.sh create mode 100755 collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/report-coverage.sh create mode 100755 collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/run-tests.sh create mode 100755 collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/time-command.py (limited to 'collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts') diff --git a/collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/aggregate-coverage.sh b/collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/aggregate-coverage.sh new file mode 100755 index 00000000..f3113dd0 --- /dev/null +++ b/collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/aggregate-coverage.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Aggregate code coverage results for later processing. + +set -o pipefail -eu + +agent_temp_directory="$1" + +PATH="${PWD}/bin:${PATH}" + +mkdir "${agent_temp_directory}/coverage/" + +options=(--venv --venv-system-site-packages --color -v) + +ansible-test coverage combine --export "${agent_temp_directory}/coverage/" "${options[@]}" + +if ansible-test coverage analyze targets generate --help >/dev/null 2>&1; then + # Only analyze coverage if the installed version of ansible-test supports it. + # Doing so allows this script to work unmodified for multiple Ansible versions. + ansible-test coverage analyze targets generate "${agent_temp_directory}/coverage/coverage-analyze-targets.json" "${options[@]}" +fi diff --git a/collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/combine-coverage.py b/collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/combine-coverage.py new file mode 100755 index 00000000..506ade64 --- /dev/null +++ b/collections-debian-merged/ansible_collections/community/general/.azure-pipelines/scripts/combine-coverage.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +""" +Combine coverage data from multiple jobs, keeping the data only from the most recent attempt from each job. +Coverage artifacts must be named using the format: "Coverage $(System.JobAttempt) {StableUniqueNameForEachJob}" +The recommended coverage artifact name format is: Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName) +Keep in mind that Azure Pipelines does not enforce unique job display names (only names). +It is up to pipeline authors to avoid name collisions when deviating from the recommended format. +""" + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import os +import re +import shutil +import sys + + +def main(): + """Main program entry point.""" + source_directory = sys.argv[1] + + if '/ansible_collections/' in os.getcwd(): + output_path = "tests/output" + else: + output_path = "test/results" + + destination_directory = os.path.join(output_path, 'coverage') + + if not os.path.exists(destination_directory): + os.makedirs(destination_directory) + + jobs = {} + count = 0 + + for name in os.listdir(source_directory): + match = re.search('^Coverage (?P[0-9]+) (?P