[Freeipa-devel] [PATCH 0042] Make lint work on Fedora 22.

David Kupka dkupka at redhat.com
Wed Apr 8 13:16:43 UTC 2015


On 04/08/2015 02:53 PM, 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)
>

It seems weird to me that all the issues are found in tests only. Not a 
single report from code.
Do you have pytest installed/upgraded? pytest is defined only in 
"Requires" not in "BuildRequires" and maybe this is the problem.

-- 
David Kupka




More information about the Freeipa-devel mailing list