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.

--
David Kupka

--
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