URL: https://github.com/SSSD/sssd/pull/379
Author: fidencio
 Title: #379: CI: Enable pep8 check
Action: synchronized

To pull the PR as Git branch:
git remote add ghsssd https://github.com/SSSD/sssd
git fetch ghsssd pull/379/head:pr379
git checkout pr379
From 15f05529a7037f51ec65e5dd958799b812d679b9 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhro...@redhat.com>
Date: Tue, 19 Sep 2017 17:52:44 +0200
Subject: [PATCH 01/38] TESTS: Fix E303 pep8 issues on test_ldap.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E303: too many blank lines (3)

Reviewed-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/intg/test_ldap.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/tests/intg/test_ldap.py b/src/tests/intg/test_ldap.py
index f2467f1ff..f1f012cdf 100644
--- a/src/tests/intg/test_ldap.py
+++ b/src/tests/intg/test_ldap.py
@@ -1002,7 +1002,6 @@ def test_zero_nesting_level(ldap_conn, rfc2307bis_no_nesting):
     assert sorted(grp_list) == sorted(["primarygroup", "parentgroup"])
 
 
-
 @pytest.fixture
 def sanity_nss_filter(request, ldap_conn):
     ent_list = ldap_ent.List(ldap_conn.ds_inst.base_dn)

From 1cb61dbe30f394019be0cc340587b6b751f4a375 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhro...@redhat.com>
Date: Tue, 19 Sep 2017 17:53:42 +0200
Subject: [PATCH 02/38] TESTS: Fix E266 pep8 issues on test_ldap.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E266: too many leading '#' for block comment

Reviewed-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/intg/test_ldap.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/intg/test_ldap.py b/src/tests/intg/test_ldap.py
index f1f012cdf..0b221e6f3 100644
--- a/src/tests/intg/test_ldap.py
+++ b/src/tests/intg/test_ldap.py
@@ -998,7 +998,7 @@ def test_zero_nesting_level(ldap_conn, rfc2307bis_no_nesting):
     assert res == sssd_id.NssReturnCode.SUCCESS, \
         "Could not find groups for user1, %d" % errno
 
-    ## test nestedgroup is not returned in group list
+    # test nestedgroup is not returned in group list
     assert sorted(grp_list) == sorted(["primarygroup", "parentgroup"])
 
 

From efbcddc6e1bb40131c1e7e415f428aac9db582ea Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhro...@redhat.com>
Date: Tue, 19 Sep 2017 18:02:39 +0200
Subject: [PATCH 03/38] TESTS: Fix E231 pep8 issues on
 test_session_recording.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E231: missing whitespace after ':'

Reviewed-by: Fabiano Fidêncio <fiden...@redhat.com>
Reviewed-by: Lukáš Slebodník <lsleb...@redhat.com>
---
 src/tests/intg/test_session_recording.py | 100 +++++++++++++++----------------
 1 file changed, 50 insertions(+), 50 deletions(-)

diff --git a/src/tests/intg/test_session_recording.py b/src/tests/intg/test_session_recording.py
index 56a056a15..c30d1f098 100644
--- a/src/tests/intg/test_session_recording.py
+++ b/src/tests/intg/test_session_recording.py
@@ -297,10 +297,10 @@ def test_all_nam(all):
 def test_all_uid(all):
     """Test "all" scope with getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
-        1003:dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
-        1004:dict(name="user4", uid=1004, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
+        1003: dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        1004: dict(name="user4", uid=1004, shell=config.SESSION_RECORDING_SHELL),
     })
 
 
@@ -372,10 +372,10 @@ def test_some_users_nam(some_users):
 def test_some_users_uid(some_users):
     """Test "some" scope with user list and getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
-        1003:dict(name="user3", uid=1003, shell="/bin/sh3"),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
+        1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 
@@ -434,12 +434,12 @@ def test_some_users_overridden_uid(some_users_overridden):
     overridden users, requested with getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="overridden_user1", uid=1001,
-                  shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="overridden_user2", uid=1002,
-                  shell="/bin/sh2"),
-        1003:dict(name="user3", uid=1003, shell="/bin/sh3"),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="overridden_user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="overridden_user2", uid=1002,
+                   shell="/bin/sh2"),
+        1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 
@@ -539,10 +539,10 @@ def test_some_groups1_nam(some_groups1):
 def test_some_groups1_uid(some_groups1):
     """Test "some" scope with group list and getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
-        1003:dict(name="user3", uid=1003, shell="/bin/sh3"),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
+        1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 
@@ -571,10 +571,10 @@ def test_some_groups2_nam(some_groups2):
 def test_some_groups2_uid(some_groups2):
     """Test "some" scope with group list and getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
-        1003:dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
+        1003: dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 
@@ -603,10 +603,10 @@ def test_some_groups3_nam(some_groups3):
 def test_some_groups3_uid(some_groups3):
     """Test "some" scope with group list and getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell="/bin/sh1"),
-        1002:dict(name="user2", uid=1002, shell="/bin/sh2"),
-        1003:dict(name="user3", uid=1003, shell="/bin/sh3"),
-        1004:dict(name="user4", uid=1004, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001, shell="/bin/sh1"),
+        1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
+        1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
+        1004: dict(name="user4", uid=1004, shell=config.SESSION_RECORDING_SHELL),
     })
 
 
@@ -635,10 +635,10 @@ def test_some_groups4_nam(some_groups4):
 def test_some_groups4_uid(some_groups4):
     """Test "some" scope with group list and getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell="/bin/sh2"),
-        1003:dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
+        1003: dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 
@@ -695,10 +695,10 @@ def test_some_groups_overridden1_uid(some_groups_overridden1):
     overridden groups, and users requested with getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell="/bin/sh2"),
-        1003:dict(name="user3", uid=1003, shell="/bin/sh3"),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
+        1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 
@@ -758,10 +758,10 @@ def test_some_groups_overridden2_uid(some_groups_overridden2):
     overridden groups, and users requested with getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell="/bin/sh2"),
-        1003:dict(name="user3", uid=1003, shell="/bin/sh3"),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
+        1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 
@@ -821,10 +821,10 @@ def test_some_groups_overridden3_uid(some_groups_overridden3):
     overridden group, and users requested with getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell="/bin/sh2"),
-        1003:dict(name="user3", uid=1003, shell="/bin/sh3"),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
+        1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 
@@ -884,10 +884,10 @@ def test_some_groups_overridden4_uid(some_groups_overridden3):
     overridden group, and users requested with getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell="/bin/sh2"),
-        1003:dict(name="user3", uid=1003, shell="/bin/sh3"),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
+        1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 
@@ -940,10 +940,10 @@ def test_some_users_and_groups_uid(some_users_and_groups):
     Test "some" scope with user and group lists and getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001:dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002:dict(name="user2", uid=1002, shell="/bin/sh2"),
-        1003:dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
-        1004:dict(name="user4", uid=1004, shell="/bin/sh4"),
+        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
+        1003: dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
 

From 35a4b4bfeecd712d5d42f8bb2107316fe4a07391 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhro...@redhat.com>
Date: Tue, 19 Sep 2017 18:13:52 +0200
Subject: [PATCH 04/38] TESTS: Fix E501 pep8 issues on
 test_session_recording.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E501: line too long (longer than 79 characters)

Reviewed-by: Fabiano Fidêncio <fiden...@redhat.com>
Reviewed-by: Lukáš Slebodník <lsleb...@redhat.com>
---
 src/tests/intg/test_session_recording.py | 120 ++++++++++++++++++++-----------
 1 file changed, 80 insertions(+), 40 deletions(-)

diff --git a/src/tests/intg/test_session_recording.py b/src/tests/intg/test_session_recording.py
index c30d1f098..0ed824f92 100644
--- a/src/tests/intg/test_session_recording.py
+++ b/src/tests/intg/test_session_recording.py
@@ -287,20 +287,28 @@ def all(request, ldap_conn, users_and_groups):
 def test_all_nam(all):
     """Test "all" scope with getpwnam"""
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        user2=dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
-        user3=dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
-        user4=dict(name="user4", uid=1004, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
+        user2=dict(name="user2", uid=1002,
+                   shell=config.SESSION_RECORDING_SHELL),
+        user3=dict(name="user3", uid=1003,
+                   shell=config.SESSION_RECORDING_SHELL),
+        user4=dict(name="user4", uid=1004,
+                   shell=config.SESSION_RECORDING_SHELL),
     ))
 
 
 def test_all_uid(all):
     """Test "all" scope with getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002: dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
-        1003: dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
-        1004: dict(name="user4", uid=1004, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002,
+                   shell=config.SESSION_RECORDING_SHELL),
+        1003: dict(name="user3", uid=1003,
+                   shell=config.SESSION_RECORDING_SHELL),
+        1004: dict(name="user4", uid=1004,
+                   shell=config.SESSION_RECORDING_SHELL),
     })
 
 
@@ -362,8 +370,10 @@ def some_users(request, ldap_conn, users_and_groups):
 def test_some_users_nam(some_users):
     """Test "some" scope with user list and getpwnam"""
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        user2=dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
+        user2=dict(name="user2", uid=1002,
+                   shell=config.SESSION_RECORDING_SHELL),
         user3=dict(name="user3", uid=1003, shell="/bin/sh3"),
         user4=dict(name="user4", uid=1004, shell="/bin/sh4"),
     ))
@@ -372,8 +382,10 @@ def test_some_users_nam(some_users):
 def test_some_users_uid(some_users):
     """Test "some" scope with user list and getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002: dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002,
+                   shell=config.SESSION_RECORDING_SHELL),
         1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
         1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
@@ -529,8 +541,10 @@ def some_groups4(request, ldap_conn, users_and_groups):
 def test_some_groups1_nam(some_groups1):
     """Test "some" scope with group list and getpwnam"""
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        user2=dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
+        user2=dict(name="user2", uid=1002,
+                   shell=config.SESSION_RECORDING_SHELL),
         user3=dict(name="user3", uid=1003, shell="/bin/sh3"),
         user4=dict(name="user4", uid=1004, shell="/bin/sh4"),
     ))
@@ -539,8 +553,10 @@ def test_some_groups1_nam(some_groups1):
 def test_some_groups1_uid(some_groups1):
     """Test "some" scope with group list and getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002: dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002,
+                   shell=config.SESSION_RECORDING_SHELL),
         1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
         1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
@@ -561,9 +577,12 @@ def test_some_groups1_ent(some_groups1):
 def test_some_groups2_nam(some_groups2):
     """Test "some" scope with group list and getpwnam"""
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        user2=dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
-        user3=dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
+        user2=dict(name="user2", uid=1002,
+                   shell=config.SESSION_RECORDING_SHELL),
+        user3=dict(name="user3", uid=1003,
+                   shell=config.SESSION_RECORDING_SHELL),
         user4=dict(name="user4", uid=1004, shell="/bin/sh4"),
     ))
 
@@ -571,9 +590,12 @@ def test_some_groups2_nam(some_groups2):
 def test_some_groups2_uid(some_groups2):
     """Test "some" scope with group list and getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
-        1002: dict(name="user2", uid=1002, shell=config.SESSION_RECORDING_SHELL),
-        1003: dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
+        1002: dict(name="user2", uid=1002,
+                   shell=config.SESSION_RECORDING_SHELL),
+        1003: dict(name="user3", uid=1003,
+                   shell=config.SESSION_RECORDING_SHELL),
         1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
@@ -596,7 +618,8 @@ def test_some_groups3_nam(some_groups3):
         user1=dict(name="user1", uid=1001, shell="/bin/sh1"),
         user2=dict(name="user2", uid=1002, shell="/bin/sh2"),
         user3=dict(name="user3", uid=1003, shell="/bin/sh3"),
-        user4=dict(name="user4", uid=1004, shell=config.SESSION_RECORDING_SHELL),
+        user4=dict(name="user4", uid=1004,
+                   shell=config.SESSION_RECORDING_SHELL),
     ))
 
 
@@ -606,7 +629,8 @@ def test_some_groups3_uid(some_groups3):
         1001: dict(name="user1", uid=1001, shell="/bin/sh1"),
         1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
         1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
-        1004: dict(name="user4", uid=1004, shell=config.SESSION_RECORDING_SHELL),
+        1004: dict(name="user4", uid=1004,
+                   shell=config.SESSION_RECORDING_SHELL),
     })
 
 
@@ -625,9 +649,11 @@ def test_some_groups3_ent(some_groups3):
 def test_some_groups4_nam(some_groups4):
     """Test "some" scope with group list and getpwnam"""
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         user2=dict(name="user2", uid=1002, shell="/bin/sh2"),
-        user3=dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        user3=dict(name="user3", uid=1003,
+                   shell=config.SESSION_RECORDING_SHELL),
         user4=dict(name="user4", uid=1004, shell="/bin/sh4"),
     ))
 
@@ -635,9 +661,11 @@ def test_some_groups4_nam(some_groups4):
 def test_some_groups4_uid(some_groups4):
     """Test "some" scope with group list and getpwuid"""
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
-        1003: dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        1003: dict(name="user3", uid=1003,
+                   shell=config.SESSION_RECORDING_SHELL),
         1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 
@@ -682,7 +710,8 @@ def test_some_groups_overridden1_nam(some_groups_overridden1):
     overridden groups, and users requested with getpwnam.
     """
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         user2=dict(name="user2", uid=1002, shell="/bin/sh2"),
         user3=dict(name="user3", uid=1003, shell="/bin/sh3"),
         user4=dict(name="user4", uid=1004, shell="/bin/sh4"),
@@ -695,7 +724,8 @@ def test_some_groups_overridden1_uid(some_groups_overridden1):
     overridden groups, and users requested with getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
         1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
         1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
@@ -745,7 +775,8 @@ def test_some_groups_overridden2_nam(some_groups_overridden2):
     overridden groups, and users requested with getpwnam.
     """
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         user2=dict(name="user2", uid=1002, shell="/bin/sh2"),
         user3=dict(name="user3", uid=1003, shell="/bin/sh3"),
         user4=dict(name="user4", uid=1004, shell="/bin/sh4"),
@@ -758,7 +789,8 @@ def test_some_groups_overridden2_uid(some_groups_overridden2):
     overridden groups, and users requested with getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
         1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
         1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
@@ -808,7 +840,8 @@ def test_some_groups_overridden3_nam(some_groups_overridden3):
     overridden group, and users requested with getpwnam.
     """
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         user2=dict(name="user2", uid=1002, shell="/bin/sh2"),
         user3=dict(name="user3", uid=1003, shell="/bin/sh3"),
         user4=dict(name="user4", uid=1004, shell="/bin/sh4"),
@@ -821,7 +854,8 @@ def test_some_groups_overridden3_uid(some_groups_overridden3):
     overridden group, and users requested with getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
         1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
         1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
@@ -871,7 +905,8 @@ def test_some_groups_overridden4_nam(some_groups_overridden3):
     overridden group, and users requested with getpwnam.
     """
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         user2=dict(name="user2", uid=1002, shell="/bin/sh2"),
         user3=dict(name="user3", uid=1003, shell="/bin/sh3"),
         user4=dict(name="user4", uid=1004, shell="/bin/sh4"),
@@ -884,7 +919,8 @@ def test_some_groups_overridden4_uid(some_groups_overridden3):
     overridden group, and users requested with getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
         1003: dict(name="user3", uid=1003, shell="/bin/sh3"),
         1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
@@ -928,9 +964,11 @@ def test_some_users_and_groups_nam(some_users_and_groups):
     Test "some" scope with user and group lists and getpwnam.
     """
     ent.assert_each_passwd_by_name(dict(
-        user1=dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        user1=dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         user2=dict(name="user2", uid=1002, shell="/bin/sh2"),
-        user3=dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        user3=dict(name="user3", uid=1003,
+                   shell=config.SESSION_RECORDING_SHELL),
         user4=dict(name="user4", uid=1004, shell="/bin/sh4"),
     ))
 
@@ -940,9 +978,11 @@ def test_some_users_and_groups_uid(some_users_and_groups):
     Test "some" scope with user and group lists and getpwuid.
     """
     ent.assert_each_passwd_by_uid({
-        1001: dict(name="user1", uid=1001, shell=config.SESSION_RECORDING_SHELL),
+        1001: dict(name="user1", uid=1001,
+                   shell=config.SESSION_RECORDING_SHELL),
         1002: dict(name="user2", uid=1002, shell="/bin/sh2"),
-        1003: dict(name="user3", uid=1003, shell=config.SESSION_RECORDING_SHELL),
+        1003: dict(name="user3", uid=1003,
+                   shell=config.SESSION_RECORDING_SHELL),
         1004: dict(name="user4", uid=1004, shell="/bin/sh4"),
     })
 

From c023ef64f60d756112eb48dcf2e2e6cab15bf81b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:16:13 +0200
Subject: [PATCH 05/38] TESTS: Fix E20[12] pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E201: whitespace after '['
E202: whitespace before ']'

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index 08ac5973f..6093cd6fc 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -50,7 +50,7 @@ def _get_object_info(self, name, subtree, domain):
             return {}
 
         kw = {}
-        for key, value in [ l.split(':') for l in output.split('\n') if ":" in l ]:
+        for key, value in [l.split(':') for l in output.split('\n') if ":" in l]:
             kw[key] = value.strip()
 
         del kw['asq']
@@ -92,7 +92,7 @@ def _get_object_membership(self, name, subtree, domain):
         except subprocess.CalledProcessError:
             return []
 
-        members = [ value.strip() for key, value in [ l.split(':') for l in output.split('\n') if ":" in l ] if key == "memberof" ]
+        members = [value.strip() for key, value in [l.split(':') for l in output.split('\n') if ":" in l] if key == "memberof"]
         return members
 
     def _assertMembership(self, name, group_list, subtree, domain):

From a22d51d0bd6ba2f49f05020861a15f29990324e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:05:56 +0200
Subject: [PATCH 06/38] TESTS: Fix E501 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E501: line too long (longer than 79 characters)

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 33 +++++++++++++++++++++------------
 1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index 6093cd6fc..53bb3a4af 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -43,14 +43,15 @@ def _run_and_check(self, runme):
     def _get_object_info(self, name, subtree, domain):
         search_dn = "dn=name=%s,cn=%s,cn=%s,cn=sysdb" % (name, subtree, domain)
         try:
-            output = subprocess.check_call("ldbsearch -H %s %s" % (self.local_path,search_dn),
-                                           shell=True)
+            cmd = "ldbsearch -H %s %s" % (self.local_path,search_dn)
+            output = subprocess.check_call(cmd, shell=True)
             output = output.decode('utf-8')
         except subprocess.CalledProcessError:
             return {}
 
         kw = {}
-        for key, value in [l.split(':') for l in output.split('\n') if ":" in l]:
+        for key, value in \
+                [l.split(':') for l in output.split('\n') if ":" in l]:
             kw[key] = value.strip()
 
         del kw['asq']
@@ -65,13 +66,16 @@ def get_group_info(self, name, domain="LOCAL"):
     def _validate_object(self, kw, name, **kwargs):
         if kw == {}: self.fail("Could not get %s info" % name)
         for key in kwargs.keys():
-            self.assert_(str(kwargs[key]) == str(kw[key]), "%s %s != %s %s" % (key, kwargs[key], key, kw[key]))
+            self.assert_(str(kwargs[key]) == str(kw[key]),
+                         "%s %s != %s %s" % (key, kwargs[key], key, kw[key]))
 
     def validate_user(self, username, **kwargs):
-        return self._validate_object(self.get_user_info(username), "user", **kwargs)
+        return self._validate_object(self.get_user_info(username), "user",
+                                     **kwargs)
 
     def validate_group(self, groupname, **kwargs):
-        return self._validate_object(self.get_group_info(groupname), "group", **kwargs)
+        return self._validate_object(self.get_group_info(groupname), "group",
+                                     **kwargs)
 
     def _validate_no_object(self, kw, name):
         if kw != {}:
@@ -81,18 +85,21 @@ def validate_no_user(self, username):
         return self._validate_no_object(self.get_user_info(username), "user")
 
     def validate_no_group(self, groupname):
-        return self._validate_no_object(self.get_group_info(groupname), "group")
+        return self._validate_no_object(self.get_group_info(groupname),
+                                        "group")
 
     def _get_object_membership(self, name, subtree, domain):
         search_dn = "dn=name=%s,cn=%s,cn=%s,cn=sysdb" % (name, subtree, domain)
         try:
-            output = subprocess.check_call("ldbsearch -H %s %s" % (self.local_path,search_dn),
-                                           shell=True)
+            cmd = "ldbsearch -H %s %s" % (self.local_path,search_dn)
+            output = subprocess.check_call(cmd, shell=True)
             output = output.decode('utf-8')
         except subprocess.CalledProcessError:
             return []
 
-        members = [value.strip() for key, value in [l.split(':') for l in output.split('\n') if ":" in l] if key == "memberof"]
+        members = [value.strip() for key, value in
+                   [l.split(':') for l in output.split('\n') if ":" in l]
+                   if key == "memberof"]
         return members
 
     def _assertMembership(self, name, group_list, subtree, domain):
@@ -176,7 +183,8 @@ def testUseraddNoHomedir(self):
         self.local.useradd(self.username, create_home = False)
         self.validate_user(self.username)
         # check home directory was not created
-        self.assertEquals(os.access("/home/%s" % self.username, os.F_OK), False)
+        username_path = "/home/%s" % self.username
+        self.assertEquals(os.access(username_path, os.F_OK), False)
         self.local.userdel(self.username, remove = False)
         self.username = None # fool tearDown into not removing the user
 
@@ -195,7 +203,8 @@ def testUseraddAlternateSkeldir(self):
         try:
             self.local.useradd(self.username, skel = skeldir)
             self.validate_user(self.username)
-            self.assertEquals(os.access("/home/%s/%s"%(self.username,filename), os.F_OK), True)
+            path = "/home/%s/%s"%(self.username,filename)
+            self.assertEquals(os.access(path, os.F_OK), True)
         finally:
             shutil.rmtree(skeldir)
 

From 3cac7a8936b05032f312e12b857fe6afc5e6ee5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:08:07 +0200
Subject: [PATCH 07/38] TESTS: Fix E251 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E251: unexpected spaces around keyword / parameter equals

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index 53bb3a4af..c19e64fc7 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -180,12 +180,12 @@ def testUseraddWithParams(self):
     def testUseraddNoHomedir(self):
         "Test adding a local user without creating his home dir"
         self.username = "testUseraddNoHomedir"
-        self.local.useradd(self.username, create_home = False)
+        self.local.useradd(self.username, create_home=False)
         self.validate_user(self.username)
         # check home directory was not created
         username_path = "/home/%s" % self.username
         self.assertEquals(os.access(username_path, os.F_OK), False)
-        self.local.userdel(self.username, remove = False)
+        self.local.userdel(self.username, remove=False)
         self.username = None # fool tearDown into not removing the user
 
     def testUseraddAlternateSkeldir(self):
@@ -201,7 +201,7 @@ def testUseraddAlternateSkeldir(self):
         filename = os.path.basename(path)
 
         try:
-            self.local.useradd(self.username, skel = skeldir)
+            self.local.useradd(self.username, skel=skeldir)
             self.validate_user(self.username)
             path = "/home/%s/%s"%(self.username,filename)
             self.assertEquals(os.access(path, os.F_OK), True)

From 81585586df72df90ba1c0ec7c543c766442b0851 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:10:32 +0200
Subject: [PATCH 08/38] TESTS: Fix E231 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E231: missing whitespace after ','

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index c19e64fc7..d9d9d1372 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -43,7 +43,7 @@ def _run_and_check(self, runme):
     def _get_object_info(self, name, subtree, domain):
         search_dn = "dn=name=%s,cn=%s,cn=%s,cn=sysdb" % (name, subtree, domain)
         try:
-            cmd = "ldbsearch -H %s %s" % (self.local_path,search_dn)
+            cmd = "ldbsearch -H %s %s" % (self.local_path, search_dn)
             output = subprocess.check_call(cmd, shell=True)
             output = output.decode('utf-8')
         except subprocess.CalledProcessError:
@@ -91,7 +91,7 @@ def validate_no_group(self, groupname):
     def _get_object_membership(self, name, subtree, domain):
         search_dn = "dn=name=%s,cn=%s,cn=%s,cn=sysdb" % (name, subtree, domain)
         try:
-            cmd = "ldbsearch -H %s %s" % (self.local_path,search_dn)
+            cmd = "ldbsearch -H %s %s" % (self.local_path, search_dn)
             output = subprocess.check_call(cmd, shell=True)
             output = output.decode('utf-8')
         except subprocess.CalledProcessError:
@@ -203,7 +203,7 @@ def testUseraddAlternateSkeldir(self):
         try:
             self.local.useradd(self.username, skel=skeldir)
             self.validate_user(self.username)
-            path = "/home/%s/%s"%(self.username,filename)
+            path = "/home/%s/%s"%(self.username, filename)
             self.assertEquals(os.access(path, os.F_OK), True)
         finally:
             shutil.rmtree(skeldir)
@@ -215,9 +215,9 @@ def testUseraddToGroups(self):
         self.add_group("gr2")
         try:
             self.local.useradd(self.username,
-                               groups=["gr1","gr2"])
+                               groups=["gr1", "gr2"])
             self.assertUserMembership(self.username,
-                                      ["gr1","gr2"])
+                                      ["gr1", "gr2"])
         finally:
             self.remove_group("gr1")
             self.remove_group("gr2")
@@ -323,9 +323,9 @@ def testUsermodGroupMembership(self):
 
         try:
             self.local.usermod(self.username,
-                               addgroups=["gr1","gr2"])
+                               addgroups=["gr1", "gr2"])
             self.assertUserMembership(self.username,
-                                      ["gr1","gr2"])
+                                      ["gr1", "gr2"])
             self.local.usermod(self.username,
                                rmgroups=["gr2"])
             self.assertUserMembership(self.username,
@@ -438,9 +438,9 @@ def testGroupmodGroupMembership(self):
         self.add_group("gr2")
         try:
             self.local.groupmod(self.groupname,
-                                addgroups=["gr1","gr2"])
+                                addgroups=["gr1", "gr2"])
             self.assertGroupMembership(self.groupname,
-                                       ["gr1","gr2"])
+                                       ["gr1", "gr2"])
             self.local.groupmod(self.groupname,
                                 rmgroups=["gr2"])
             self.assertGroupMembership(self.groupname,

From 1363a2dde196b197de8a5ddf130af02b3f8beb9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:13:35 +0200
Subject: [PATCH 09/38] TESTS: Fix E265 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E265: block comment should start with '# '

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index d9d9d1372..15c53f6aa 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-#coding=utf-8
+# coding=utf-8
 
 # Authors:
 #   Jakub Hrozek <jhro...@redhat.com>

From 1c764974a6f8ae63335b59876cac4f082b36cae8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:20:45 +0200
Subject: [PATCH 10/38] TESTS: Fix E128 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E128: continuation line under-indented for visual indent

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index 15c53f6aa..5f0a15aca 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -364,9 +364,9 @@ def testGroupaddWithGID(self):
         "Test adding a local group with a custom GID"
         self.groupname = "testUseraddWithGID"
         self.local.groupadd(self.groupname,
-                           gid=1024)
+                            gid=1024)
         self.validate_group(self.groupname,
-                           gidNumber=1024)
+                            gidNumber=1024)
 
 class GroupaddTestNegative(LocalTest):
     def testGroupaddNoParams(self):
@@ -428,9 +428,9 @@ def tearDown(self):
     def testGroupmodGID(self):
         "Test modifying UID"
         self.local.groupmod(self.groupname,
-                           gid=1024)
+                            gid=1024)
         self.validate_group(self.groupname,
-                           gidNumber=1024)
+                            gidNumber=1024)
 
     def testGroupmodGroupMembership(self):
         "Test adding to groups"

From f14c6ae3f92b887144f1d48c1dcdd414ae878ab3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:24:10 +0200
Subject: [PATCH 11/38] TESTS: Fix E302 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E302: expected 2 blank lines, found 1

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index 5f0a15aca..fff53270c 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -30,6 +30,7 @@
 # module under test
 import pysss
 
+
 class LocalTest(unittest.TestCase):
     local_path = "/var/lib/sss/db/sssd.ldb"
 
@@ -144,12 +145,14 @@ def remove_user(self, username):
     def remove_user_not_home(self, username):
         self._run_and_check("sss_userdel -R %s" % (username))
 
+
 class SanityTest(unittest.TestCase):
     def testInstantiate(self):
         "Test that the local backed binding can be instantiated"
         local = pysss.local()
         self.assert_(local.__class__, "<type 'sss.local'>")
 
+
 class UseraddTest(LocalTest):
     def tearDown(self):
         if self.username:
@@ -230,6 +233,7 @@ def testUseraddWithUID(self):
         self.validate_user(self.username,
                            uidNumber=1024)
 
+
 class UseraddTestNegative(LocalTest):
     def testUseraddNoParams(self):
         "Test that local.useradd() requires the username parameter"
@@ -261,6 +265,7 @@ def testUseraddUIDAlreadyExists(self):
         finally:
             self.remove_user(self.username)
 
+
 class UserdelTest(LocalTest):
     def testUserdel(self):
         self.add_user("testUserdel")
@@ -289,6 +294,7 @@ def testUserdelNegative(self):
         else:
             fail("Was expecting exception")
 
+
 class UsermodTest(LocalTest):
     def setUp(self):
         self.local = pysss.local()
@@ -349,6 +355,7 @@ def testUsermodLockUnlock(self):
         self.validate_user(self.username,
                            disabled="false")
 
+
 class GroupaddTest(LocalTest):
     def tearDown(self):
         if self.groupname:
@@ -368,6 +375,7 @@ def testGroupaddWithGID(self):
         self.validate_group(self.groupname,
                             gidNumber=1024)
 
+
 class GroupaddTestNegative(LocalTest):
     def testGroupaddNoParams(self):
         "Test that local.groupadd() requires the groupname parameter"
@@ -399,6 +407,7 @@ def testGroupaddGIDAlreadyExists(self):
         finally:
             self.remove_group(self.groupname)
 
+
 class GroupdelTest(LocalTest):
     def testGroupdel(self):
         self.add_group("testGroupdel")

From c65caebe3becb8bfe0e3b88c096625c2ce42d4b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:30:07 +0200
Subject: [PATCH 12/38] TESTS: Fix W391 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

W391: blank line at end of file

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index fff53270c..1450cf34b 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -465,4 +465,3 @@ def testGroupmodGroupMembership(self):
 # -------------- run the test suite -------------- #
 if __name__ == "__main__":
     unittest.main()
-

From 85271a89139e769dcd8e6632b8bec369d9856ef7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:31:02 +0200
Subject: [PATCH 13/38] TESTS: Fix E228 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E228: missing whitespace around modulo operator

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index 1450cf34b..db2fe8b63 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -206,7 +206,7 @@ def testUseraddAlternateSkeldir(self):
         try:
             self.local.useradd(self.username, skel=skeldir)
             self.validate_user(self.username)
-            path = "/home/%s/%s"%(self.username, filename)
+            path = "/home/%s/%s" % (self.username, filename)
             self.assertEquals(os.access(path, os.F_OK), True)
         finally:
             shutil.rmtree(skeldir)

From 3bfc189500aae5ef53e834f1d733dcadf71f1e35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:32:11 +0200
Subject: [PATCH 14/38] TESTS: Fix E261 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E261: at least two spaces before inline comment

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index db2fe8b63..e84d0faaf 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -189,7 +189,7 @@ def testUseraddNoHomedir(self):
         username_path = "/home/%s" % self.username
         self.assertEquals(os.access(username_path, os.F_OK), False)
         self.local.userdel(self.username, remove=False)
-        self.username = None # fool tearDown into not removing the user
+        self.username = None  # fool tearDown into not removing the user
 
     def testUseraddAlternateSkeldir(self):
         "Test adding a local user and init his homedir from a custom location"

From 4942fba3be502626414af3d44027af4a48d444da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 17:34:06 +0200
Subject: [PATCH 15/38] TESTS: Fix E701 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E701: multiple statements on one line (colon)

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index e84d0faaf..5466a8c6a 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -65,7 +65,8 @@ def get_group_info(self, name, domain="LOCAL"):
         return self._get_object_info(name, "groups", domain)
 
     def _validate_object(self, kw, name, **kwargs):
-        if kw == {}: self.fail("Could not get %s info" % name)
+        if kw == {}:
+            self.fail("Could not get %s info" % name)
         for key in kwargs.keys():
             self.assert_(str(kwargs[key]) == str(kw[key]),
                          "%s %s != %s %s" % (key, kwargs[key], key, kw[key]))

From 0150ccbc8f491f6139413c32eaac6709443f5d60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:14:26 +0200
Subject: [PATCH 16/38] TESTS: Fix E305 pep8 issues on python-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E305: expected 2 blank lines after class or function definition, found 1

This issue was found on a debian_testing machine.

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/python-test.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/tests/python-test.py b/src/tests/python-test.py
index 5466a8c6a..cdf0d84aa 100644
--- a/src/tests/python-test.py
+++ b/src/tests/python-test.py
@@ -463,6 +463,7 @@ def testGroupmodGroupMembership(self):
             self.remove_group("gr1")
             self.remove_group("gr2")
 
+
 # -------------- run the test suite -------------- #
 if __name__ == "__main__":
     unittest.main()

From 8b6e9f738ad19c710110337bc6f09e4f1fa6261e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:22:44 +0200
Subject: [PATCH 17/38] TESTS: Fix E20[12] pep8 issues on pysss_murmur-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E201: whitespace after '['
E202: whitespace before ']'

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pysss_murmur-test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/pysss_murmur-test.py b/src/tests/pysss_murmur-test.py
index 7237c95b0..b933a355d 100755
--- a/src/tests/pysss_murmur-test.py
+++ b/src/tests/pysss_murmur-test.py
@@ -33,7 +33,7 @@ class PySssMurmurImport(unittest.TestCase):
     def setUp(self):
         " Make sure we load the in-tree module "
         self.system_path = sys.path[:]
-        sys.path = [ MODPATH ]
+        sys.path = [MODPATH]
         print (os.getcwd())
         print(MODPATH)
 

From 783e1e51111ff4d562d7abef921c39933dacd652 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:24:16 +0200
Subject: [PATCH 18/38] TESTS: FIX E501 pep8 issues on pysss_murmur-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E501: line too long (longer than 79 characters)

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pysss_murmur-test.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/tests/pysss_murmur-test.py b/src/tests/pysss_murmur-test.py
index b933a355d..5e744b93b 100755
--- a/src/tests/pysss_murmur-test.py
+++ b/src/tests/pysss_murmur-test.py
@@ -56,7 +56,8 @@ def testImport(self):
 
             import pysss_murmur
         except ImportError as e:
-            print("Could not load the pysss_murmur module. Please check if it is compiled", file=sys.stderr)
+            print("Could not load the pysss_murmur module. "
+                  "Please check if it is compiled", file=sys.stderr)
             raise e
         self.assertEqual(pysss_murmur.__file__, MODPATH + "/pysss_murmur.so")
 
@@ -67,7 +68,8 @@ def tearDownClass(cls):
         os.rmdir(MODPATH)
 
     def testExpectedHash(self):
-        hash = pysss_murmur.murmurhash3("S-1-5-21-2153326666-2176343378-3404031434", 41, 0xdeadbeef)
+        sid = "S-1-5-21-2153326666-2176343378-3404031434"
+        hash = pysss_murmur.murmurhash3(sid, 41, 0xdeadbeef)
         self.assertEqual(hash, 93103853)
 
     def testInvalidArguments(self):

From 891d65adf1a670ecac08880ad072f9d856d5a331 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:26:35 +0200
Subject: [PATCH 19/38] TESTS: Fix E302 pep8 issues on pysss_murmur-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E302: expected 2 blank lines, found 1

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pysss_murmur-test.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/tests/pysss_murmur-test.py b/src/tests/pysss_murmur-test.py
index 5e744b93b..4a6ba36bf 100755
--- a/src/tests/pysss_murmur-test.py
+++ b/src/tests/pysss_murmur-test.py
@@ -61,6 +61,7 @@ def testImport(self):
             raise e
         self.assertEqual(pysss_murmur.__file__, MODPATH + "/pysss_murmur.so")
 
+
 class PySssMurmurTest(unittest.TestCase):
     @classmethod
     def tearDownClass(cls):

From 42c477d19f45a00a1ba82a46bf092351ecbc08f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:15:41 +0200
Subject: [PATCH 20/38] TESTS: Fix E211 pep8 issues on pysss_murmur-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E211: whitespace before '('

This issue was found on a debian_testing machine.

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pysss_murmur-test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/pysss_murmur-test.py b/src/tests/pysss_murmur-test.py
index 4a6ba36bf..a2cb6e0bc 100755
--- a/src/tests/pysss_murmur-test.py
+++ b/src/tests/pysss_murmur-test.py
@@ -34,7 +34,7 @@ def setUp(self):
         " Make sure we load the in-tree module "
         self.system_path = sys.path[:]
         sys.path = [MODPATH]
-        print (os.getcwd())
+        print(os.getcwd())
         print(MODPATH)
 
     def tearDown(self):

From d8072e5167e810468a0bff317bca6ca11660294d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:30:25 +0200
Subject: [PATCH 21/38] TESTS: Fix E20[12] pep8 issues on pyhbac-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E201: whitespace after '['
E202: whitespace before ']'

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pyhbac-test.py | 44 ++++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/src/tests/pyhbac-test.py b/src/tests/pyhbac-test.py
index e34f05596..2e00b86e2 100755
--- a/src/tests/pyhbac-test.py
+++ b/src/tests/pyhbac-test.py
@@ -44,7 +44,7 @@ class PyHbacImport(unittest.TestCase):
     def setUp(self):
         " Make sure we load the in-tree module "
         self.system_path = sys.path[:]
-        sys.path = [ MODPATH ]
+        sys.path = [MODPATH]
 
     def tearDown(self):
         " Restore the system path "
@@ -223,8 +223,8 @@ def testRuleElementInRule(self):
     def testRuleElementInRuleReference(self):
         " Test that references to RuleElement are kept even if element goes out of scope "
         def _get_rule():
-            users = [ "foo", "bar" ]
-            user_groups = [ "abc", "def" ]
+            users = ["foo", "bar"]
+            user_groups = ["abc", "def"]
             el = pyhbac.HbacRuleElement(names=users, groups=user_groups)
             rule = pyhbac.HbacRule("testRuleElement")
             rule.users = el
@@ -247,10 +247,10 @@ def testRepr(self):
         srchost = "host1"
         targethost = "host2"
 
-        r.users.names = [ name ]
-        r.services.names = [ service ]
-        r.srchosts.names = [ srchost ]
-        r.targethosts.names = [ targethost ]
+        r.users.names = [name]
+        r.services.names = [service]
+        r.srchosts.names = [srchost]
+        r.targethosts.names = [targethost]
 
         self.assertEqual(r.__repr__(), u"<name foo enabled 0 "
                                         "users <category 0 names [%s] groups []> "
@@ -374,10 +374,10 @@ def testEvaluate(self):
         targethost = "host2"
 
         allow_rule = pyhbac.HbacRule("allowRule", enabled=True)
-        allow_rule.users.names = [ name ]
-        allow_rule.services.names = [ service ]
-        allow_rule.srchosts.names = [ srchost ]
-        allow_rule.targethosts.names = [ targethost ]
+        allow_rule.users.names = [name]
+        allow_rule.services.names = [service]
+        allow_rule.srchosts.names = [srchost]
+        allow_rule.targethosts.names = [targethost]
 
         req = pyhbac.HbacRequest()
         req.user.name = name
@@ -433,10 +433,10 @@ def testEvaluateNegative(self):
         targethost = "host2"
 
         allow_rule = pyhbac.HbacRule("allowRule", enabled=True)
-        allow_rule.users.names = [ name ]
-        allow_rule.services.names = [ service ]
-        allow_rule.srchosts.names = [ srchost ]
-        allow_rule.targethosts.names = [ targethost ]
+        allow_rule.users.names = [name]
+        allow_rule.services.names = [service]
+        allow_rule.srchosts.names = [srchost]
+        allow_rule.targethosts.names = [targethost]
 
         req = pyhbac.HbacRequest()
         req.service.name = service
@@ -492,19 +492,19 @@ def testHasRuleElementTypes(self):
         assert hasattr(pyhbac, "HBAC_RULE_ELEMENT_SOURCEHOSTS")
 
     def testHbacResultString(self):
-        results = [ pyhbac.HBAC_EVAL_ALLOW, pyhbac.HBAC_EVAL_DENY,
-                    pyhbac.HBAC_EVAL_ERROR ]
+        results = [pyhbac.HBAC_EVAL_ALLOW, pyhbac.HBAC_EVAL_DENY,
+                   pyhbac.HBAC_EVAL_ERROR]
         for r in results:
             s = pyhbac.hbac_result_string(r)
             self.assertIsInstance(s, unicode)
             assert len(s) > 0
 
     def testHbacErrorString(self):
-        errors = [ pyhbac.HBAC_ERROR_UNKNOWN,
-                   pyhbac.HBAC_SUCCESS,
-                   pyhbac.HBAC_ERROR_NOT_IMPLEMENTED,
-                   pyhbac.HBAC_ERROR_OUT_OF_MEMORY,
-                   pyhbac.HBAC_ERROR_UNPARSEABLE_RULE ]
+        errors = [pyhbac.HBAC_ERROR_UNKNOWN,
+                  pyhbac.HBAC_SUCCESS,
+                  pyhbac.HBAC_ERROR_NOT_IMPLEMENTED,
+                  pyhbac.HBAC_ERROR_OUT_OF_MEMORY,
+                  pyhbac.HBAC_ERROR_UNPARSEABLE_RULE]
         for e in errors:
             s = pyhbac.hbac_error_string(e)
             self.assertIsInstance(s, unicode)

From 1a57793878e35c4927cd8e25a048b2dad192c9f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:32:16 +0200
Subject: [PATCH 22/38] TESTS: Fix E261 pep8 issues on pyhbac-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E261: at least two spaces before inline comment

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pyhbac-test.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/tests/pyhbac-test.py b/src/tests/pyhbac-test.py
index 2e00b86e2..07bfd6cda 100755
--- a/src/tests/pyhbac-test.py
+++ b/src/tests/pyhbac-test.py
@@ -445,7 +445,7 @@ def testEvaluateNegative(self):
         req.user.name = name
 
         saveuser = req.user
-        req.user = None # need to catch this
+        req.user = None  # need to catch this
 
         # catch invalid category value
         savecat = copy.copy(allow_rule.users.category)
@@ -457,7 +457,7 @@ def testEvaluateNegative(self):
         self.assertRaises(TypeError, req.evaluate, (allow_rule,))
 
         req.user = saveuser
-        allow_rule.users = None # need to catch this
+        allow_rule.users = None  # need to catch this
         self.assertRaises(TypeError, req.evaluate, (allow_rule,))
 
         # catch invalid rule type

From 690ba5a8f62ab4feb0c1bbfd949a1a9d25e312ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:33:20 +0200
Subject: [PATCH 23/38] TESTS: Fix W391 pep8 issues on pyhbac-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

W391: blank line at end of file

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pyhbac-test.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/tests/pyhbac-test.py b/src/tests/pyhbac-test.py
index 07bfd6cda..50c078d31 100755
--- a/src/tests/pyhbac-test.py
+++ b/src/tests/pyhbac-test.py
@@ -552,4 +552,3 @@ def testHbacErrorString(self):
         error |= 0x6
 
     sys.exit(error)
-

From 5fc64e6abf849f51d7c3727600f9fb3edcd354df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:42:26 +0200
Subject: [PATCH 24/38] TESTS: Fix E501 pep8 issues on pyhbac-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E501: line too long (longer than 79 characters)

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pyhbac-test.py | 51 ++++++++++++++++++++++++++++--------------------
 1 file changed, 30 insertions(+), 21 deletions(-)

diff --git a/src/tests/pyhbac-test.py b/src/tests/pyhbac-test.py
index 50c078d31..b53332093 100755
--- a/src/tests/pyhbac-test.py
+++ b/src/tests/pyhbac-test.py
@@ -65,7 +65,8 @@ def testImport(self):
 
             import pyhbac
         except ImportError as e:
-            print("Could not load the pyhbac module. Please check if it is compiled", file=sys.stderr)
+            print("Could not load the pyhbac module. Please check if it is "
+                  "compiled", file=sys.stderr)
             raise e
         self.assertEqual(pyhbac.__file__, MODPATH + "/pyhbac.so")
 
@@ -118,7 +119,8 @@ def testCategory(self):
         assert pyhbac.HBAC_CATEGORY_ALL in el.category
 
         # negative tests
-        self.assertRaises(TypeError, el.__setattr__, "category", [pyhbac.HBAC_CATEGORY_ALL])
+        self.assertRaises(TypeError, el.__setattr__, "category",
+                          [pyhbac.HBAC_CATEGORY_ALL])
         self.assertRaises(TypeError, el.__setattr__, "category", None)
         self.assertRaises(TypeError, el.__setattr__, "category", 1)
 
@@ -143,7 +145,8 @@ def testRepr(self):
         el.category.add(pyhbac.HBAC_CATEGORY_ALL)
         el.names = ['foo']
         el.groups = ['bar, baz']
-        self.assertEquals(el.__repr__(), u'<category 1 names [foo] groups [bar, baz]>')
+        self.assertEquals(el.__repr__(),
+                          u'<category 1 names [foo] groups [bar, baz]>')
 
 class PyHbacRuleTest(unittest.TestCase):
     def testRuleGetSetName(self):
@@ -221,7 +224,8 @@ def testRuleElementInRule(self):
         self.assertCountEqual(rule.users.groups, user_groups)
 
     def testRuleElementInRuleReference(self):
-        " Test that references to RuleElement are kept even if element goes out of scope "
+        " Test that references to RuleElement are kept even if element goes"
+        " out of scope "
         def _get_rule():
             users = ["foo", "bar"]
             user_groups = ["abc", "def"]
@@ -236,11 +240,12 @@ def _get_rule():
 
     def testRepr(self):
         r = pyhbac.HbacRule('foo')
-        self.assertEqual(r.__repr__(), u"<name foo enabled 0 "
-                                        "users <category 0 names [] groups []> "
-                                        "services <category 0 names [] groups []> "
-                                        "targethosts <category 0 names [] groups []> "
-                                        "srchosts <category 0 names [] groups []>>")
+        self.assertEqual(r.__repr__(),
+                         u"<name foo enabled 0 "
+                         "users <category 0 names [] groups []> "
+                         "services <category 0 names [] groups []> "
+                         "targethosts <category 0 names [] groups []> "
+                         "srchosts <category 0 names [] groups []>>")
 
         name = "someuser"
         service = "ssh"
@@ -252,12 +257,13 @@ def testRepr(self):
         r.srchosts.names = [srchost]
         r.targethosts.names = [targethost]
 
-        self.assertEqual(r.__repr__(), u"<name foo enabled 0 "
-                                        "users <category 0 names [%s] groups []> "
-                                        "services <category 0 names [%s] groups []> "
-                                        "targethosts <category 0 names [%s] groups []> "
-                                        "srchosts <category 0 names [%s] groups []>>" %
-                                        (name, service, targethost, srchost))
+        self.assertEqual(r.__repr__(),
+                         u"<name foo enabled 0 "
+                         "users <category 0 names [%s] groups []> "
+                         "services <category 0 names [%s] groups []> "
+                         "targethosts <category 0 names [%s] groups []> "
+                         "srchosts <category 0 names [%s] groups []>>" %
+                         (name, service, targethost, srchost))
 
     def testValidate(self):
         r = pyhbac.HbacRule('valid_rule')
@@ -365,7 +371,8 @@ def testRuleName(self):
         req = pyhbac.HbacRequest()
         self.assertEqual(req.rule_name, None)
         # python 2.4 raises TypError, 2.7 raises AttributeError
-        self.assertRaises((TypeError, AttributeError), req.__setattr__, "rule_name", "foo")
+        self.assertRaises((TypeError, AttributeError), req.__setattr__,
+                          "rule_name", "foo")
 
     def testEvaluate(self):
         name = "someuser"
@@ -526,27 +533,29 @@ def testHbacErrorString(self):
     sys.path.insert(0, MODPATH)
     import pyhbac
 
-    suite = unittest.TestLoader().loadTestsFromTestCase(PyHbacRuleElementTest)
+    loadTestsFromTestCase = unittest.TestLoader().loadTestsFromTestCase
+
+    suite = loadTestsFromTestCase(PyHbacRuleElementTest)
     res = unittest.TextTestRunner().run(suite)
     if not res.wasSuccessful():
         error |= 0x2
 
-    suite = unittest.TestLoader().loadTestsFromTestCase(PyHbacRuleTest)
+    suite = loadTestsFromTestCase(PyHbacRuleTest)
     res = unittest.TextTestRunner().run(suite)
     if not res.wasSuccessful():
         error |= 0x3
 
-    suite = unittest.TestLoader().loadTestsFromTestCase(PyHbacRequestElementTest)
+    suite = loadTestsFromTestCase(PyHbacRequestElementTest)
     res = unittest.TextTestRunner().run(suite)
     if not res.wasSuccessful():
         error |= 0x4
 
-    suite = unittest.TestLoader().loadTestsFromTestCase(PyHbacRequestTest)
+    suite = loadTestsFromTestCase(PyHbacRequestTest)
     res = unittest.TextTestRunner().run(suite)
     if not res.wasSuccessful():
         error |= 0x5
 
-    suite = unittest.TestLoader().loadTestsFromTestCase(PyHbacModuleTest)
+    suite = loadTestsFromTestCase(PyHbacModuleTest)
     res = unittest.TextTestRunner().run(suite)
     if not res.wasSuccessful():
         error |= 0x6

From fe7eb5d344ede8da9cf95c81dfd6c756abfe1587 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:43:33 +0200
Subject: [PATCH 25/38] TESTS: Fix E302 pep8 issues on pyhbac-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E302: expected 2 blank lines, found 1

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pyhbac-test.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/tests/pyhbac-test.py b/src/tests/pyhbac-test.py
index b53332093..8e4a41bb3 100755
--- a/src/tests/pyhbac-test.py
+++ b/src/tests/pyhbac-test.py
@@ -148,6 +148,7 @@ def testRepr(self):
         self.assertEquals(el.__repr__(),
                           u'<category 1 names [foo] groups [bar, baz]>')
 
+
 class PyHbacRuleTest(unittest.TestCase):
     def testRuleGetSetName(self):
         name = "testGetRule"
@@ -337,6 +338,7 @@ def testRepr(self):
         r.groups = ['bar', 'baz']
         self.assertEqual(r.__repr__(), u"<name foo groups [bar,baz]>")
 
+
 class PyHbacRequestTest(unittest.TestCase):
     def testRequestElementHandling(self):
         name = "req_name"
@@ -470,6 +472,7 @@ def testEvaluateNegative(self):
         # catch invalid rule type
         self.assertRaises(TypeError, req.evaluate, (allow_rule, None))
 
+
 class PyHbacModuleTest(unittest.TestCase):
     @classmethod
     def tearDownClass(cls):

From 2210c87887261e04b3d8596ff4fab74f57500ddc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:18:03 +0200
Subject: [PATCH 26/38] TESTS: Fix E305 pep8 issues on pyhbac-test.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E305: expected 2 blank lines after class or function definition, found 1

This issue was found on a debian_testing machine.

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/pyhbac-test.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/tests/pyhbac-test.py b/src/tests/pyhbac-test.py
index 8e4a41bb3..393fb2d4c 100755
--- a/src/tests/pyhbac-test.py
+++ b/src/tests/pyhbac-test.py
@@ -23,6 +23,7 @@ def compat_assertIsInstance(this, obj, cls, msg=None):
 def compat_assertItemsEqual(this, expected_seq, actual_seq, msg=None):
     return this.assertEqual(sorted(expected_seq), sorted(actual_seq))
 
+
 # add compat assertIsInstance for old unittest.TestCase versions
 # (python < 2.7, RHEL6 for instance)
 if not hasattr(unittest.TestCase, "assertIsInstance"):

From e2eb33e9bef55c6c7ff8ec894affcb1fdc6fc819 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:11:34 +0200
Subject: [PATCH 27/38] TESTS: Fix E711 pep8 issues on sssd_group.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E711: comparison to None should be 'if cond is not None:'

The issue was found on: debian_testing, fedora22, fedora23, rhel6 and
rhel7 machines.

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/intg/sssd_group.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/intg/sssd_group.py b/src/tests/intg/sssd_group.py
index 32d12cfae..adfdc6721 100644
--- a/src/tests/intg/sssd_group.py
+++ b/src/tests/intg/sssd_group.py
@@ -83,7 +83,7 @@ def set_group_dict(res, result_p):
     group_dict['mem'] = list()
 
     i = 0
-    while result_p[0].gr_mem[i] != None:
+    while result_p[0].gr_mem[i] is not None:
         grp_name = result_p[0].gr_mem[i].decode('utf-8')
         group_dict['mem'].append(grp_name)
         i = i+1

From 8ba81394f59c6d8fc18c36704f014c637590cd8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:19:03 +0200
Subject: [PATCH 28/38] TESTS: Fix E305 pep8 issues on sssd_netgroup.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E305: expected 2 blank lines after class or function definition, found 1

This issue was found on a debian_testing machine.

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/intg/sssd_netgroup.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/tests/intg/sssd_netgroup.py b/src/tests/intg/sssd_netgroup.py
index 162c5aac8..4d1d5e2f4 100644
--- a/src/tests/intg/sssd_netgroup.py
+++ b/src/tests/intg/sssd_netgroup.py
@@ -47,6 +47,7 @@ class Idx(Union):
 class NameList(Structure):
     pass
 
+
 NameList._fields_ = [("next", POINTER(NameList)),
                      ("name", POINTER(c_char))]
 

From 59704de0a84483530b5a2a843543653bcfd1d202 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:57:16 +0200
Subject: [PATCH 29/38] CONTRIB: Fix E501 pep8 issues on sssd_gdb_plugin.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E501: line too long (longer than 79 characters)

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 contrib/gdb/sssd_gdb_plugin.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/contrib/gdb/sssd_gdb_plugin.py b/contrib/gdb/sssd_gdb_plugin.py
index 730c7e894..1e874471b 100644
--- a/contrib/gdb/sssd_gdb_plugin.py
+++ b/contrib/gdb/sssd_gdb_plugin.py
@@ -15,7 +15,8 @@ def gdb_printer_decorator(fn):
 
 
 def indent_string(s, indent):
-    return '\n'.join(["%s%s" % ("\t" * indent, part) for part in s.split('\n')])
+    return '\n'.join(["%s%s"
+                      % ("\t" * indent, part) for part in s.split('\n')])
 
 
 class StringPrinter(object):
@@ -31,7 +32,8 @@ class LdbDnPrinter(StringPrinter):
     " print an ldb dn "
 
     def as_string(self, indent=0):
-        ret = "{ <%s>\tlinearized:%s }" % (self.val.type, self.val['linearized'])
+        ret = "{ <%s>\tlinearized:%s }" % (self.val.type,
+                                           self.val['linearized'])
         return indent_string(ret, indent)
 
 
@@ -47,7 +49,8 @@ class LdbMessageElementPrinter(StringPrinter):
     " print a ldb message element "
 
     def as_string(self, indent=0):
-        ret = "flags = %(flags)s, name = %(name)s, num_values = %(num_values)s" % self.val
+        ret = "flags = %(flags)s, name = %(name)s, " \
+                "num_values = %(num_values)s" % self.val
         try:
             nvals = int(self.val['num_values'])
         except ValueError:
@@ -70,7 +73,8 @@ def as_string(self, indent=0):
             return "num_elements is not numeric?"
 
         dn = LdbDnPrinter(self.val['dn'])
-        ret = "num_elements:\t%s\ndn:\t%s\nelements:\t" % (nels, dn.as_string(indent))
+        dn_str = dn.as_string(indent)
+        ret = "num_elements:\t%s\ndn:\t%s\nelements:\t" % (nels, dn_str)
 
         for i in range(nels):
             el = LdbMessageElementPrinter(self.val['elements'][i])
@@ -83,7 +87,8 @@ class LdbResultPrinter(StringPrinter):
     " print a ldb message element "
 
     def as_string(self, indent=0):
-        ret = "count = %(count)s, extended = %(extended)s, controls = %(controls)s, refs = %(refs)s" % self.val
+        ret = "count = %(count)s, extended = %(extended)s, " \
+                "controls = %(controls)s, refs = %(refs)s" % self.val
         try:
             count = int(self.val['count'])
         except ValueError:

From fa064a31862c70b12578f69cdff6e03884b27371 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:20:26 +0200
Subject: [PATCH 30/38] CONTRIB: Fix E305 pep8 issues on sssd_gdb_plugin.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E305: expected 2 blank lines after class or function definition, found 1

This issue was found on a debian_testing machine.

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 contrib/gdb/sssd_gdb_plugin.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/gdb/sssd_gdb_plugin.py b/contrib/gdb/sssd_gdb_plugin.py
index 1e874471b..6f0cb0d61 100644
--- a/contrib/gdb/sssd_gdb_plugin.py
+++ b/contrib/gdb/sssd_gdb_plugin.py
@@ -198,4 +198,5 @@ def invoke(self, arg, from_tty):
 
         b = gdb.Breakpoint("*%s" % fnaddr)
 
+
 TeventBreak()

From 3c4f17cec60d7861f4ad8b2b0cd5cfe4994e1d47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 18:58:57 +0200
Subject: [PATCH 31/38] CONTRIB: Fix E713 pep8 issues on update_debug_levels.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E713: test for membership should be 'not in'

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 contrib/rhel/update_debug_levels.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/contrib/rhel/update_debug_levels.py b/contrib/rhel/update_debug_levels.py
index a260ec1e8..c96dde6d1 100644
--- a/contrib/rhel/update_debug_levels.py
+++ b/contrib/rhel/update_debug_levels.py
@@ -57,7 +57,7 @@ def main():
     # Check the [sssd] section for debug_level
     sssd_service = sssdconfig.get_service('sssd')
 
-    if not 'debug_level' in sssd_service.options.keys():
+    if 'debug_level' not in sssd_service.options.keys():
         # Nothing to do, just return success
         verbose("No changes required, no backup necessary",
                 options.verbose)
@@ -70,7 +70,7 @@ def main():
     # Loop through services
     for service in sssdconfig.list_services():
         svc = sssdconfig.get_service(service)
-        if not 'debug_level' in svc.options.keys():
+        if 'debug_level' not in svc.options.keys():
             # Not explicitly set, so add it
             svc.set_option('debug_level', debug_level)
             sssdconfig.save_service(svc)
@@ -78,7 +78,7 @@ def main():
     # Loop through domains (active AND inactive)
     for domain in sssdconfig.list_domains():
         dom = sssdconfig.get_domain(domain)
-        if not 'debug_level' in dom.options.keys():
+        if 'debug_level' not in dom.options.keys():
             # Not explicitly set, so add it
             dom.set_option('debug_level', debug_level)
             sssdconfig.save_domain(dom)

From f737596c8ef21ce263b3a6fab75469db4ad481d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:00:00 +0200
Subject: [PATCH 32/38] CONTRIB: Fix E302 pep8 issues on update_debug_level.spy
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E302: expected 2 blank lines, found 1

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 contrib/rhel/update_debug_levels.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/contrib/rhel/update_debug_levels.py b/contrib/rhel/update_debug_levels.py
index c96dde6d1..229114b24 100644
--- a/contrib/rhel/update_debug_levels.py
+++ b/contrib/rhel/update_debug_levels.py
@@ -34,10 +34,12 @@ def parse_options():
 
     return options
 
+
 def verbose(msg, verbosity):
     if verbosity:
         print(msg)
 
+
 def main():
     options = parse_options()
     if not options:

From 7cbf0ccb5203cf866d2481350455f54908405e17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:01:09 +0200
Subject: [PATCH 33/38] CONTRIB: Fix E501 pep8 issues on update_debug_levels.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E501: line too long (longer than 79 characters)

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 contrib/rhel/update_debug_levels.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contrib/rhel/update_debug_levels.py b/contrib/rhel/update_debug_levels.py
index 229114b24..f8d5cf1c9 100644
--- a/contrib/rhel/update_debug_levels.py
+++ b/contrib/rhel/update_debug_levels.py
@@ -29,7 +29,8 @@ def parse_options():
                       help="Be verbose")
     (options, args) = parser.parse_args()
     if len(args) > 0:
-        print("Stray arguments: %s" % ' '.join([a for a in args]), file=sys.stderr)
+        print("Stray arguments: %s" % ' '.join([a for a in args]),
+              file=sys.stderr)
         return None
 
     return options

From c2b3c00e031219a0f144a5bd553788c5d0439644 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:21:24 +0200
Subject: [PATCH 34/38] CONTRIB: Fix E305 pep8 issues on update_debug_levels.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

E305: expected 2 blank lines after class or function definition, found 1

This issue was found on a debian_testing machine.

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 contrib/rhel/update_debug_levels.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/rhel/update_debug_levels.py b/contrib/rhel/update_debug_levels.py
index f8d5cf1c9..7a6d23562 100644
--- a/contrib/rhel/update_debug_levels.py
+++ b/contrib/rhel/update_debug_levels.py
@@ -98,6 +98,7 @@ def main():
     # Save the changes
     sssdconfig.write()
 
+
 if __name__ == "__main__":
     ret = main()
     sys.exit(ret)

From 50edab3dddb32addc739d90a54180e7fb832ad6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Wed, 13 Sep 2017 15:27:48 +0200
Subject: [PATCH 35/38] Revert "intg: Disable add_remove tests"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This reverts commit a24e735d33b788fec32acba70f30709eff44ebdf as it
introduced some pep8 warnings, which would need another patch to fix
those instead of just reverting this one.

So, let's get everything back to what it was before so we can disable
the tests in a way that we do not introduce pep8 issues and, later on,
just revert a single patch enabling the tests again.

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 src/tests/intg/test_enumeration.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/tests/intg/test_enumeration.py b/src/tests/intg/test_enumeration.py
index fdb8d3768..47772dea2 100644
--- a/src/tests/intg/test_enumeration.py
+++ b/src/tests/intg/test_enumeration.py
@@ -403,7 +403,7 @@ def user_and_groups_rfc2307_bis(request, ldap_conn):
     return None
 
 
-def _test_add_remove_user(ldap_conn, blank_rfc2307):
+def test_add_remove_user(ldap_conn, blank_rfc2307):
     """Test user addition and removal are reflected by SSSD"""
     e = ldap_ent.user(ldap_conn.ds_inst.base_dn, "user", 2001, 2000)
     time.sleep(INTERACTIVE_TIMEOUT/2)
@@ -418,7 +418,7 @@ def _test_add_remove_user(ldap_conn, blank_rfc2307):
     ent.assert_passwd(ent.contains_only())
 
 
-def _test_add_remove_group_rfc2307(ldap_conn, blank_rfc2307):
+def test_add_remove_group_rfc2307(ldap_conn, blank_rfc2307):
     """Test RFC2307 group addition and removal are reflected by SSSD"""
     e = ldap_ent.group(ldap_conn.ds_inst.base_dn, "group", 2001)
     time.sleep(INTERACTIVE_TIMEOUT/2)
@@ -433,7 +433,7 @@ def _test_add_remove_group_rfc2307(ldap_conn, blank_rfc2307):
     ent.assert_group(ent.contains_only())
 
 
-def _test_add_remove_group_rfc2307_bis(ldap_conn, blank_rfc2307_bis):
+def test_add_remove_group_rfc2307_bis(ldap_conn, blank_rfc2307_bis):
     """Test RFC2307bis group addition and removal are reflected by SSSD"""
     e = ldap_ent.group_bis(ldap_conn.ds_inst.base_dn, "group", 2001)
     time.sleep(INTERACTIVE_TIMEOUT/2)
@@ -448,7 +448,7 @@ def _test_add_remove_group_rfc2307_bis(ldap_conn, blank_rfc2307_bis):
     ent.assert_group(ent.contains_only())
 
 
-def _test_add_remove_membership_rfc2307(ldap_conn, user_and_group_rfc2307):
+def test_add_remove_membership_rfc2307(ldap_conn, user_and_group_rfc2307):
     """Test user membership addition and removal are reflected by SSSD"""
     time.sleep(INTERACTIVE_TIMEOUT/2)
     # Add user to group
@@ -464,7 +464,7 @@ def _test_add_remove_membership_rfc2307(ldap_conn, user_and_group_rfc2307):
     ent.assert_group_by_name("group", dict(mem=ent.contains_only()))
 
 
-def _test_add_remove_membership_rfc2307_bis(ldap_conn,
+def test_add_remove_membership_rfc2307_bis(ldap_conn,
                                            user_and_groups_rfc2307_bis):
     """
     Test user and group membership addition and removal are reflected by SSSD,

From c63a912c1e5baf1adf2efc02e53c3dd1307cd3d9 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lsleb...@redhat.com>
Date: Wed, 13 Sep 2017 15:31:09 +0200
Subject: [PATCH 36/38] intg: Disable add_remove tests

add_remove fails quite often in enumeration test. The reason of failures
is not obvious and will take some time to investigate it.
Failures blocks testing of other patches therefore its better to disable
tests. (pytest run functions/methods which start with "test")

Temporary workaround for:
https://pagure.io/SSSD/sssd/issue/3463
---
 src/tests/intg/test_enumeration.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/tests/intg/test_enumeration.py b/src/tests/intg/test_enumeration.py
index 47772dea2..54d10f8bf 100644
--- a/src/tests/intg/test_enumeration.py
+++ b/src/tests/intg/test_enumeration.py
@@ -403,7 +403,7 @@ def user_and_groups_rfc2307_bis(request, ldap_conn):
     return None
 
 
-def test_add_remove_user(ldap_conn, blank_rfc2307):
+def _test_add_remove_user(ldap_conn, blank_rfc2307):
     """Test user addition and removal are reflected by SSSD"""
     e = ldap_ent.user(ldap_conn.ds_inst.base_dn, "user", 2001, 2000)
     time.sleep(INTERACTIVE_TIMEOUT/2)
@@ -418,7 +418,7 @@ def test_add_remove_user(ldap_conn, blank_rfc2307):
     ent.assert_passwd(ent.contains_only())
 
 
-def test_add_remove_group_rfc2307(ldap_conn, blank_rfc2307):
+def _test_add_remove_group_rfc2307(ldap_conn, blank_rfc2307):
     """Test RFC2307 group addition and removal are reflected by SSSD"""
     e = ldap_ent.group(ldap_conn.ds_inst.base_dn, "group", 2001)
     time.sleep(INTERACTIVE_TIMEOUT/2)
@@ -433,7 +433,7 @@ def test_add_remove_group_rfc2307(ldap_conn, blank_rfc2307):
     ent.assert_group(ent.contains_only())
 
 
-def test_add_remove_group_rfc2307_bis(ldap_conn, blank_rfc2307_bis):
+def _test_add_remove_group_rfc2307_bis(ldap_conn, blank_rfc2307_bis):
     """Test RFC2307bis group addition and removal are reflected by SSSD"""
     e = ldap_ent.group_bis(ldap_conn.ds_inst.base_dn, "group", 2001)
     time.sleep(INTERACTIVE_TIMEOUT/2)
@@ -448,7 +448,7 @@ def test_add_remove_group_rfc2307_bis(ldap_conn, blank_rfc2307_bis):
     ent.assert_group(ent.contains_only())
 
 
-def test_add_remove_membership_rfc2307(ldap_conn, user_and_group_rfc2307):
+def _test_add_remove_membership_rfc2307(ldap_conn, user_and_group_rfc2307):
     """Test user membership addition and removal are reflected by SSSD"""
     time.sleep(INTERACTIVE_TIMEOUT/2)
     # Add user to group
@@ -464,8 +464,8 @@ def test_add_remove_membership_rfc2307(ldap_conn, user_and_group_rfc2307):
     ent.assert_group_by_name("group", dict(mem=ent.contains_only()))
 
 
-def test_add_remove_membership_rfc2307_bis(ldap_conn,
-                                           user_and_groups_rfc2307_bis):
+def _test_add_remove_membership_rfc2307_bis(ldap_conn,
+                                            user_and_groups_rfc2307_bis):
     """
     Test user and group membership addition and removal are reflected by SSSD,
     with RFC2307bis schema

From 8a4e4ce1640f2c891cff6f912d8fee1f41a0f4a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Sat, 9 Sep 2017 20:08:52 +0200
Subject: [PATCH 37/38] CI: Enable pep8 check
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

CI can now check pep8 issues for all .py files but the ones under
src/config (for those, there's an issue already filed[0]).

[0]: https://pagure.io/SSSD/sssd/issue/3514

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 contrib/ci/deps.sh |  2 ++
 contrib/ci/run     | 15 +++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/contrib/ci/deps.sh b/contrib/ci/deps.sh
index 4467e117c..80f307606 100644
--- a/contrib/ci/deps.sh
+++ b/contrib/ci/deps.sh
@@ -49,6 +49,7 @@ if [[ "$DISTRO_BRANCH" == -redhat-* ]]; then
         curl-devel
         krb5-server
         krb5-workstation
+        python-pep8
     )
     _DEPS_LIST_SPEC=`
         sed -e 's/@PACKAGE_VERSION@/0/g' \
@@ -128,6 +129,7 @@ if [[ "$DISTRO_BRANCH" == -debian-* ]]; then
         krb5-admin-server
         krb5-user
         uuid-dev
+        pep8
     )
     DEPS_INTGCHECK_SATISFIED=true
 fi
diff --git a/contrib/ci/run b/contrib/ci/run
index aa6d35abe..81aa6b5ff 100755
--- a/contrib/ci/run
+++ b/contrib/ci/run
@@ -39,6 +39,19 @@ declare -r COVERAGE_MIN_LINES=15
 # Minimum percentage of code functions covered by tests
 declare -r COVERAGE_MIN_FUNCS=0
 
+# Those values are a sum up of the default warnings in all our
+# supported distros in our CI.
+# debian_testing: E121,E123,E126,E226,E24,E704,W503
+# fedora22:
+# fedora23:
+# fedora24: E121,E123,E126,E226,E24,E704
+# fedora25: E121,E123,E126,E226,E24,E704
+# fedora26: E121,E123,E126,E226,E24,E704
+# fedora27: E121,E123,E126,E226,E24,E704
+# fedora_rawhide: E121,E123,E126,E226,E24,E704
+# rhel6:
+# rhel7:
+declare PEP8_IGNORE="--ignore=E121,E123,E126,E226,E24,E704,W503"
 declare BASE_PFX=""
 declare DEPS=true
 declare BASE_DIR=`pwd`
@@ -378,6 +391,8 @@ export V=1
 if "$DEPS"; then
     stage install-deps  deps_install
 fi
+stage pep8          find . -path ./src/config -prune -o \
+                           -name \*.py -exec pep8 $PEP8_IGNORE {} +
 stage autoreconf    autoreconf --install --force
 run_build debug     build_debug
 if "$RIGOROUS"; then

From fe7bfcf84132cfbbb88e430ea185e29676912b5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fiden...@redhat.com>
Date: Tue, 19 Sep 2017 19:27:13 +0200
Subject: [PATCH 38/38] CI: Ignore E722 pep8 issues on debian machines
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

For now, let's ignore E722 (do not use bare except) in the
debian_testing machines that are part of our CI.

Signed-off-by: Fabiano Fidêncio <fiden...@redhat.com>
---
 contrib/ci/run | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/contrib/ci/run b/contrib/ci/run
index 81aa6b5ff..00542ac3e 100755
--- a/contrib/ci/run
+++ b/contrib/ci/run
@@ -391,6 +391,11 @@ export V=1
 if "$DEPS"; then
     stage install-deps  deps_install
 fi
+if [[ "$DISTRO_BRANCH" != redhat-* ]]; then
+    # Ignore "E722 do not use bare except" exceptions
+    # that are only raised on debian_testing machines.
+    PEP8_IGNORE+=",E722"
+fi
 stage pep8          find . -path ./src/config -prune -o \
                            -name \*.py -exec pep8 $PEP8_IGNORE {} +
 stage autoreconf    autoreconf --install --force
_______________________________________________
sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org
To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org

Reply via email to