public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/python-avocado] rawhide: Retired: Fails to install: https://forge.fedoraproject.org/releng/tickets/issues/13473
@ 2026-08-18 13:41 
  0 siblings, 0 replies; only message in thread
From:  @ 2026-08-18 13:41 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/python-avocado
Branch : rawhide
Commit : e855d28e77c8f964b82ff660c7f143445069ea42
Author : Miro Hrončok <miro@hroncok.cz>
Date   : 2026-08-18T15:41:25+02:00
Stats  : +1/-1370 in 10 file(s)
URL    : https://src.fedoraproject.org/rpms/python-avocado/c/e855d28e77c8f964b82ff660c7f143445069ea42?branch=rawhide

Log:
Retired: Fails to install: https://forge.fedoraproject.org/releng/tickets/issues/13473

---
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 00ef136..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,35 +0,0 @@
-/avocado-43.0.tar.gz
-/avocado-46.0.tar.gz
-/avocado-47.0.tar.gz
-/avocado-48.0.tar.gz
-/avocado-49.0.tar.gz
-/avocado-50.0.tar.gz
-/avocado-51.0.tar.gz
-/avocado-52.0.tar.gz
-/avocado-52.1.tar.gz
-/avocado-61.0.tar.gz
-/avocado-62.0.tar.gz
-/avocado-63.0.tar.gz
-/avocado-64.0.tar.gz
-/avocado-65.0.tar.gz
-/avocado-66.0.tar.gz
-/avocado-67.0.tar.gz
-/avocado-68.0.tar.gz
-/avocado-69.0.tar.gz
-/avocado-70.0.tar.gz
-/avocado-71.0.tar.gz
-/avocado-72.0.tar.gz
-/avocado-73.0.tar.gz
-/avocado-74.0.tar.gz
-/avocado-75.1.tar.gz
-/avocado-76.0.tar.gz
-/avocado-77.0.tar.gz
-/avocado-78.0.tar.gz
-/avocado-79.0.tar.gz
-/avocado-80.0.tar.gz
-/avocado-82.0.tar.gz
-/avocado-92.0.tar.gz
-/avocado-92.1.tar.gz
-/avocado-92.1-python312.patch
-/avocado-92.3.tar.gz
-/avocado-112.0.tar.gz

diff --git a/0001-Be-more-lenient-with-test-error-messages.patch b/0001-Be-more-lenient-with-test-error-messages.patch
deleted file mode 100644
index e0d825b..0000000
--- a/0001-Be-more-lenient-with-test-error-messages.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 9fea9d25b2176f0929307d402fd1287bfecbd460 Mon Sep 17 00:00:00 2001
-From: Cleber Rosa <crosa@redhat.com>
-Date: Fri, 5 Dec 2025 14:10:17 -0500
-Subject: [PATCH] Be more lenient with test error messages
-
-On latest Fedora rawhide, current setuptools usage will produce
-warning messages on STDERR.  This makes the checking more lenient with
-extra content that may show up.
-
-Signed-off-by: Cleber Rosa <crosa@redhat.com>
----
- selftests/functional/basic.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/selftests/functional/basic.py b/selftests/functional/basic.py
-index 360b3aee..aa50f0e8 100644
---- a/selftests/functional/basic.py
-+++ b/selftests/functional/basic.py
-@@ -647,13 +647,13 @@ class RunnerOperationTest(TestCaseTmpDir):
-         )
-         result = process.run(cmd_line, ignore_status=True)
-         self.assertEqual(result.exit_status, exit_codes.AVOCADO_JOB_FAIL)
--        self.assertEqual(
--            result.stderr,
-+        self.assertIn(
-             (
-                 b"Test Suite could not be created. No test references"
-                 b" provided nor any other arguments resolved into "
-                 b"tests\n"
-             ),
-+            result.stderr,
-         )
- 
-     def test_not_found(self):
-@@ -664,10 +664,10 @@ class RunnerOperationTest(TestCaseTmpDir):
-         result = process.run(cmd_line, ignore_status=True)
-         self.assertEqual(result.exit_status, exit_codes.AVOCADO_JOB_FAIL)
-         self.assertEqual(result.stdout, b"")
--        self.assertEqual(
--            result.stderr,
-+        self.assertIn(
-             b"No tests found for given test references: sbrubles\n"
-             b"Try 'avocado -V list sbrubles' for details\n",
-+            result.stderr,
-         )
- 
-     def test_invalid_unique_id(self):
--- 
-2.53.0
-

diff --git a/0001-Loosen-resultsdb-api-dep.patch b/0001-Loosen-resultsdb-api-dep.patch
deleted file mode 100644
index f5bd4e6..0000000
--- a/0001-Loosen-resultsdb-api-dep.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7378d6de63b29e6a3a95fd242c37d2e16c55f776 Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam@redhat.com>
-Date: Tue, 7 Apr 2026 11:56:56 -0700
-Subject: [PATCH] Loosen resultsdb-api dep
-
-We recently released 2.1.6. Following semver conventions, this
-version shouldn't break any compatibility, it has one bugfix and
-a bunch of linting cleanups.
-
-There's no reason for this dep to be on a specific version, and
-it causes problems for downstream packaging. Let's loosen it to
-at least accept 2.1.5 or higher up to 2.2.
-
-Signed-off-by: Adam Williamson <awilliam@redhat.com>
----
- optional_plugins/resultsdb/setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/optional_plugins/resultsdb/setup.py b/optional_plugins/resultsdb/setup.py
-index f81cb4db..b609928f 100644
---- a/optional_plugins/resultsdb/setup.py
-+++ b/optional_plugins/resultsdb/setup.py
-@@ -49,7 +49,7 @@ setup(
-     include_package_data=True,
-     install_requires=[
-         f"avocado-framework=={VERSION}",
--        "resultsdb-api==2.1.5",
-+        "resultsdb-api>=2.1.5,<2.2",
-         "urllib3<2.3.0; python_version < '3.9'",
-     ],
-     entry_points={
--- 
-2.53.0
-

diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..d035a64
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+Retired: Fails to install: https://forge.fedoraproject.org/releng/tickets/issues/13473

diff --git a/python-avocado.spec b/python-avocado.spec
deleted file mode 100644
index 7b075c0..0000000
--- a/python-avocado.spec
+++ /dev/null
@@ -1,818 +0,0 @@
-# Conditional for release vs. snapshot builds. Set to 1 for release build.
-%if ! 0%{?rel_build:1}
-    %global rel_build 1
-%endif
-
-# Settings used for build from snapshots.
-%if 0%{?rel_build}
-    %global gitref          %{version}
-    %global gittar          avocado-%{version}.tar.gz
-%else
-    %if ! 0%{?commit:1}
-        %global commit      e4ede79f097dcc1dbd30e43ffe3b7daf52d2204d
-    %endif
-    %if ! 0%{?commit_date:1}
-        %global commit_date 20251010
-    %endif
-    %global shortcommit     %(c=%{commit};echo ${c:0:9})
-    %global gitrel          .%{commit_date}git%{shortcommit}
-    %global gitref          %{commit}
-    %global gittar          avocado-%{shortcommit}.tar.gz
-%endif
-
-# Selftests are provided but may need to be skipped because many of
-# the functional tests are time and resource sensitive and can
-# cause race conditions and random build failures. They are
-# enabled by default.
-# You can disable them with rpmbuild ... --without tests
-%bcond_without tests
-
-# Only Fedora 36 and later have a suitable python3-resutlsdb_api
-# package
-%if 0%{?fedora} >= 36
-%global with_resultsdb 1
-%else
-%global with_resultsdb 0
-%endif
-
-Name: python-avocado
-Version: 112.0
-Release: 5%{?gitrel}%{?dist}
-Summary: Framework with tools and libraries for Automated Testing
-# Found licenses:
-# avocado/core/tapparser.py: MIT
-# avocado/utils/external/gdbmi_parser.py: MIT
-# avocado/utils/external/spark.py: MIT
-# optional_plugins/html/avocado_result_html/templates/bootstrap.min.css: MIT
-# optional_plugins/html/avocado_result_html/templates/bootstrap.min.js: MIT
-# selftests/.data/jenkins-junit.xsd: MIT
-# Other files: GPLv2 and GPLv2+
-License: GPL-2.0-or-later AND GPL-2.0-only AND MIT
-URL: https://avocado-framework.github.io/
-Source0: https://github.com/avocado-framework/avocado/archive/%{gitref}/%{gittar}
-# https://github.com/avocado-framework/avocado/pull/6295
-# Loosen python-resultsdb_api dep to a range rather than a pin
-Patch0: 0001-Loosen-resultsdb-api-dep.patch
-# https://github.com/avocado-framework/avocado/pull/6252
-# Fix a couple of tests with recent setuptools that produces a
-# deprecation warning for pkg_resources
-Patch1: 0001-Be-more-lenient-with-test-error-messages.patch
-BuildArch: noarch
-
-BuildRequires: kmod
-BuildRequires: procps-ng
-BuildRequires: python3-devel
-BuildRequires: python3-docutils
-BuildRequires: python3-jinja2
-BuildRequires: python3-lxml
-BuildRequires: python3-psutil
-BuildRequires: python3-setuptools
-%if ! 0%{?rhel}
-BuildRequires: python-aexpect
-%endif
-%if %{with_resultsdb}
-BuildRequires: python3-resultsdb_api
-BuildRequires: python3-pycdlib
-%endif
-
-%if %{with tests}
-BuildRequires: python3-jsonschema
-%if ! 0%{?rhel} >= 9
-BuildRequires: genisoimage
-%endif
-BuildRequires: libcdio
-BuildRequires: psmisc
-%if ! 0%{?rhel}
-BuildRequires: perl-Test-Harness
-BuildRequires: python3-xmlschema
-BuildRequires: ansible-core
-%endif
-BuildRequires: glibc-all-langpacks
-BuildRequires: python3-netifaces
-BuildRequires: python3-yaml
-BuildRequires: nmap-ncat
-BuildRequires: gcc
-BuildRequires: gdb
-BuildRequires: gdb-gdbserver
-%endif
-# with tests
-
-%description
-Avocado is a set of tools and libraries (what people call
-these days a framework) to perform automated testing.
-
-
-%prep
-%setup -q -n avocado-%{gitref}
-%patch 0 -p1
-%patch 1 -p1
-%if 0%{?rhel}
-sed -e 's/"PyYAML>=4.2b2"/"PyYAML>=3.12"/' -i optional_plugins/varianter_yaml_to_mux/setup.py
-%endif
-%if 0%{?fedora} >= 42
-sed -e '/"markupsafe<3.0.0"/d' -i optional_plugins/html/setup.py
-sed -e '/"markupsafe<3.0.0"/d' -i optional_plugins/ansible/setup.py
-%endif
-
-%build
-%py3_build
-pushd optional_plugins/html
-    %py3_build
-popd
-%if %{with_resultsdb}
-pushd optional_plugins/resultsdb
-    %py3_build
-popd
-%endif
-pushd optional_plugins/varianter_yaml_to_mux
-    %py3_build
-popd
-pushd optional_plugins/golang
-    %py3_build
-popd
-%if ! 0%{?rhel}
-pushd optional_plugins/ansible
-    %py3_build
-popd
-%endif
-pushd optional_plugins/varianter_pict
-    %py3_build
-popd
-pushd optional_plugins/varianter_cit
-    %py3_build
-popd
-pushd optional_plugins/result_upload
-    %py3_build
-popd
-pushd optional_plugins/mail
-    %py3_build
-popd
-%if ! 0%{?rhel}
-pushd optional_plugins/spawner_remote
-    %py3_build
-popd
-%endif
-rst2man man/avocado.rst man/avocado.1
-
-%install
-%py3_install
-for exe in \
-    avocado \
-    avocado-runner-noop \
-    avocado-runner-dry-run \
-    avocado-runner-exec-test \
-    avocado-runner-python-unittest \
-    avocado-runner-avocado-instrumented \
-    avocado-runner-tap \
-    avocado-runner-asset \
-    avocado-runner-package \
-    avocado-runner-pip \
-    avocado-runner-podman-image \
-    avocado-runner-sysinfo \
-    avocado-runner-vmimage \
-    avocado-external-runner \
-    avocado-software-manager
-do
-    mv %{buildroot}%{_bindir}/$exe %{buildroot}%{_bindir}/$exe-%{python3_version}
-    ln -s $exe-%{python3_version} %{buildroot}%{_bindir}/$exe-3
-    ln -s $exe-%{python3_version} %{buildroot}%{_bindir}/$exe
-done
-# configuration is held at /etc/avocado only and part of the
-# python-avocado-common package
-rm -rf %{buildroot}%{python3_sitelib}/avocado/etc
-# ditto for libexec files
-rm -rf %{buildroot}%{python3_sitelib}/avocado/libexec
-pushd optional_plugins/html
-    %py3_install
-popd
-%if %{with_resultsdb}
-pushd optional_plugins/resultsdb
-    %py3_install
-popd
-%endif
-pushd optional_plugins/varianter_yaml_to_mux
-    %py3_install
-popd
-pushd optional_plugins/golang
-    %py3_install
-popd
-%if ! 0%{?rhel}
-pushd optional_plugins/ansible
-    %py3_install
-popd
-%endif
-pushd optional_plugins/varianter_pict
-    %py3_install
-popd
-pushd optional_plugins/varianter_cit
-    %py3_install
-popd
-pushd optional_plugins/result_upload
-    %py3_install
-popd
-pushd optional_plugins/mail
-    %py3_install
-popd
-%if ! 0%{?rhel}
-pushd optional_plugins/spawner_remote
-    %py3_install
-popd
-%endif
-# cleanup plugin test cruft
-rm -rf %{buildroot}%{python3_sitelib}/tests
-mkdir -p %{buildroot}%{_sysconfdir}/avocado
-cp -r avocado/etc/avocado/scripts %{buildroot}%{_sysconfdir}/avocado/scripts
-cp -r avocado/etc/avocado/sysinfo %{buildroot}%{_sysconfdir}/avocado/sysinfo
-mkdir -p %{buildroot}%{_libexecdir}/avocado
-cp avocado/libexec/avocado-bash-utils %{buildroot}%{_libexecdir}/avocado/avocado-bash-utils
-cp avocado/libexec/avocado_debug %{buildroot}%{_libexecdir}/avocado/avocado_debug
-cp avocado/libexec/avocado_error %{buildroot}%{_libexecdir}/avocado/avocado_error
-cp avocado/libexec/avocado_info %{buildroot}%{_libexecdir}/avocado/avocado_info
-cp avocado/libexec/avocado_warn %{buildroot}%{_libexecdir}/avocado/avocado_warn
-mkdir -p %{buildroot}%{_mandir}/man1
-install -m 0644 man/avocado.1 %{buildroot}%{_mandir}/man1/avocado.1
-mkdir -p %{buildroot}%{_pkgdocdir}
-install -m 0644 README.rst %{buildroot}%{_pkgdocdir}
-install -d -m 0755 %{buildroot}%{_sharedstatedir}/avocado/data
-# place examples in documentation directory
-install -d -m 0755 %{buildroot}%{_docdir}/avocado
-cp -r examples/gdb-prerun-scripts %{buildroot}%{_docdir}/avocado/gdb-prerun-scripts
-cp -r examples/plugins %{buildroot}%{_docdir}/avocado/plugins
-cp -r examples/tests %{buildroot}%{_docdir}/avocado/tests
-cp -r examples/varianter_cit %{buildroot}%{_docdir}/avocado/varianter_cit
-cp -r examples/varianter_pict %{buildroot}%{_docdir}/avocado/varianter_pict
-cp -r examples/yaml_to_mux %{buildroot}%{_docdir}/avocado/yaml_to_mux
-mkdir -p %{buildroot}%{_datarootdir}/avocado
-mv %{buildroot}%{python3_sitelib}/avocado/schemas %{buildroot}%{_datarootdir}/avocado
-find %{buildroot}%{_docdir}/avocado -type f -name '*.py' -exec chmod -c -x {} ';'
-
-%if %{with tests}
-%check
-    # LANG: to make the results predictable, we pin the language
-    # that is used during test execution.
-    # AVOCADO_CHECK_LEVEL: package build environments have the least
-    # amount of resources we have observed so far. Let's avoid tests that
-    # require too much resources or are time sensitive
-    PATH=%{buildroot}%{_bindir}:%{buildroot}%{_libexecdir}/avocado:$PATH \
-        PYTHONPATH=%{buildroot}%{python3_sitelib}:. \
-        LANG=en_US.UTF-8 \
-        AVOCADO_CHECK_LEVEL=0 \
-        %{python3} selftests/check.py --skip static-checks --disable-plugin-checks robot
-%endif
-
-
-%package -n python3-avocado
-Summary: %{summary}
-Requires: python-avocado-common == %{version}-%{release}
-Requires: gdb
-Requires: gdb-gdbserver
-Requires: procps-ng
-%if ! 0%{?rhel}
-Requires: python3-pycdlib
-%endif
-
-%description -n python3-avocado
-Avocado is a set of tools and libraries (what people call
-these days a framework) to perform automated testing.
-
-%files -n python3-avocado
-%license LICENSE
-%{_pkgdocdir}/README.rst
-%{python3_sitelib}/avocado/
-%{python3_sitelib}/avocado_framework-%{version}-py%{python3_version}.egg-info
-%{_bindir}/avocado-%{python3_version}
-%{_bindir}/avocado-3
-%{_bindir}/avocado
-%{_bindir}/avocado-runner-noop-%{python3_version}
-%{_bindir}/avocado-runner-noop-3
-%{_bindir}/avocado-runner-noop
-%{_bindir}/avocado-runner-dry-run-%{python3_version}
-%{_bindir}/avocado-runner-dry-run-3
-%{_bindir}/avocado-runner-dry-run
-%{_bindir}/avocado-runner-exec-test-%{python3_version}
-%{_bindir}/avocado-runner-exec-test-3
-%{_bindir}/avocado-runner-exec-test
-%{_bindir}/avocado-runner-python-unittest-%{python3_version}
-%{_bindir}/avocado-runner-python-unittest-3
-%{_bindir}/avocado-runner-python-unittest
-%{_bindir}/avocado-runner-avocado-instrumented-%{python3_version}
-%{_bindir}/avocado-runner-avocado-instrumented-3
-%{_bindir}/avocado-runner-avocado-instrumented
-%{_bindir}/avocado-runner-tap-%{python3_version}
-%{_bindir}/avocado-runner-tap-3
-%{_bindir}/avocado-runner-tap
-%{_bindir}/avocado-runner-asset-%{python3_version}
-%{_bindir}/avocado-runner-asset-3
-%{_bindir}/avocado-runner-asset
-%{_bindir}/avocado-runner-package-%{python3_version}
-%{_bindir}/avocado-runner-package-3
-%{_bindir}/avocado-runner-package
-%{_bindir}/avocado-runner-pip-%{python3_version}
-%{_bindir}/avocado-runner-pip-3
-%{_bindir}/avocado-runner-pip
-%{_bindir}/avocado-runner-podman-image-%{python3_version}
-%{_bindir}/avocado-runner-podman-image-3
-%{_bindir}/avocado-runner-podman-image
-%{_bindir}/avocado-runner-sysinfo-%{python3_version}
-%{_bindir}/avocado-runner-sysinfo-3
-%{_bindir}/avocado-runner-sysinfo
-%{_bindir}/avocado-runner-vmimage-%{python3_version}
-%{_bindir}/avocado-runner-vmimage-3
-%{_bindir}/avocado-runner-vmimage
-%{_bindir}/avocado-software-manager-%{python3_version}
-%{_bindir}/avocado-software-manager-3
-%{_bindir}/avocado-software-manager
-%{_bindir}/avocado-external-runner-%{python3_version}
-%{_bindir}/avocado-external-runner-3
-%{_bindir}/avocado-external-runner
-
-
-%package -n python-avocado-common
-Summary: Avocado common files
-License: GPL-2.0-or-later
-
-%description -n python-avocado-common
-Common files (such as configuration) for the Avocado Testing Framework.
-
-%files -n python-avocado-common
-%license LICENSE
-%{_mandir}/man1/avocado.1.gz
-%dir %{_docdir}/avocado
-%dir %{_sharedstatedir}/avocado
-%dir %{_sysconfdir}/avocado
-%dir %{_sysconfdir}/avocado/sysinfo
-%dir %{_sysconfdir}/avocado/scripts
-%dir %{_sysconfdir}/avocado/scripts/job
-%dir %{_sysconfdir}/avocado/scripts/job/pre.d
-%dir %{_sysconfdir}/avocado/scripts/job/post.d
-%dir %{_sharedstatedir}/avocado/data
-%dir %{_datarootdir}/avocado
-%dir %{_datarootdir}/avocado/schemas
-%{_datarootdir}/avocado/schemas/*
-%config(noreplace) %{_sysconfdir}/avocado/sysinfo/commands
-%config(noreplace) %{_sysconfdir}/avocado/sysinfo/files
-%config(noreplace) %{_sysconfdir}/avocado/sysinfo/profilers
-%{_sysconfdir}/avocado/scripts/job/pre.d/README
-%{_sysconfdir}/avocado/scripts/job/post.d/README
-
-
-%package -n python3-avocado-plugins-output-html
-Summary: Avocado HTML report plugin
-License: GPL-2.0-or-later AND MIT
-Requires: python3-avocado == %{version}-%{release}
-
-%description -n python3-avocado-plugins-output-html
-Adds to avocado the ability to generate an HTML report at every job results
-directory. It also gives the user the ability to write a report on an
-arbitrary filesystem location.
-
-%files -n python3-avocado-plugins-output-html
-%{python3_sitelib}/avocado_result_html/
-%{python3_sitelib}/avocado_framework_plugin_result_html-%{version}-py%{python3_version}.egg-info
-
-
-%if %{with_resultsdb}
-%package -n python3-avocado-plugins-resultsdb
-Summary: Avocado plugin to propagate job results to ResultsDB
-License: GPL-2.0-or-later
-Requires: python3-avocado == %{version}-%{release}
-
-%description -n python3-avocado-plugins-resultsdb
-Allows Avocado to send job results directly to a ResultsDB
-server.
-
-%files -n python3-avocado-plugins-resultsdb
-%{python3_sitelib}/avocado_resultsdb/
-%{python3_sitelib}/avocado_framework_plugin_resultsdb-%{version}-py%{python3_version}.egg-info
-%endif
-# with_resultsdb
-
-
-%package -n python3-avocado-plugins-varianter-yaml-to-mux
-Summary: Avocado plugin to generate variants out of yaml files
-License: GPL-2.0-or-later
-Requires: python3-avocado == %{version}-%{release}
-
-%description -n python3-avocado-plugins-varianter-yaml-to-mux
-Can be used to produce multiple test variants with test parameters
-defined in a yaml file(s).
-
-%files -n python3-avocado-plugins-varianter-yaml-to-mux
-%{python3_sitelib}/avocado_varianter_yaml_to_mux/
-%{python3_sitelib}/avocado_framework_plugin_varianter_yaml_to_mux-%{version}-py%{python3_version}.egg-info
-
-
-%package -n python3-avocado-plugins-golang
-Summary: Avocado plugin for execution of golang tests
-License: GPL-2.0-or-later
-Requires: python3-avocado == %{version}-%{release}
-Requires: golang
-
-%description -n python3-avocado-plugins-golang
-Allows Avocado to list golang tests, and if golang is installed,
-also run them.
-
-%files -n python3-avocado-plugins-golang
-%{python3_sitelib}/avocado_golang/
-%{python3_sitelib}/avocado_framework_plugin_golang-%{version}-py%{python3_version}.egg-info
-%{_bindir}/avocado-runner-golang
-
-
-%if ! 0%{?rhel}
-%package -n python3-avocado-plugins-ansible
-Summary: Avocado Ansible Dependency plugin
-License: GPL-2.0-or-later
-Requires: python3-avocado == %{version}-%{release}
-Requires: ansible-core
-
-%description -n python3-avocado-plugins-ansible
-Adds to Avocado the ability to use ansible modules as dependecies for
-tests.
-
-%files -n python3-avocado-plugins-ansible
-%{python3_sitelib}/avocado_ansible*
-%{python3_sitelib}/avocado_framework_plugin_ansible*
-%{_bindir}/avocado-runner-ansible-module
-%endif
-
-
-%package -n python3-avocado-plugins-varianter-pict
-Summary: Varianter with combinatorial capabilities by PICT
-License: GPL-2.0-or-later
-Requires: python3-avocado == %{version}-%{release}
-
-%description -n python3-avocado-plugins-varianter-pict
-This plugin uses a third-party tool to provide variants created by
-Pair-Wise algorithms, also known as Combinatorial Independent Testing.
-
-%files -n python3-avocado-plugins-varianter-pict
-%{python3_sitelib}/avocado_varianter_pict/
-%{python3_sitelib}/avocado_framework_plugin_varianter_pict-%{version}-py%{python3_version}.egg-info
-
-
-%package -n python3-avocado-plugins-varianter-cit
-Summary: Varianter with Combinatorial Independent Testing capabilities
-License: GPL-2.0-or-later
-Requires: python3-avocado == %{version}-%{release}
-
-%description -n python3-avocado-plugins-varianter-cit
-A varianter plugin that generates variants using Combinatorial
-Independent Testing (AKA Pair-Wise) algorithm developed in
-collaboration with CVUT Prague.
-
-%files -n python3-avocado-plugins-varianter-cit
-%{python3_sitelib}/avocado_varianter_cit/
-%{python3_sitelib}/avocado_framework_plugin_varianter_cit-%{version}-py%{python3_version}.egg-info
-
-
-%package -n python3-avocado-plugins-result-upload
-Summary: Avocado plugin propagate job results to a remote host
-License: GPL-2.0-or-later
-Requires: python3-avocado == %{version}-%{release}
-
-%description -n python3-avocado-plugins-result-upload
-This optional plugin is intended to upload the Avocado Job results to
-a dedicated sever.
-
-%files -n python3-avocado-plugins-result-upload
-%{python3_sitelib}/avocado_result_upload/
-%{python3_sitelib}/avocado_framework_plugin_result_upload-%{version}-py%{python3_version}.egg-info
-
-%package -n python3-avocado-plugins-result-mail
-Summary: Avocado Mail Notification for Jobs
-License: GPL-2.0-or-later
-Requires: python3-avocado == %{version}-%{release}
-
-%description -n python3-avocado-plugins-result-mail
-The Mail result plugin enables you to receive email notifications
-for job start and completion events within the Avocado testing framework.
-
-%files -n python3-avocado-plugins-result-mail
-%{python3_sitelib}/avocado_result_mail*
-%{python3_sitelib}/avocado_framework_plugin_result_mail*
-
-%if ! 0%{?rhel}
-%package -n python3-avocado-plugins-spawner-remote
-Summary: Avocado Plugin to spawn tests on a remote host
-License: GPL-2.0-or-later
-Requires: python3-avocado == %{version}-%{release}
-
-%description -n python3-avocado-plugins-spawner-remote
-This optional plugin is intended to spawn tests on a remote host.
-
-%files -n python3-avocado-plugins-spawner-remote
-%{python3_sitelib}/avocado_spawner_remote*
-%{python3_sitelib}/avocado_framework_plugin_spawner_remote*
-%endif
-
-%package -n python-avocado-examples
-Summary: Avocado Test Framework Example Tests
-License: GPL-2.0-or-later
-# documentation does not require main package, but needs to be in lock-step if present
-Conflicts: python3-avocado < %{version}-%{release}, python3-avocado > %{version}-%{release}
-
-%description -n python-avocado-examples
-The set of example tests present in the upstream tree of the Avocado framework.
-Some of them are used as functional tests of the framework, others serve as
-examples of how to write tests on your own.
-
-%files -n python-avocado-examples
-%license LICENSE
-%dir %{_docdir}/avocado
-%{_docdir}/avocado/gdb-prerun-scripts
-%{_docdir}/avocado/plugins
-%{_docdir}/avocado/tests
-%{_docdir}/avocado/varianter_cit
-%{_docdir}/avocado/varianter_pict
-%{_docdir}/avocado/yaml_to_mux
-
-
-%package -n python-avocado-bash
-Summary: Avocado Test Framework Bash Utilities
-License: GPL-2.0-or-later AND GPL-2.0-only
-Requires: python-avocado-common == %{version}-%{release}
-
-%description -n python-avocado-bash
-A small set of utilities to interact with Avocado from the Bourne
-Again Shell code (and possibly other similar shells).
-
-%files -n python-avocado-bash
-%license LICENSE
-%dir %{_libexecdir}/avocado
-%{_libexecdir}/avocado/avocado-bash-utils
-%{_libexecdir}/avocado/avocado_debug
-%{_libexecdir}/avocado/avocado_error
-%{_libexecdir}/avocado/avocado_info
-%{_libexecdir}/avocado/avocado_warn
-
-
-%changelog
-* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 112.0-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
-
-* Thu Jun 04 2026 Python Maint <python-maint@redhat.com> - 112.0-4
-- Rebuilt for Python 3.15
-
-* Tue Apr 07 2026 Adam Williamson <awilliam@redhat.com> - 112.0-3
-- Backport PR #6295 to fix resultsdb_api dependency (#2452821)
-- Backport PR #6252 to fix build (tests) with recent setuptools (#2434951)
-
-* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 112.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
-
-* Fri Oct 10 2025 Cleber Rosa  <crosa@redhat.com> - 112.0-1
-- Sync with upstream release 112.0
-- Removed python3-elementpath build requirement
-- Made the remote spawner a proper sub package
-- Packaged JSON schema files
-- Introduced new sub package for mail plugin
-- Removed the pinning of markupsafe on Fedora 42 and later
-- Packaged avocado-runner-pip
-- Packaged avocado-runner-vmimage
-- Provide requirements for running the functional test
-  nrunner.py:TaskRunStatusService.test_task_status_service_lost
-- Require gcc, gdb and gdb-gdbserver for tests
-
-* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 92.3-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
-
-* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 92.3-5
-- Rebuilt for Python 3.14
-
-* Mon Jan 20 2025 Miro Hrončok <mhroncok@redhat.com> - 92.3-4
-- Loosen the PyYAML version requirement in python3-avocado-plugins-varianter-yaml-to-mux
-
-* Mon Jan 20 2025 Cleber Rosa <crosa@redhat.com> - 92.3-3
-- convert remaining licenses to SPDX
-
-* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 92.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
-
-* Mon Aug 19 2024 Cleber Rosa <crosa@redhat.com> - 92.3-1
-- Updated to 92.3
-- Support building and running under Python 3.13 for F42
-- Removed patch from 92.1 as its present in 92.3
-
-* Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 92.1-8
-- convert license to SPDX
-
-* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 92.1-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
-
-* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 92.1-6
-- Rebuilt for Python 3.13
-
-* Mon Jan 29 2024 Fedora Release Engineering <releng@fedoraproject.org> - 92.1-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 92.1-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 92.1-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 92.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
-
-* Mon Jul 17 2023 Cleber Rosa <crosa@redhat.com> - 92.1-1
-- Updated to 92.1
-- Support building and running under Python 3.12 for F39
-
-* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 92.0-3
-- Rebuilt for Python 3.12
-
-* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 92.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-
-* Tue Aug  9 2022 Cleber Rosa <crosa@redhat.com> - 92.0-1
-- Use selftests/check.py job instead of more limited selftests/run
-- Included avocado-runner-sysinfo, avocado-runner-requirement-package,
-  avocado-runner-requirement-asset and avocado-runner-dry-run and
-  avocado-runner-golang executables
-- Removed avocado-runner-exec executable
-- Removed loader_yaml and glib plugin packages
-
-* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 82.0-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Tue Jun 21 2022 Python Maint <python-maint@redhat.com> - 82.0-6
-- Rebuilt for Python 3.11
-
-* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 82.0-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Wed Jul 28 2021 Merlin Mathesius <mmathesi@redhat.com> - 82.0-4
-- Loosen jinja2 version requirement to fix FTBFS in Rawhide
-
-* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 82.0-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Thu Mar 18 2021 Merlin Mathesius <mmathesi@redhat.com> - 82.0-2
-- Drop obsolete packages from BuildRequires
-- Generate man page directly using 'rst2man' rather than requiring 'make'
-- Adjust PATH to make sure self-tests find internal modules
-- Spec file cleanup following package review.
-
-* Mon Sep 14 2020 Cleber Rosa <cleber@redhat.com> - 82.0-1
-- Sync with upstream release 82.0.
-- Removed python libvirt depedency as the vm runner has been removed
-  upstream
-- Dropped configuration files to sync with upstream which made them
-  optional and doesn't ship them anymore
-- Add on extra character to short commit to sync with upstream
-
-* Sat Jun  6 2020 Cleber Rosa <cleber@redhat.com> - 80.0-1
-- Sync with upstream release 80.0.
-- Dropped use of custom avocado command for tests
-- Do not build deprecated runners
-
-* Tue May 12 2020 Cleber Rosa <cleber@redhat.com> - 79.0-1
-- Sync with upstream release 79.0.
-- Added Python's user base bin dir to the PATH environment variable
-  while running tests, so that avocado-runner-* scripts can be found
-- Moved comment to new lines closing the conditionals, to avoid
-  errors from rpmlint and rpmbuild
-
-* Wed Apr 15 2020 Merlin Mathesius <mmathesi@redhat.com> - 78.0-1
-- Sync with upstream release 78.0.
-
-* Tue Mar 17 2020 Merlin Mathesius <mmathesi@redhat.com> - 77.0-1
-- Sync with upstream release 77.0.
-
-* Mon Mar 09 2020 Merlin Mathesius <mmathesi@redhat.com> - 76.0-1
-- Sync with upstream release 76.0.
-
-* Mon Jan 20 2020 Merlin Mathesius <mmathesi@redhat.com> - 75.1-1
-- Sync with upstream release 75.1.
-
-* Mon Dec 23 2019 Merlin Mathesius <mmathesi@redhat.com> - 74.0-1
-- Sync with upstream release 74.0.
-
-* Wed Nov 27 2019 Merlin Mathesius <mmathesi@redhat.com> - 73.0-1
-- Sync with upstream release 73.0.
-- Adjustments to build for RHEL 8.
-
-* Wed Oct 02 2019 Merlin Mathesius <mmathesi@redhat.com> - 72.0-1
-- Sync with upstream release 72.0.
-
-* Wed Aug 28 2019 Merlin Mathesius <mmathesi@redhat.com> - 71.0-1
-- Sync with upstream release 71.0.
-
-* Wed Jun 26 2019 Merlin Mathesius <mmathesi@redhat.com> - 70.0-1
-- Sync with upstream release 70.0.
-- Drop all Python 2 support from SPEC file.
-
-* Wed May 22 2019 Merlin Mathesius <mmathesi@redhat.com> - 69.0-4
-- pyliblzma is Python 2-only and no longer available as of F31.
-- Unversioned executables should now be Python 3.
-
-* Mon May 20 2019 Merlin Mathesius <mmathesi@redhat.com> - 69.0-3
-- Drop Python 2 support from F31 and RHEL8 onward.
-- Disable components dependent upon Fiber in Fedora 31 and later,
-  since avocado is currently incompatible with the new Fiber API.
-
-* Tue Mar 19 2019 Merlin Mathesius <mmathesi@redhat.com> - 69.0-2
-- python2-sphinx is no longer available or needed as of F31
-
-* Wed Feb 27 2019 Merlin Mathesius <mmathesi@redhat.com> - 69.0-1
-- Sync with upstream release 69.0.
-
-* Fri Feb 22 2019 Merlin Mathesius <mmathesi@redhat.com> - 68.0-1
-- Sync with upstream release 68.0.
-
-* Thu Jan 31 2019 Merlin Mathesius <mmathesi@redhat.com> - 67.0-1
-- Sync with upstream release 67.0.
-- genisoimage, libcdio, and psmisc added as build deps so iso9660 tests run.
-- Replace pystache requirement with jinja2.
-- glibc-all-langpacks added as build dep for F30+ so vmimage tests run.
-- python2-resultsdb_api package has been removed in F30 so
-  python2-avocado-plugins-resultsdb was also disabled.
-
-* Wed Nov 21 2018 Merlin Mathesius <mmathesi@redhat.com> - 66.0-1
-- Sync with upstream release 66.0.
-- python2-pycdlib package has been removed in F30 as part of
-  https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
-
-* Thu Oct 04 2018 Merlin Mathesius <mmathesi@redhat.com> - 65.0-1
-- Sync with upstream release 65.0.
-
-* Tue Aug 28 2018 Merlin Mathesius <mmathesi@redhat.com> - 64.0-1
-- Sync with upstream release 64.0.
-
-* Thu Jul 26 2018 Merlin Mathesius <mmathesi@redhat.com> - 63.0-2
-- Added missing python[2]-enum34 requirement.
-
-* Mon Jul 23 2018 Merlin Mathesius <mmathesi@redhat.com> - 63.0-1
-- Sync with upstream release 63.0. (BZ#1602175)
-  Include upstream patches needed to build for Rawhide.
-
-* Wed Jun 13 2018 Merlin Mathesius <mmathesi@redhat.com> - 62.0-1
-- Sync with upstream release 62.0. (BZ#1590572)
-- Correct libvirt dependency for EPEL7/RHEL7
-
-* Thu May 17 2018 Merlin Mathesius <mmathesi@redhat.com> - 61.0-1
-- Sync with upstream release 61.0.
-- Packaging updates for Python 3.
-- Reorganize SPEC file.
-
-* Mon Apr  9 2018 Cleber Rosa <cleber@redhat.com> - 52.1-2
-- Added Fedora CI tests
-
-* Tue Apr 03 2018 Merlin Mathesius <mmathesi@redhat.com> - 52.1-1
-- Sync with upstream release 52.1 (LTS series).
-- Correct deprecated use of unversioned python.
-
-* Mon Mar 26 2018 Iryna Shcherbina <ishcherb@redhat.com> - 52.0-5
-- Update Python 2 dependency declarations to new packaging standards
-  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
-
-* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 52.0-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Wed Aug 09 2017 Merlin Mathesius <mmathesi@redhat.com> - 52.0-3
-- Fix FTBFS error by disabling selfcheck producing false failures
-- Update SPEC to use pkgname instead of srcname macro where appropriate
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 52.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Thu Jun 29 2017 Merlin Mathesius <mmathesi@redhat.com> - 52.0-1
-- Sync with upstream release 52.0. (BZ#1465409)
-
-* Wed Jun 14 2017 Merlin Mathesius <mmathesi@redhat.com> - 51.0-1
-- Sync with upstream release 51.0. (BZ#1460837)
-- Disable selftests when libvirt may not be available.
-
-* Wed May 17 2017 Merlin Mathesius <mmathesi@redhat.com> - 50.0-1
-- Sync with upstream release 50.0. (BZ#1431413)
-- Be explicit about selftest level run on check.
-
-* Tue Apr 25 2017 Merlin Mathesius <mmathesi@redhat.com> - 49.0-1
-- Sync with upstream release 49.0. (BZ#1431413)
-
-* Tue Apr 18 2017 Merlin Mathesius <mmathesi@redhat.com> - 48.0-1
-- Sync with upstream release 48.0. (BZ#1431413)
-- Allow rel_build macro to be defined outside of the SPEC file.
-
-* Mon Mar 27 2017 Merlin Mathesius <mmathesi@redhat.com> - 47.0-1
-- Sync with upstream release 47.0.
-- Enable self-tests during build.
-- Add example test to be run by Taskotron.
-
-* Mon Feb 27 2017 Merlin Mathesius <mmathesi@redhat.com> - 46.0-2
-- Incorporate upstream SPEC file changes to split plugins into subpackages.
-- Remove obsolete CC-BY-SA license, which went away with the halflings font.
-
-* Tue Feb 14 2017 Merlin Mathesius <mmathesi@redhat.com> - 46.0-1
-- Sync with upstream release 46.0.
-- Remove halflings license since font was removed from upstream.
-- SPEC updates to easily switch between release and snapshot builds.
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 43.0-8
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Tue Jan 10 2017 Merlin Mathesius <mmathesi@redhat.com> - 43.0-7
-- SPEC updates to build and install for EPEL.
-
-* Mon Nov 21 2016 Merlin Mathesius <mmathesi@redhat.com> - 43.0-6
-- Initial packaging for Fedora.

diff --git a/sources b/sources
deleted file mode 100644
index 6494afc..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-SHA512 (avocado-112.0.tar.gz) = 1872eda730f5cd28f0562732464ce14b2c7731cedb298fcc4b093a04235d26cc5e3db7f92c3ae3edcd6104ad2db4fce66fa7a6148da754e4bdb8120fa12a75a3

diff --git a/tests/gdbtest.py b/tests/gdbtest.py
deleted file mode 100755
index c0cdc55..0000000
--- a/tests/gdbtest.py
+++ /dev/null
@@ -1,347 +0,0 @@
-import os
-
-from avocado import Test
-from avocado.utils import gdb, genio, process
-
-
-class GdbTest(Test):
-
-    """
-    Execute the gdb test
-
-    :avocado: tags=requires_c_compiler
-    """
-
-    VALID_CMDS = ["-list-target-features",
-                  "-break-info",
-                  "-break-list",
-                  "-thread-info",
-                  "-stack-info-frame",
-                  "-stack-info-depth"]
-
-    INVALID_CMDS = ["-foobar",
-                    "-magic8ball",
-                    "-find-me-the-bug",
-                    "-auto-debug-it"]
-
-    def setUp(self):
-        self.return99_binary_path = os.path.join(self.teststmpdir, 'return99')
-        if not os.path.exists(self.return99_binary_path):
-            return99_source_path = self.get_data('return99.c')
-            if return99_source_path is None:
-                self.cancel('Test is missing data file "return99.c"')
-            process.system(f'gcc -O0 -g {return99_source_path} -o {self.return99_binary_path}')
-
-        self.segfault_binary_path = os.path.join(self.teststmpdir, 'segfault')
-        if not os.path.exists(self.segfault_binary_path):
-            segfault_source_path = self.get_data('segfault.c')
-            if segfault_source_path is None:
-                self.cancel('Test is missing data file "segfault.c"')
-            process.system(f'gcc -O0 -g {segfault_source_path} -o {self.segfault_binary_path}')
-
-    @staticmethod
-    def is_process_alive(process):  # pylint: disable=W0621
-        """
-        Checks if a process is still alive
-
-        :param process: a :class:`subprocess.POpen` instance
-        :type process: :class:`subprocess.POpen`
-        :returns: True or False
-        :rtype: bool
-        """
-        return process.poll() is None
-
-    def test_start_exit(self):
-        """
-        Tests execution of multiple GDB instances without any blocking or race
-        """
-        self.log.info("Testing execution of multiple GDB instances")
-        process_count = 10
-        gdb_instances = []
-        for i in range(0, process_count):
-            gdb_instances.append(gdb.GDB())
-
-        for i in range(0, process_count):
-            self.assertEqual(gdb_instances[i].exit(), 0)
-
-    def test_existing_commands_raw(self):
-        """
-        Tests the GDB response to commands that exist and to those that do not
-        """
-        g = gdb.GDB()
-        self.log.info("Testing existing (valid) GDB commands using raw commands")
-        for cmd in self.VALID_CMDS:
-            info_cmd = f"-info-gdb-mi-command {cmd[1:]}"
-            r = g.cmd(info_cmd)
-            self.assertEqual(r.result.result.command.exists, 'true')
-
-        self.log.info("Testing non-existing (invalid) GDB commands using raw "
-                      "commands")
-        for cmd in self.INVALID_CMDS:
-            info_cmd = f"-info-gdb-mi-command {cmd[1:]}"
-            r = g.cmd(info_cmd)
-            self.assertEqual(r.result.result.command.exists, 'false')
-
-    def test_existing_commands(self):
-        g = gdb.GDB()
-
-        self.log.info("Testing existing (valid) GDB commands using utility "
-                      "methods")
-        for cmd in self.VALID_CMDS:
-            self.assertTrue(g.cmd_exists(cmd))
-            g.cmd(cmd)
-
-        self.log.info("Testing non-existing (invalid) GDB commands using "
-                      "utility methods")
-        for cmd in self.INVALID_CMDS:
-            self.assertFalse(g.cmd_exists(cmd))
-
-    def test_load_set_breakpoint_run_exit_raw(self):
-        """
-        Test a common GDB cycle using raw commands: load, set break, run, exit
-        """
-        self.log.info("Testing that GDB loads a file and sets a breakpoint")
-        g = gdb.GDB()
-
-        file_cmd = f"-file-exec-and-symbols {self.return99_binary_path}"
-        r = g.cmd(file_cmd)
-        self.assertEqual(r.result.class_, 'done')
-
-        break_cmd = "-break-insert 5"
-        r = g.cmd(break_cmd)
-        self.assertEqual(r.result.class_, 'done')
-        self.assertEqual(r.result.result.bkpt.number, '1')
-        self.assertEqual(r.result.result.bkpt.enabled, 'y')
-
-        break_del_cmd = "-break-delete 1"
-        r = g.cmd(break_del_cmd)
-        self.assertEqual(r.result.class_, 'done')
-
-        run_cmd = "-exec-run"
-        r = g.cmd(run_cmd)
-        self.assertEqual(r.result.class_, 'running')
-
-        g.cmd("-gdb-exit")
-        self.assertEqual(g.process.wait(), 0)
-
-    def test_load_set_breakpoint_run_exit(self):
-        """
-        Test a common GDB cycle: load, set break, delete break, run, exit
-        """
-        self.log.info("Testing a common GDB cycle")
-        g = gdb.GDB()
-        g.set_file(self.return99_binary_path)
-        g.set_break("5")
-        g.del_break(1)
-        g.run()
-        g.exit()
-
-    def test_generate_core(self):
-        """
-        Load a file that will cause a segfault and produce a core dump
-        """
-        self.log.info("Testing that a core dump will be generated")
-
-        g = gdb.GDB()
-        file_cmd = f"-file-exec-and-symbols {self.segfault_binary_path}"
-        r = g.cmd(file_cmd)
-        self.assertEqual(r.result.class_, 'done')
-
-        run_cmd = "-exec-run"
-        r = g.cmd(run_cmd)
-        self.assertEqual(r.result.class_, 'running')
-
-        other_messages = g.read_until_break()
-        core_path = None
-        for msg in other_messages:
-            parsed_msg = gdb.parse_mi(msg.decode())
-            if (hasattr(parsed_msg, 'class_') and
-                (parsed_msg.class_ == 'stopped') and
-                    (parsed_msg.result.signal_name == 'SIGSEGV')):
-                core_path = f"{self.segfault_binary_path}.core"
-                gcore_cmd = f'gcore {core_path}'
-                gcore_cmd = gdb.encode_mi_cli(gcore_cmd)
-                r = g.cmd(gcore_cmd)
-                self.assertEqual(r.result.class_, 'done')
-
-        self.assertTrue(os.path.exists(core_path))
-        g.exit()
-
-    def test_set_multiple_break(self):
-        """
-        Tests that multiple breakpoints do not interfere with each other
-        """
-        self.log.info("Testing setting multiple breakpoints")
-        g = gdb.GDB()
-        g.set_file(self.return99_binary_path)
-        g.set_break('empty')
-        g.set_break('7')
-        g.exit()
-
-    def test_disconnect_raw(self):
-        """
-        Connect/disconnect repeatedly from a remote debugger using raw commands
-        """
-        self.log.info("Testing connecting and disconnecting repeatedly using "
-                      "raw commands")
-        s = gdb.GDBServer()
-        g = gdb.GDB()
-
-        # Do 100 cycle of target (kind of connects) and disconnects
-        for _ in range(0, 100):
-            cmd = f'-target-select extended-remote :{s.port}'
-            r = g.cmd(cmd)
-            self.assertEqual(r.result.class_, 'connected')
-            r = g.cmd('-target-disconnect')
-            self.assertEqual(r.result.class_, 'done')
-
-        # manual server shutdown
-        cmd = f'-target-select extended-remote :{s.port}'
-        r = g.cmd(cmd)
-        self.assertEqual(r.result.class_, 'connected')
-        r = g.cli_cmd('monitor exit')
-        self.assertEqual(r.result.class_, 'done')
-
-        g.exit()
-        s.exit()
-
-    def test_disconnect(self):
-        """
-        Connect/disconnect repeatedly from a remote debugger using utilities
-        """
-        self.log.info("Testing connecting and disconnecting repeatedly")
-        s = gdb.GDBServer()
-        g = gdb.GDB()
-
-        for _ in range(0, 100):
-            r = g.connect(s.port)
-            self.assertEqual(r.result.class_, 'connected')
-            r = g.disconnect()
-            self.assertEqual(r.result.class_, 'done')
-
-        g.exit()
-        s.exit()
-
-    def test_remote_exec(self):
-        """
-        Tests execution on a remote target
-        """
-        self.log.info("Testing execution on a remote target")
-        hit_breakpoint = False
-
-        s = gdb.GDBServer()
-        g = gdb.GDB()
-
-        cmd = f'-file-exec-and-symbols {self.return99_binary_path}'
-        r = g.cmd(cmd)
-        self.assertEqual(r.result.class_, 'done')
-
-        cmd = f'set remote exec-file {self.return99_binary_path}'
-        r = g.cmd(cmd)
-        self.assertEqual(r.result.class_, 'done')
-
-        cmd = f"-break-insert {'main'}"
-        r = g.cmd(cmd)
-        self.assertEqual(r.result.class_, 'done')
-
-        r = g.cmd('-exec-run')
-
-        other_messages = g.read_until_break()
-        for msg in other_messages:
-            parsed_msg = gdb.parse_mi(msg.decode())
-            if (hasattr(parsed_msg, 'class_') and
-                parsed_msg.class_ == 'stopped' and
-                    parsed_msg.result.reason == 'breakpoint-hit'):
-                hit_breakpoint = True
-
-        self.assertTrue(hit_breakpoint)
-        g.exit()
-        s.exit()
-
-    def test_stream_messages(self):
-        """
-        Tests if the expected response appears in the result stream messages
-        """
-        self.log.info("Testing that messages appears in the result stream")
-        g = gdb.GDB()
-        r = g.cmd("-gdb-version")
-        self.assertIn("GNU GPL version", r.get_stream_messages_text())
-
-    def test_connect_multiple_clients(self):
-        """
-        Tests two or more connections to the same server raise an exception
-        """
-        self.log.info("Testing that multiple clients cannot connect at once")
-        s = gdb.GDBServer()
-        c1 = gdb.GDB()
-        c1.connect(s.port)
-        c2 = gdb.GDB()
-        with self.assertRaises(gdb.UnexpectedResponseError):
-            c2.connect(s.port)
-        s.exit()
-
-    def test_server_exit(self):
-        """
-        Tests that the server is shutdown by using a monitor exit command
-        """
-        self.log.info("Testing that a single server exits cleanly")
-        s = gdb.GDBServer()
-        s.exit()
-        self.assertFalse(self.is_process_alive(s.process))
-
-    def test_multiple_servers(self):
-        """
-        Tests multiple server instances without any blocking or race condition
-        """
-        self.log.info("Testing execution of multiple GDB server instances")
-        process_count = 10
-        server_instances = []
-        for i in range(0, process_count):
-            s = gdb.GDBServer()
-            c = gdb.GDB()
-            c.connect(s.port)
-            c.cmd('show-version')
-            c.disconnect()
-            server_instances.append(s)
-
-        for i in range(0, process_count):
-            self.assertTrue(self.is_process_alive(server_instances[i].process))
-            server_instances[i].exit()
-            self.assertFalse(self.is_process_alive(server_instances[i].process))
-
-    def test_server_stderr(self):
-        self.log.info('Testing server stderr collection')
-        s = gdb.GDBServer()
-        s.exit()
-        self.assertTrue(os.path.exists(s.stderr_path))
-
-        stderr_lines = genio.read_all_lines(s.stderr_path)
-        listening_line = f"Listening on port {s.port}"
-        self.assertIn(listening_line, stderr_lines)
-
-    def test_server_stdout(self):
-        self.log.info('Testing server stdout/stderr collection')
-        s = gdb.GDBServer()
-        c = gdb.GDB()
-        c.connect(s.port)
-        c.set_file(self.return99_binary_path)
-        c.run()
-        s.exit()
-
-        self.assertTrue(os.path.exists(s.stdout_path))
-        self.assertTrue(os.path.exists(s.stderr_path))
-
-        stdout_lines = genio.read_all_lines(s.stdout_path)
-        self.assertIn("return 99", stdout_lines)
-
-    @staticmethod
-    def test_remote():
-        """
-        Tests GDBRemote interaction with a GDBServer
-        """
-        s = gdb.GDBServer()
-        r = gdb.GDBRemote('127.0.0.1', s.port)
-        r.connect()
-        r.cmd(b"qSupported")
-        r.cmd(b"qfThreadInfo")
-        s.exit()

diff --git a/tests/gdbtest.py.data/return99.c b/tests/gdbtest.py.data/return99.c
deleted file mode 100644
index bf14935..0000000
--- a/tests/gdbtest.py.data/return99.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-void empty()
-{
-}
-
-void write_stdout()
-{
-  fprintf(stdout, "testing output to stdout\n");
-}
-
-void write_stderr()
-{
-  fprintf(stderr, "testing output to stderr\n");
-}
-
-int forkme()
-{
-  int pid;
-
-  pid = fork();
-  if (pid != 0)
-    pid = fork();
-  if (pid != 0)
-    pid = fork();
-
-  return pid;
-}
-
-int main(int argc, char *argv[])
-{
-  int exit_status = 99;
-
-  if (argc > 1)
-    exit_status = atoi(argv[1]);
-
-  empty();
-  write_stdout();
-  write_stderr();
-
-  if (forkme()) {
-    fprintf(stdout, "return %i\n", exit_status);
-  }
-
-  return exit_status;
-}

diff --git a/tests/gdbtest.py.data/segfault.c b/tests/gdbtest.py.data/segfault.c
deleted file mode 100644
index a685f86..0000000
--- a/tests/gdbtest.py.data/segfault.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdio.h>
-
-int main()
-{
-  int *p = NULL;
-  *p = 0xdead;
-
-  return 0;
-}

diff --git a/tests/tests.yml b/tests/tests.yml
deleted file mode 100644
index be4a031..0000000
--- a/tests/tests.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-- hosts: localhost
-  roles:
-  - role: standard-test-avocado
-    tests:
-    - gdbtest.py:GdbTest.test_start_exit
-    - gdbtest.py:GdbTest.test_existing_commands
-    - gdbtest.py:GdbTest.test_existing_commands_raw
-    - gdbtest.py:GdbTest.test_load_set_breakpoint_run_exit_raw
-    - gdbtest.py:GdbTest.test_load_set_breakpoint_run_exit
-    - gdbtest.py:GdbTest.test_generate_core
-    - gdbtest.py:GdbTest.test_set_multiple_break
-    - gdbtest.py:GdbTest.test_disconnect_raw
-    - gdbtest.py:GdbTest.test_disconnect
-    - gdbtest.py:GdbTest.test_remote_exec
-    - gdbtest.py:GdbTest.test_stream_messages
-    - gdbtest.py:GdbTest.test_connect_multiple_clients
-    - gdbtest.py:GdbTest.test_server_exit
-    - gdbtest.py:GdbTest.test_server_stdout
-    - gdbtest.py:GdbTest.test_server_stderr
-    - gdbtest.py:GdbTest.test_multiple_servers
-    - gdbtest.py:GdbTest.test_interactive
-    - gdbtest.py:GdbTest.test_interactive_args
-    - gdbtest.py:GdbTest.test_exit_status
-    - gdbtest.py:GdbTest.test_interactive_stdout
-    - gdbtest.py:GdbTest.test_remote
-    required_packages:
-    - gcc
-    - gdb
-    - gdb-gdbserver

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-18 13:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-18 13:41 [rpms/python-avocado] rawhide: Retired: Fails to install: https://forge.fedoraproject.org/releng/tickets/issues/13473 

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox