On 27/04/15 10:31, David Kupka wrote:
On 04/24/2015 03:58 PM, Tomas Babej wrote:


On 04/24/2015 03:50 PM, Martin Basti wrote:
On 24/04/15 15:22, David Kupka wrote:
On 04/24/2015 03:17 PM, Martin Basti wrote:
On 23/04/15 15:26, David Kupka wrote:
On 04/13/2015 01:23 PM, David Kupka wrote:
On 04/10/2015 02:55 PM, Simo Sorce wrote:
On Fri, 2015-04-10 at 12:55 +0200, Lukas Slebodnik wrote:
On (08/04/15 08:53), Simo Sorce wrote:
On Wed, 2015-04-08 at 10:22 +0200, David Kupka wrote:
On 04/06/2015 02:48 PM, Simo Sorce wrote:
On Mon, 2015-03-30 at 12:15 +0200, David Kupka wrote:
On 03/30/2015 07:12 AM, Jan Cholasta wrote:
Dne 28.3.2015 v 00:05 Petr Vobornik napsal(a):
On 27.3.2015 14:58, David Kupka wrote:
pylint changed slightly so we must react otherwise we'll be
unable to
build freeipa rpms on Fedora 22. This patch should go to
master for sure
but I don't know if we want it in 4.1.


ACK

Are all the new disables really just false positives?

It seems to me as a false positives.

1. ipalib/plugins/otptoken.py:552: [E1101(no-member),
otptoken_sync.forward] Module 'ssl' has no 'PROTOCOL_TLSv1'
member)

   >>> import ssl
   >>> ssl.PROTOCOL_TLSv1
3

2. ipaserver/install/ipa_otptoken_import.py:63:
[E1101(no-member),
convertDate] Instance of 'tuple' has no 'tzinfo' member)
ipaserver/install/ipa_otptoken_import.py:64: [E1101(no-member),
convertDate] Instance of 'tuple' has no 'timetuple' member)

dateutil.parser.parse() returns datetime.datetime object and it
has
both tzinfo and timetuple methods
(https://docs.python.org/2/library/datetime.html#datetime-objects)


3. ipapython/dnssec/ldapkeydb.py:26:
[E1127(invalid-slice-index),
uri_escape] Slice index is not an int, None, or instance with
__index__)

This is the line lint is complaining about:
out += '%'.join(hexval[i:i+2] for i in range(0, len(hexval),
2))
I don't see a chance for 'i' or 'i+1' to be anything else than
integers.



tested on:
- F21: ipa-4-1, master branch
- F22: master branch.

IMHO it could got to ipa-4-1 branch because of FreeIPA
4.1.4 in
F22


This patch doesn't seem to fix all my issues building on F22, so
tentative NACK.

I tested it this way:
1. started with Fedora-22-x86_64-minimal system
2. dnf install git
3. clone freeipa
4. make version-update # to get freeipa.spec
5. dnf install `awk '/^BuildRequires/ {print $2}' freeipa.spec`
6. ./make-lint


It seem the main offenders are "No value for argument
'second' in
method
call" (this one only in test_ipautul.py) and "No value for
argument
'extClass' in method call" sprinkled around various test
plugins.
These cause E1120(no-value-for-parameter).

Could you please paste the output of make-lint somewhere?

Here it is.
This is with my f22 desktop, fully updated with buildrequires
running
make-lint straight after applying your patch:

************* Module ipatests.test_ipapython.test_ipautil
ipatests/test_ipapython/test_ipautil.py:93:
[E1120(no-value-for-parameter), TestCIDict.test_len] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:96:
[E1120(no-value-for-parameter), TestCIDict.test_getitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:97:
[E1120(no-value-for-parameter), TestCIDict.test_getitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:98:
[E1120(no-value-for-parameter), TestCIDict.test_getitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:99:
[E1120(no-value-for-parameter), TestCIDict.test_getitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:100:
[E1120(no-value-for-parameter), TestCIDict.test_getitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:101:
[E1120(no-value-for-parameter), TestCIDict.test_getitem] No value
for argument 'excClass' in method call)
ipatests/test_ipapython/test_ipautil.py:105:
[E1120(no-value-for-parameter), TestCIDict.test_get] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:106:
[E1120(no-value-for-parameter), TestCIDict.test_get] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:107:
[E1120(no-value-for-parameter), TestCIDict.test_get] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:108:
[E1120(no-value-for-parameter), TestCIDict.test_get] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:109:
[E1120(no-value-for-parameter), TestCIDict.test_get] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:110:
[E1120(no-value-for-parameter), TestCIDict.test_get] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:114:
[E1120(no-value-for-parameter), TestCIDict.test_setitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:116:
[E1120(no-value-for-parameter), TestCIDict.test_setitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:128:
[E1120(no-value-for-parameter), TestCIDict.test_clear] No value
for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:130:
[E1120(no-value-for-parameter), TestCIDict.test_clear] No value
for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:140:
[E1120(no-value-for-parameter), TestCIDict.test_copy] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:143:
[E1120(no-value-for-parameter), TestCIDict.test_copy] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:161:
[E1120(no-value-for-parameter), TestCIDict.test_items] No value
for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:179:
[E1120(no-value-for-parameter), TestCIDict.test_iteritems] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:189:
[E1120(no-value-for-parameter), TestCIDict.test_iterkeys] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:199:
[E1120(no-value-for-parameter), TestCIDict.test_itervalues] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:207:
[E1120(no-value-for-parameter), TestCIDict.test_keys] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:217:
[E1120(no-value-for-parameter), TestCIDict.test_values] No
value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:229:
[E1120(no-value-for-parameter), TestCIDict.test_update] No
value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:232:
[E1120(no-value-for-parameter), TestCIDict.test_update] No
value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:253:
[E1120(no-value-for-parameter),
TestCIDict.test_update_duplicate_values_dict] No value for
argument
'excClass' in method call)
ipatests/test_ipapython/test_ipautil.py:257:
[E1120(no-value-for-parameter),
TestCIDict.test_update_duplicate_values_list] No value for
argument
'excClass' in method call)
ipatests/test_ipapython/test_ipautil.py:261:
[E1120(no-value-for-parameter),
TestCIDict.test_update_duplicate_values_kwargs] No value for
argument 'excClass' in method call)
ipatests/test_ipapython/test_ipautil.py:270:
[E1120(no-value-for-parameter), TestCIDict.test_setdefault] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:273:
[E1120(no-value-for-parameter), TestCIDict.test_setdefault] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:275:
[E1120(no-value-for-parameter), TestCIDict.test_setdefault] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:278:
[E1120(no-value-for-parameter), TestCIDict.test_setdefault] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:280:
[E1120(no-value-for-parameter), TestCIDict.test_setdefault] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:283:
[E1120(no-value-for-parameter), TestCIDict.test_pop] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:286:
[E1120(no-value-for-parameter), TestCIDict.test_pop] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:289:
[E1120(no-value-for-parameter), TestCIDict.test_pop] No value for
argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:290:
[E1120(no-value-for-parameter), TestCIDict.test_pop] No value for
argument 'excClass' in method call)
ipatests/test_ipapython/test_ipautil.py:295:
[E1120(no-value-for-parameter), TestCIDict.test_popitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:298:
[E1120(no-value-for-parameter), TestCIDict.test_popitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:303:
[E1120(no-value-for-parameter), TestCIDict.test_popitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:308:
[E1120(no-value-for-parameter), TestCIDict.test_popitem] No value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:323:
[E1120(no-value-for-parameter), TestTimeParser.test_simple] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:324:
[E1120(no-value-for-parameter), TestTimeParser.test_simple] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:325:
[E1120(no-value-for-parameter), TestTimeParser.test_simple] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:326:
[E1120(no-value-for-parameter), TestTimeParser.test_simple] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:327:
[E1120(no-value-for-parameter), TestTimeParser.test_simple] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:328:
[E1120(no-value-for-parameter), TestTimeParser.test_simple] No
value
for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:334:
[E1120(no-value-for-parameter),
TestTimeParser.test_hour_min_sec] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:335:
[E1120(no-value-for-parameter),
TestTimeParser.test_hour_min_sec] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:336:
[E1120(no-value-for-parameter),
TestTimeParser.test_hour_min_sec] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:337:
[E1120(no-value-for-parameter),
TestTimeParser.test_hour_min_sec] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:338:
[E1120(no-value-for-parameter),
TestTimeParser.test_hour_min_sec] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:339:
[E1120(no-value-for-parameter),
TestTimeParser.test_hour_min_sec] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:345:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:346:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:347:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:348:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:349:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:350:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:355:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:356:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:357:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:358:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:359:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:360:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:365:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:366:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:367:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:368:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:369:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:370:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:371:
[E1120(no-value-for-parameter), TestTimeParser.test_fractions] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:377:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:378:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:380:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:385:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:386:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:388:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:393:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:394:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:398:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:403:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:404:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
ipatests/test_ipapython/test_ipautil.py:406:
[E1120(no-value-for-parameter), TestTimeParser.test_time_zones] No
value for argument 'second' in method call)
************* Module ipatests.test_xmlrpc.test_cert_plugin
ipatests/test_xmlrpc/test_cert_plugin.py:132:
[E1120(no-value-for-parameter), test_cert.test_0001_cert_add] No
value for argument 'excClass' in method call)
************* Module ipatests.test_xmlrpc.test_automount_plugin
ipatests/test_xmlrpc/test_automount_plugin.py:297:
[E1120(no-value-for-parameter),
test_automount.test_b_automountkey_del] No value for argument
'excClass' in method call)
ipatests/test_xmlrpc/test_automount_plugin.py:309:
[E1120(no-value-for-parameter),
test_automount.test_c_automountlocation_del] No value for argument
'excClass' in method call)
ipatests/test_xmlrpc/test_automount_plugin.py:318:
[E1120(no-value-for-parameter),
test_automount.test_d_automountmap_del] No value for argument
'excClass' in method call)
ipatests/test_xmlrpc/test_automount_plugin.py:378:
[E1120(no-value-for-parameter),
test_automount_direct.test_3_automountlocation_del] No value for
argument 'excClass' in method call)
ipatests/test_xmlrpc/test_automount_plugin.py:453:
[E1120(no-value-for-parameter),
test_automount_indirect.test_3_automountkey_del] No value for
argument 'excClass' in method call)
ipatests/test_xmlrpc/test_automount_plugin.py:465:
[E1120(no-value-for-parameter),
test_automount_indirect.test_4_automountmap_del] No value for
argument 'excClass' in method call)
ipatests/test_xmlrpc/test_automount_plugin.py:477:
[E1120(no-value-for-parameter),
test_automount_indirect.test_5_automountlocation_del] No value for
argument 'excClass' in method call)
ipatests/test_xmlrpc/test_automount_plugin.py:560:
[E1120(no-value-for-parameter),
test_automount_indirect_no_parent.test_3_automountkey_del] No
value
for argument 'excClass' in method call)
ipatests/test_xmlrpc/test_automount_plugin.py:572:
[E1120(no-value-for-parameter),
test_automount_indirect_no_parent.test_4_automountmap_del] No
value
for argument 'excClass' in method call)
ipatests/test_xmlrpc/test_automount_plugin.py:584:
[E1120(no-value-for-parameter),
test_automount_indirect_no_parent.test_5_automountlocation_del] No
value for argument 'excClass' in method call)
************* Module ipatests.test_xmlrpc.test_sudorule_plugin
ipatests/test_xmlrpc/test_sudorule_plugin.py:759:
[E1120(no-value-for-parameter),
test_sudorule.test_l_sudorule_order]
No value for argument 'excClass' in method call)
ipatests/test_xmlrpc/test_sudorule_plugin.py:764:
[E1120(no-value-for-parameter),
test_sudorule.test_l_sudorule_order]
No value for argument 'excClass' in method call)
ipatests/test_xmlrpc/test_sudorule_plugin.py:769:
[E1120(no-value-for-parameter),
test_sudorule.test_l_sudorule_order]
No value for argument 'excClass' in method call)
ipatests/test_xmlrpc/test_sudorule_plugin.py:783:
[E1120(no-value-for-parameter), test_sudorule.test_m_sudorule_del]
No value for argument 'excClass' in method call)
************* Module ipatests.test_xmlrpc.test_passwd_plugin
ipatests/test_xmlrpc/test_passwd_plugin.py:68:
[E1120(no-value-for-parameter), test_passwd.test_3_user_del] No
value for argument 'excClass' in method call)
************* Module ipatests.test_xmlrpc.test_pwpolicy_plugin
ipatests/test_xmlrpc/test_pwpolicy_plugin.py:213:
[E1120(no-value-for-parameter),
test_pwpolicy.test_d_pwpolicy_show]
No value for argument 'excClass' in method call)
************* Module ipatests.test_xmlrpc.test_hbac_plugin
ipatests/test_xmlrpc/test_hbac_plugin.py:487:
[E1120(no-value-for-parameter), test_hbac.test_z_hbacrule_del] No
value for argument 'excClass' in method call)
************* Module ipatests.test_ipaserver.test_ldap
ipatests/test_ipaserver/test_ldap.py:232:
[E1120(no-value-for-parameter), test_LDAPEntry.test_pop] No value
for argument 'excClass' in method call)


I cannot see such warnings and make-lint passed without any problem
with
David's patch.

[root@8e5f379469b0 freeipa]# rpm -qa | grep pytest
pytest-2.6.4-1.fc22.noarch
python-pytest-sourceorder-0.4-2.fc22.noarch
python-pytest-multihost-0.6-2.fc22.noarch

I have the same packages
What version of pylint ?

I have pylint-1.4.1-3.fc22.noarch

Simo.


Thanks to Honza I've finally found a way to get the same errors
you're
reporting. All of them seems to be false positives but I'll
investigate
little more to be sure.

The thing is that python-nose package that is still used in some
test is
not in BuildRequires so I didn't install it.

Another weird thing is that lint do not complain that tests are
importing nose that is not installed.

nose.tools module from python-nose package imports assertEqual and
assertRaises from unittest.case and provides them as assert_equal and
assert_raises. This confuses pylint so we need to detect this
situation and skip checking of this functions unless we either drop
python-nose or pylint will become more powerful.



Hello,

This empty line should not be there, it is unrelated and unneeded
change.
@@ -95,6 +96,7 @@ class IPATypeChecker(TypeChecker):
'domain', 'master', 'replicas', 'clients', 'ad_domains']
      }

+
      def _related_classes(self, klass):
          yield klass
          for base in klass.ancestors():

Otherwise it looks good to me and works for me on f22, f21.


Thanks for reviewing the patch. I removed the accidentally added
empty line. Updated patch attached.

ACK


Pushed to master: 4a5f5b14c3159e3517b2bfefc3e89f16cebe9d4b

Actually this commit introduced bug on Fedora 21 (pylint-1.3.1). Fortunately the fix is just a simple one-liner.

ACK, works for both F21 and F22

please push dkupka-0042 (I originally thought It was pushed)

--
Martin Basti

--
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to