Add backported fixes for test failures
Add backported fix to the tests to wait a reasonable amount of time after calling the 'resubmit' method for a new certificate to be issued when we're exercising the D-Bus API (backport done by Jan Cholasta,
This commit is contained in:
parent
93e4828d8d
commit
3f8a64cc9e
59
0009-Fix-a-flakiness-in-the-028-dbus-test.patch
Normal file
59
0009-Fix-a-flakiness-in-the-028-dbus-test.patch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
From 4f72c02d0f432519f9d5606bd99007fd685482a7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nalin Dahyabhai <nalin@redhat.com>
|
||||||
|
Date: Wed, 29 Jun 2016 17:37:09 -0400
|
||||||
|
Subject: [PATCH] Fix a flakiness in the 028-dbus test
|
||||||
|
|
||||||
|
When walking all of the exposed APIs from python, we were calling the
|
||||||
|
'resubmit' method on a certificate, and not waiting for the churn in
|
||||||
|
state that doing so would create to settle down before continuing.
|
||||||
|
|
||||||
|
This meant that the test script might have exited before the certmonger
|
||||||
|
process that was waiting on it finished saving the new certificate that
|
||||||
|
it obtained from resubmitting the rquest, so the process wouldn't
|
||||||
|
reliably log that it had obtained a new certificate.
|
||||||
|
|
||||||
|
Spotted by Jan Cholasta.
|
||||||
|
---
|
||||||
|
tests/028-dbus/expected.out | 1 +
|
||||||
|
tests/028-dbus/walk.py | 8 ++++++++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/tests/028-dbus/expected.out b/tests/028-dbus/expected.out
|
||||||
|
index b2660317b3102373f2a5a877a7224f727929412c..93cc4d184524c4b1aeba02a650c94d832462c236 100644
|
||||||
|
--- a/tests/028-dbus/expected.out
|
||||||
|
+++ b/tests/028-dbus/expected.out
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
Certificate in file "${tmpdir}/test.crt" issued by CA and saved.
|
||||||
|
+Certificate in file "${tmpdir}/test.crt" issued by CA and saved.
|
||||||
|
[[ getcert ]]
|
||||||
|
State MONITORING, stuck: no.
|
||||||
|
Number of certificates and requests being tracked: 1.
|
||||||
|
diff --git a/tests/028-dbus/walk.py b/tests/028-dbus/walk.py
|
||||||
|
index 0bf54b477220aef901340c1d24100391348226a7..f60ca934fd934e21cec027bad5c53e0f12ccb36d 100644
|
||||||
|
--- a/tests/028-dbus/walk.py
|
||||||
|
+++ b/tests/028-dbus/walk.py
|
||||||
|
@@ -3,6 +3,7 @@ import dbus
|
||||||
|
import xml.etree.ElementTree
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
+import time
|
||||||
|
|
||||||
|
bus = dbus.SessionBus()
|
||||||
|
|
||||||
|
@@ -110,6 +111,13 @@ def examine_method(objpath, interface, method, idata):
|
||||||
|
# We're in FIXME territory.
|
||||||
|
print('FIXME: need support for "%s"' % method)
|
||||||
|
return False
|
||||||
|
+ # If we caused things to start churning, wait for them to settle.
|
||||||
|
+ if method == 'resubmit':
|
||||||
|
+ props = dbus.Interface(o, 'org.freedesktop.DBus.Properties')
|
||||||
|
+ prop = props.Get(interface, 'status')
|
||||||
|
+ while prop != 'MONITORING':
|
||||||
|
+ time.sleep(1)
|
||||||
|
+ prop = props.Get(interface, 'status')
|
||||||
|
return True
|
||||||
|
|
||||||
|
def iget(child, proxy, interface, prop):
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
Name: certmonger
|
Name: certmonger
|
||||||
Version: 0.78.6
|
Version: 0.78.6
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: Certificate status monitor and PKI enrollment client
|
Summary: Certificate status monitor and PKI enrollment client
|
||||||
|
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
@ -34,6 +34,7 @@ License: GPLv3+
|
|||||||
URL: http://certmonger.fedorahosted.org
|
URL: http://certmonger.fedorahosted.org
|
||||||
Source0: http://fedorahosted.org/released/certmonger/certmonger-%{version}.tar.gz
|
Source0: http://fedorahosted.org/released/certmonger/certmonger-%{version}.tar.gz
|
||||||
Source1: http://fedorahosted.org/released/certmonger/certmonger-%{version}.tar.gz.sig
|
Source1: http://fedorahosted.org/released/certmonger/certmonger-%{version}.tar.gz.sig
|
||||||
|
Patch0: 0009-Fix-a-flakiness-in-the-028-dbus-test.patch
|
||||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||||
|
|
||||||
BuildRequires: openldap-devel
|
BuildRequires: openldap-devel
|
||||||
@ -114,6 +115,7 @@ system enrolled with a certificate authority (CA) and keeping it enrolled.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1 -b .testrace
|
||||||
%if 0%{?rhel} > 0
|
%if 0%{?rhel} > 0
|
||||||
# Enabled by default for RHEL for bug #765600, still disabled by default for
|
# Enabled by default for RHEL for bug #765600, still disabled by default for
|
||||||
# Fedora pending a similar bug report there.
|
# Fedora pending a similar bug report there.
|
||||||
@ -243,6 +245,11 @@ exit 0
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 6 2016 Nalin Dahyabhai <nalin@redhat.com> 0.78.6-4
|
||||||
|
- add backported fix to wait a reasonable amount of time after calling the
|
||||||
|
'resubmit' method for a new certificate to be issued when we're exercising
|
||||||
|
the D-Bus API during tests (Jan Cholasta, #1351052)
|
||||||
|
|
||||||
* Wed Jul 6 2016 Nalin Dahyabhai <nalin@redhat.com> 0.78.6-3
|
* Wed Jul 6 2016 Nalin Dahyabhai <nalin@redhat.com> 0.78.6-3
|
||||||
- instead of using killall to send a SIGHUP to the system bus daemon in %%post
|
- instead of using killall to send a SIGHUP to the system bus daemon in %%post
|
||||||
to get it to reload its configuration, use dbus-send to send a ReloadConfig
|
to get it to reload its configuration, use dbus-send to send a ReloadConfig
|
||||||
|
Loading…
Reference in New Issue
Block a user