]> sourceware.org Git - libabigail.git/commitdiff
fedabipkgdiff: Enable testing without proper Koji installation
authorThomas Schwinge <thomas@codesourcery.com>
Fri, 17 Dec 2021 22:16:26 +0000 (23:16 +0100)
committerDodji Seketeli <dodji@redhat.com>
Mon, 20 Dec 2021 16:31:27 +0000 (17:31 +0100)
... as is now documented in 'CONTRIBUTING'.

* tools/fedabipkgdiff: Handle 'koji.ConfigurationError'.
* configure.ac: Likewise.
* CONTRIBUTING: Document "fedabipkgdiff testing".

Documenting/providing a way to enable such testing, this commit can be
considered a sequel to commit 90d236a03343d75ea504d53c73270e50b9000e75
"Bug 22076 - Disable fedabipkgdiff for old koji clients", for Mark Wielaard's
PR22076 "runtestfedabipkgdiff.py fails on debian-amd64".

Signed-off-by: Thomas Schwinge <thomas@codesourcery.com>
CONTRIBUTING
configure.ac
tools/fedabipkgdiff

index 24a483b2932cb6b9540de0c961e389a9b8cfeba3..5ab7bccebec884625eaec60f2cb6698c18bcbd73 100644 (file)
@@ -174,6 +174,26 @@ make sure to add your new test input files to the
 tests/data/Makefile.am file, in the EXTRA_DIST variable.  Look at how
 things are organized in that file, and please do things similarly.
 
+fedabipkgdiff testing
+---------------------
+
+This depends on the Python koji and a few support modules.  If these are
+not available, 'configure' disables fedabipkgdiff and its 'make check'
+testing.
+
+Debian and Ubuntu, for example, don't provide packages for the Python
+koji module.  If you'd like to run fedabipkgdiff testing without manually
+doing a proper Koji installation, you may simply download Koji sources
+(<https://pagure.io/koji>, releases, or Git clone) and point to these via
+the Python search path.  For example, tested 2021-12-11:
+
+  wget https://pagure.io/koji/archive/koji-1.27.0/koji-koji-1.27.0.tar.gz
+  tar -xzf koji-koji-1.27.0.tar.gz
+  export PYTHONPATH="$PWD"/koji-koji-1.27.0
+
+A libabigail 'configure' run then enables fedabipkgdiff and its
+'make check' testing.
+
 Coding language and style
 ==========================
 
index 40f57ed99b53e8e53eb2989cf3a3ca91845e0d36..29130175d24c6497ab74e1521f5a2ee4bf7ba185 100644 (file)
@@ -588,7 +588,11 @@ if test x$CHECK_DEPS_FOR_FEDABIPKGDIFF = xyes; then
     AC_MSG_CHECKING([if koji client is recent enough])
     $PYTHON 2>&AS_MESSAGE_LOG_FD -c "
 import koji
-koji.read_config('koji')"
+try:
+    koji.read_config('koji')
+except koji.ConfigurationError:
+    # See 'tools/fedabipkgdiff'.
+    pass"
     if test $? -eq 0; then
       koji_version_check_ok=yes
     else
index 89cbd15c3adaf5610df42ec2a6965ff261f0117d..be4182b237144483caf9d2447a24c193e8ccc789 100755 (executable)
@@ -46,9 +46,20 @@ import koji
 # something wrong.
 
 
-koji_config = koji.read_config('koji')
-DEFAULT_KOJI_SERVER = koji_config['server']
-DEFAULT_KOJI_TOPURL = koji_config['topurl']
+# First, try proper Koji initialization.
+try:
+    koji_config = koji.read_config('koji')
+    DEFAULT_KOJI_SERVER = koji_config['server']
+    DEFAULT_KOJI_TOPURL = koji_config['topurl']
+except koji.ConfigurationError:
+    # ..., but if that fails because of a rather strict interpretation where
+    # 'read_config' looks for configuration files, just use dummy values.
+    # These fail upon use unless overridden, which for libabigail test suite
+    # usage they always are (all relevant artifacts are shipped in the
+    # libabigail distribution).
+    DEFAULT_KOJI_SERVER = 'dummy_DEFAULT_KOJI_SERVER'
+    DEFAULT_KOJI_TOPURL = 'dummy_DEFAULT_KOJI_TOPURL'
+
 
 # The working directory where to hold all data including downloaded RPM
 # packages Currently, it's not configurable and hardcode here. In the future
This page took 0.036432 seconds and 5 git commands to generate.