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

Martin Basti mbasti at redhat.com
Fri Apr 10 11:19:06 UTC 2015


On 10/04/15 12:55, 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 at 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
>
> LS
>
Same here. I build IPA with this patch from both IPA-4-1 and master 
branch, with latest F22 packages. Lint was successful.

Martin^2

-- 
Martin Basti




More information about the Freeipa-devel mailing list