You can subscribe to this list here.
2002 |
Jan
|
Feb
(16) |
Mar
(72) |
Apr
(12) |
May
(38) |
Jun
(37) |
Jul
(41) |
Aug
(25) |
Sep
(22) |
Oct
(9) |
Nov
(10) |
Dec
(24) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(19) |
Feb
(23) |
Mar
(22) |
Apr
(23) |
May
(38) |
Jun
(99) |
Jul
(81) |
Aug
(45) |
Sep
(17) |
Oct
(29) |
Nov
(49) |
Dec
(76) |
2004 |
Jan
(96) |
Feb
(79) |
Mar
(54) |
Apr
(77) |
May
(67) |
Jun
(48) |
Jul
(40) |
Aug
(22) |
Sep
(16) |
Oct
(23) |
Nov
(35) |
Dec
(30) |
2005 |
Jan
(6) |
Feb
(2) |
Mar
(8) |
Apr
(4) |
May
(4) |
Jun
(4) |
Jul
(13) |
Aug
(13) |
Sep
(18) |
Oct
(23) |
Nov
(10) |
Dec
(28) |
2006 |
Jan
(15) |
Feb
(13) |
Mar
(11) |
Apr
(9) |
May
(11) |
Jun
(16) |
Jul
(16) |
Aug
(8) |
Sep
(26) |
Oct
(53) |
Nov
(71) |
Dec
(66) |
2007 |
Jan
(43) |
Feb
(74) |
Mar
(26) |
Apr
(18) |
May
(31) |
Jun
(30) |
Jul
(33) |
Aug
(60) |
Sep
(29) |
Oct
(16) |
Nov
|
Dec
|
2008 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(4) |
May
|
Jun
(1) |
Jul
(13) |
Aug
(9) |
Sep
(3) |
Oct
(1) |
Nov
(2) |
Dec
|
2009 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(4) |
Jul
|
Aug
(1) |
Sep
(4) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
2010 |
Jan
|
Feb
(1) |
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2011 |
Jan
(2) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Andreas M. <and...@gm...> - 2014-03-25 20:45:25
|
Is it possible to use PyChecker in a way so that it does not generate any .pyc files from the checked .py files? Regards, Andy |
From: Andreas M. <and...@gm...> - 2014-03-25 20:15:35
|
Hi, It seems that PyChecker passes its own command line arguments to any Python source files that are being checked. This can lead to strange effects if the checked file is a Python script that processes command line args. Is there a reason for passing the arguments on? Regards, Andy |
From: Dustin L. <qh...@gm...> - 2013-04-11 21:05:27
|
On line 155 of python.py I belive the line should be changed from: 'strip': (types.StringType, 0, 0), to 'strip': (types.StringType, 0, 2), Currently this is giving false positives for expressions like: x = foo.strip("\n") # this function can have 1 to 2 arguments Let me know if you need more info. -- Dustin Lee qhfgva=rot13(dustin) |
From: Alexander K. <al...@gm...> - 2012-09-19 22:09:41
|
Hello Neal and Eric, Do you still maintain pychecker? I've found a bug. Here is a minimal test case to reproduce it: $ *pychecker --version* 0.8.19 $ *cat > testcase.py* def trigger_len_of_None_in_validateKwArgs(): message = "{foo}" return message.format(foo="bar") $ *pychecker testcase.py* Processing module testcase (testcase.py)... Warnings... testcase.py:3: INTERNAL ERROR -- STOPPED PROCESSING FUNCTION -- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pychecker/warn.py", line 242, in _checkFunction _checkCode(code, codeSource) File "/usr/lib/python2.7/dist-packages/pychecker/warn.py", line 153, in _checkCode dispatch_func(oparg, operand, codeSource, code) File "/usr/lib/python2.7/dist-packages/pychecker/CodeChecks.py", line 1690, in _CALL_FUNCTION _handleFunctionCall(codeSource, code, oparg) File "/usr/lib/python2.7/dist-packages/pychecker/CodeChecks.py", line 474, in _handleFunctionCall check_arg_count) File "/usr/lib/python2.7/dist-packages/pychecker/CodeChecks.py", line 250, in _checkBuiltin _validateKwArgs(code, methodInfo, func_name[1], kwArgs) File "/usr/lib/python2.7/dist-packages/pychecker/CodeChecks.py", line 192, in _validateKwArgs if len(info) < 4: TypeError: object of type 'NoneType' has no len() I'm running this using Python 2.7.3 on Ubuntu 12.04.1. This is a common pattern in my code where similar but slightly different messages should be printed under different conditions. For example: try: ... except EnvironmentError as error: if error.filename: message = "{program}: error: {e.filename}: {e.strerror}" else: message = "{program}: error: {e.strerror}" print(message.format(program="my-program-name", e=error), file=sys.stderr) This code triggers the bug, too. Do you have any idea on why this pychecker error occurs and how one might approach fixing it? Best regards, -- Alexander |
From: Martin M. <mmo...@fo...> - 2012-03-04 14:56:50
|
Hi, I have a slightly older version of pychecker on my Gentoo Linux. Should I bother to provide you with a testcase for these system packages or is it enough to know and reproduce? [system path]/decimal.py:1346: INTERNAL ERROR -- STOPPED PROCESSING FUNCTION -- Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/pychecker/warn.py", line 242, in _checkFunction _checkCode(code, codeSource) File "/usr/lib64/python2.7/site-packages/pychecker/warn.py", line 155, in _checkCode raise NotImplementedError('No DISPATCH member for op %r' % op) NotImplementedError: No DISPATCH member for op 28 [system path]/decimal.py:1993: INTERNAL ERROR -- STOPPED PROCESSING FUNCTION -- Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/pychecker/warn.py", line 242, in _checkFunction _checkCode(code, codeSource) File "/usr/lib64/python2.7/site-packages/pychecker/warn.py", line 155, in _checkCode raise NotImplementedError('No DISPATCH member for op %r' % op) NotImplementedError: No DISPATCH member for op 28 [system path]/decimal.py:2146: Invalid arguments to (__pow__), got 4, expected 3 [system path]/decimal.py:2362: Invalid arguments to (__rpow__), got 3, expected 2 [system path]/decimal.py:2665: INTERNAL ERROR -- STOPPED PROCESSING FUNCTION -- Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/pychecker/warn.py", line 242, in _checkFunction _checkCode(code, codeSource) File "/usr/lib64/python2.7/site-packages/pychecker/warn.py", line 155, in _checkCode raise NotImplementedError('No DISPATCH member for op %r' % op) NotImplementedError: No DISPATCH member for op 28 [system path]/subprocess.py:683: No global (msvcrt) found [system path]/subprocess.py:709: Invalid arguments to (__del__), got 3, expected 1 [system path]/subprocess.py:1163: INTERNAL ERROR -- STOPPED PROCESSING FUNCTION -- Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/pychecker/warn.py", line 242, in _checkFunction _checkCode(code, codeSource) File "/usr/lib64/python2.7/site-packages/pychecker/warn.py", line 155, in _checkCode raise NotImplementedError('No DISPATCH member for op %r' % op) NotImplementedError: No DISPATCH member for op 104 Best, Martin |
From: Dustin L. <qh...@gm...> - 2011-07-28 15:30:00
|
Thanks for the tip. Since this is essentially a one character fix I'm guessing this will be sufficient for now but if you think it will help I can re-run the diff with -u. dustin On Mon, Jul 25, 2011 at 4:56 PM, Barry Scott <ba...@ba...> wrote: > On 15 Apr 2011, at 21:13, Dustin Lee wrote: > > > Here is the use case and a fix for this error. Let me know if there is a > more efficient way to present this. > > > > groucho:~/projects/python/pychecker/pychecker-0.8.19 > > $ cat ../test_checkbuiltins.py > > def foo_func(): > > s = "foo" > > return '%s' % s.center(1) > > > > groucho:~/projects/python/pychecker/pychecker-0.8.19 > > $ python pychecker/checker.py ../test_checkbuiltins.py > > Processing module test_checkbuiltins (../test_checkbuiltins.py)... > > > > Warnings... > > > > ../test_checkbuiltins.py:3: INTERNAL ERROR -- STOPPED PROCESSING FUNCTION > -- > > Traceback (most recent call last): > > File "pychecker/warn.py", line 242, in _checkFunction > > _checkCode(code, codeSource) > > File "pychecker/warn.py", line 153, in _checkCode > > dispatch_func(oparg, operand, codeSource, code) > > File "pychecker/CodeChecks.py", line 1690, in _CALL_FUNCTION > > _handleFunctionCall(codeSource, code, oparg) > > File "pychecker/CodeChecks.py", line 474, in > _handleFunctionCall > > check_arg_count) > > File "pychecker/CodeChecks.py", line 256, in _checkBuiltin > > methodInfo[1], methodInfo[2]) > > IndexError: tuple index out of range > > > > groucho:~/projects/python/pychecker/pychecker-0.8.19 > > $ diff -p pychecker/python.py > ../pychecker-0.8.19-FIXED/pychecker/python.py > > *** pychecker/python.py 2011-01-06 15:59:52.000000000 -0700 > > --- ../pychecker-0.8.19-FIXED/pychecker/python.py 2011-04-15 > 13:59:18.000000000 -0600 > > *************** if utils.pythonVersion() >= utils.PYTHON > > *** 165,173 **** > > > > if utils.pythonVersion() >= utils.PYTHON_2_4: > > _STRING_METHODS['rsplit'] = (types.StringType, 0, 2) > > ! _STRING_METHODS['center'] = (types.StringType, 1, 2), > > ! _STRING_METHODS['ljust'] = (types.StringType, 1, 2), > > ! _STRING_METHODS['rjust'] = (types.StringType, 1, 2), > > > > BUILTIN_METHODS = { types.DictType : > > { 'clear': (types.NoneType, 0, 0), > > --- 165,173 ---- > > > > if utils.pythonVersion() >= utils.PYTHON_2_4: > > _STRING_METHODS['rsplit'] = (types.StringType, 0, 2) > > ! _STRING_METHODS['center'] = (types.StringType, 1, 2) > > ! _STRING_METHODS['ljust'] = (types.StringType, 1, 2) > > ! _STRING_METHODS['rjust'] = (types.StringType, 1, 2) > > > > BUILTIN_METHODS = { types.DictType : > > { 'clear': (types.NoneType, 0, 0), > > > > Its preferred to use diff -u to submit patches as its easier to > review them. > > Barry > > > > > > -- > > Dustin Lee > > qhfgva=rot13(dustin) > > > ------------------------------------------------------------------------------ > > Benefiting from Server Virtualization: Beyond Initial Workload > > Consolidation -- Increasing the use of server virtualization is a top > > priority.Virtualization can reduce costs, simplify management, and > improve > > application availability and disaster protection. Learn more about > boosting > > the value of server virtualization. > http://p.sf.net/sfu/vmware-sfdev2dev_______________________________________________ > > PyChecker-list mailing list > > PyC...@li... > > https://lists.sourceforge.net/lists/listinfo/pychecker-list > > -- Dustin Lee qhfgva=rot13(dustin) |
From: Barry S. <ba...@ba...> - 2011-07-25 23:31:04
|
On 15 Apr 2011, at 21:13, Dustin Lee wrote: > Here is the use case and a fix for this error. Let me know if there is a more efficient way to present this. > > groucho:~/projects/python/pychecker/pychecker-0.8.19 > $ cat ../test_checkbuiltins.py > def foo_func(): > s = "foo" > return '%s' % s.center(1) > > groucho:~/projects/python/pychecker/pychecker-0.8.19 > $ python pychecker/checker.py ../test_checkbuiltins.py > Processing module test_checkbuiltins (../test_checkbuiltins.py)... > > Warnings... > > ../test_checkbuiltins.py:3: INTERNAL ERROR -- STOPPED PROCESSING FUNCTION -- > Traceback (most recent call last): > File "pychecker/warn.py", line 242, in _checkFunction > _checkCode(code, codeSource) > File "pychecker/warn.py", line 153, in _checkCode > dispatch_func(oparg, operand, codeSource, code) > File "pychecker/CodeChecks.py", line 1690, in _CALL_FUNCTION > _handleFunctionCall(codeSource, code, oparg) > File "pychecker/CodeChecks.py", line 474, in _handleFunctionCall > check_arg_count) > File "pychecker/CodeChecks.py", line 256, in _checkBuiltin > methodInfo[1], methodInfo[2]) > IndexError: tuple index out of range > > groucho:~/projects/python/pychecker/pychecker-0.8.19 > $ diff -p pychecker/python.py ../pychecker-0.8.19-FIXED/pychecker/python.py > *** pychecker/python.py 2011-01-06 15:59:52.000000000 -0700 > --- ../pychecker-0.8.19-FIXED/pychecker/python.py 2011-04-15 13:59:18.000000000 -0600 > *************** if utils.pythonVersion() >= utils.PYTHON > *** 165,173 **** > > if utils.pythonVersion() >= utils.PYTHON_2_4: > _STRING_METHODS['rsplit'] = (types.StringType, 0, 2) > ! _STRING_METHODS['center'] = (types.StringType, 1, 2), > ! _STRING_METHODS['ljust'] = (types.StringType, 1, 2), > ! _STRING_METHODS['rjust'] = (types.StringType, 1, 2), > > BUILTIN_METHODS = { types.DictType : > { 'clear': (types.NoneType, 0, 0), > --- 165,173 ---- > > if utils.pythonVersion() >= utils.PYTHON_2_4: > _STRING_METHODS['rsplit'] = (types.StringType, 0, 2) > ! _STRING_METHODS['center'] = (types.StringType, 1, 2) > ! _STRING_METHODS['ljust'] = (types.StringType, 1, 2) > ! _STRING_METHODS['rjust'] = (types.StringType, 1, 2) > > BUILTIN_METHODS = { types.DictType : > { 'clear': (types.NoneType, 0, 0), > Its preferred to use diff -u to submit patches as its easier to review them. Barry > > -- > Dustin Lee > qhfgva=rot13(dustin) > ------------------------------------------------------------------------------ > Benefiting from Server Virtualization: Beyond Initial Workload > Consolidation -- Increasing the use of server virtualization is a top > priority.Virtualization can reduce costs, simplify management, and improve > application availability and disaster protection. Learn more about boosting > the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev_______________________________________________ > PyChecker-list mailing list > PyC...@li... > https://lists.sourceforge.net/lists/listinfo/pychecker-list |
From: Dustin L. <qh...@gm...> - 2011-04-15 20:13:56
|
Here is the use case and a fix for this error. Let me know if there is a more efficient way to present this. groucho:~/projects/python/pychecker/pychecker-0.8.19 $ cat ../test_checkbuiltins.py def foo_func(): s = "foo" return '%s' % s.center(1) groucho:~/projects/python/pychecker/pychecker-0.8.19 $ python pychecker/checker.py ../test_checkbuiltins.py Processing module test_checkbuiltins (../test_checkbuiltins.py)... Warnings... ../test_checkbuiltins.py:3: INTERNAL ERROR -- STOPPED PROCESSING FUNCTION -- Traceback (most recent call last): File "pychecker/warn.py", line 242, in _checkFunction _checkCode(code, codeSource) File "pychecker/warn.py", line 153, in _checkCode dispatch_func(oparg, operand, codeSource, code) File "pychecker/CodeChecks.py", line 1690, in _CALL_FUNCTION _handleFunctionCall(codeSource, code, oparg) File "pychecker/CodeChecks.py", line 474, in _handleFunctionCall check_arg_count) File "pychecker/CodeChecks.py", line 256, in _checkBuiltin methodInfo[1], methodInfo[2]) IndexError: tuple index out of range groucho:~/projects/python/pychecker/pychecker-0.8.19 $ diff -p pychecker/python.py ../pychecker-0.8.19-FIXED/pychecker/python.py *** pychecker/python.py 2011-01-06 15:59:52.000000000 -0700 --- ../pychecker-0.8.19-FIXED/pychecker/python.py 2011-04-15 13:59:18.000000000 -0600 *************** if utils.pythonVersion() >= utils.PYTHON *** 165,173 **** if utils.pythonVersion() >= utils.PYTHON_2_4: _STRING_METHODS['rsplit'] = (types.StringType, 0, 2) ! _STRING_METHODS['center'] = (types.StringType, 1, 2), ! _STRING_METHODS['ljust'] = (types.StringType, 1, 2), ! _STRING_METHODS['rjust'] = (types.StringType, 1, 2), BUILTIN_METHODS = { types.DictType : { 'clear': (types.NoneType, 0, 0), --- 165,173 ---- if utils.pythonVersion() >= utils.PYTHON_2_4: _STRING_METHODS['rsplit'] = (types.StringType, 0, 2) ! _STRING_METHODS['center'] = (types.StringType, 1, 2) ! _STRING_METHODS['ljust'] = (types.StringType, 1, 2) ! _STRING_METHODS['rjust'] = (types.StringType, 1, 2) BUILTIN_METHODS = { types.DictType : { 'clear': (types.NoneType, 0, 0), -- Dustin Lee qhfgva=rot13(dustin) |
From: <th...@ap...> - 2011-01-08 11:57:31
|
This mail announces the release of PyChecker 0.8.19 'Two Seven'. PyChecker is a tool for finding bugs in python source code. It finds problems that are typically caught by a compiler for less dynamic languages, like C and C++. It is similar to lint. Because of the dynamic nature of python, some warnings may be incorrect; however, spurious warnings should be fairly infrequent. PyChecker works in a combination of ways. First, it imports each module. If there is an import error, the module cannot be processed. The import provides some basic information about the module. The code for each function, class, and method is checked for possible problems. Types of problems that can be found include: No global found (e.g., using a module without importing it) Passing the wrong number of parameters to functions/methods/constructors Passing the wrong number of parameters to builtin functions and methods Using format strings that don't match arguments Using class methods and attributes that don't exist Changing signature when overriding a method Redefining a function/class/method in the same scope Using a variable before setting it self not the first parameter to a method Unused globals and locals (module or variable) Unused function/method arguments (can ignore self) No doc strings in modules, classes, functions, and methods For more information, see http://pychecker.sourceforge.net/ To file bugs, go to http://sourceforge.net/tracker/?atid=382217&group_id=24686&func=browse |
From: Thomas V. S. <th...@ap...> - 2011-01-06 23:28:10
|
Hi everyone, I just made a prerelease of pychecker: http://thomas.apestaart.org/download/tmp/pychecker-0.8.18.2.tar.gz You can read some more here: http://thomas.apestaart.org/log/?p=1274 Or check the NEWS file in the tarball or CVS for a list of changes. I plan to release Saturday. I would appreciate any testing you could give this. Thomas -- -- Don't you see that my heart's on fire wicked wings that you spread round me sometimes All I know is we've got to aim higher Babe I wish that we'd go for the great escape -- GStreamer - bringing multimedia to your desktop http://gstreamer.freedesktop.org/ |
From: Neal N. <nno...@gm...> - 2010-12-21 03:59:37
|
That's fantastic! Thanks Thomas. I'll look over the changes and try to test things out. n PS. I love seeing all the recent changes go by. On Sun, Dec 19, 2010 at 1:46 PM, Thomas Vander Stichele <th...@ap...> wrote: > Hi everyone, > > I had a moment of focus this weekend so I fixed up pychecker for Python > 2.7: > > http://thomas.apestaart.org/log/?p=1268 > > Right now it fails as many or even less tests than Python 2.6. > > I'm going to do some more general cleanup and possibly some > implementations of opcodes I found missing by running it on some > projects, but it's definitely a major and needed improvement. > > Feel free to give it a test and me some feedback before I release. I > don't want to end up with egg on my face for my first pychecker release. > > Thanks > Thomas > > -- > I can't go away with you on a rock climbing weekend > What if something's on TV and it's never shown again > Just as well I'm not invited I'm afraid of heights > I lied about being the outdoor type > -- > MOAP - Maintaining your projects since 2006 > https://apestaart.org/moap/trac/ > > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > PyChecker-list mailing list > PyC...@li... > https://lists.sourceforge.net/lists/listinfo/pychecker-list > |
From: Thomas V. S. <th...@ap...> - 2010-12-19 22:08:55
|
Hi everyone, I had a moment of focus this weekend so I fixed up pychecker for Python 2.7: http://thomas.apestaart.org/log/?p=1268 Right now it fails as many or even less tests than Python 2.6. I'm going to do some more general cleanup and possibly some implementations of opcodes I found missing by running it on some projects, but it's definitely a major and needed improvement. Feel free to give it a test and me some feedback before I release. I don't want to end up with egg on my face for my first pychecker release. Thanks Thomas -- I can't go away with you on a rock climbing weekend What if something's on TV and it's never shown again Just as well I'm not invited I'm afraid of heights I lied about being the outdoor type -- MOAP - Maintaining your projects since 2006 https://apestaart.org/moap/trac/ |
From: Barry S. <ba...@ba...> - 2010-04-27 08:04:21
|
On 25 Apr 2010, at 18:49, Thomas Vander Stichele wrote: > Hi Barry, > >> Are you still planning to work on pychecker and fix problems? > > I never plan, it happens when I get in the mood or run into some bug. > >> I have some patches for pychecker on 2.6 but I need help to understand >> how to fix some harder problems. > > Ok, feel free to share. I'll prep a set of patches for the problems I have already fixed and post here. > >> It seems that the python compiled code has changed in ways that trip up >> pychecker. For example the code to figure out error in the use of format >> strings reports warning show some perfectly good code. (No I cannot break >> it in a small example - only in huge examples that I cannot make public). > > Hm, that's going to be hard to figure out then if we can't make it > reproducable. Can you share the code with me for example ? I cannot share the code, its (1) big and (2) my boss will not allow it to be published. I have been instrumenting the pychecker code to find out where the format string bug is. I have it isolated to a single function. I can share my debugging and hope that together we can figure out what to change. Barry |
From: Thomas V. S. <th...@ap...> - 2010-04-25 17:50:10
|
Hi Barry, > Are you still planning to work on pychecker and fix problems? I never plan, it happens when I get in the mood or run into some bug. > I have some patches for pychecker on 2.6 but I need help to understand > how to fix some harder problems. Ok, feel free to share. > It seems that the python compiled code has changed in ways that trip up > pychecker. For example the code to figure out error in the use of format > strings reports warning show some perfectly good code. (No I cannot break > it in a small example - only in huge examples that I cannot make public). Hm, that's going to be hard to figure out then if we can't make it reproducable. Can you share the code with me for example ? Thomas -- Can we, like, have a dude conversation ? I'm begging here ! -- Flumotion - the only way to stream! http://www.flumotion.net/ |
From: Barry S. <ba...@ba...> - 2010-04-24 14:46:47
|
Are you still planning to work on pychecker and fix problems? I have some patches for pychecker on 2.6 but I need help to understand how to fix some harder problems. It seems that the python compiled code has changed in ways that trip up pychecker. For example the code to figure out error in the use of format strings reports warning show some perfectly good code. (No I cannot break it in a small example - only in huge examples that I cannot make public). Barry On 30 Sep 2009, at 15:37, Thomas Vander Stichele wrote: > Continuing on my cleanup path... > >> 2.6: 16 failures >> 2.5: 12 failures >> 2.4: 6 failures >> 2.3: 8 failures > > What I'm focussing on so far is to bring all python versions on par with > the one with the lowest failures, 2.4 > > I've first brought back 2.6 to the same failures as 2.5; basically, all > new failures were due to the way BUILD_MAP has changed and can now take > a numeric argument to presize the dict. This argument however is not > the number of items to consume from the stack. > > Fixing that bug in pychecker made failures for 2.6 the same as for 2.5 > > As for between 2.5 and 2.4, I'm going over each of them and figuring out > what happened. A few have been fixed simply because Python 2.5 > introduced code generator optimizations that optimize the problematic > code away before pychecker has a change to get at it; examples: > > 55555 % 1 gets replaced with the constant 1 > ~~(10) (double negation) gets replaced with 10 > > Since pychecker has no way of knowing what the code was like before it > got constified, there's no way to warn about it afaict. (Please correct > me if I'm wrong here). So in those cases, I created a new expected > results file, removing the warnings. > > At least one of the differences I will need more help on, but for now > the score is: > > 2.6/2.5: 9 > 2.4: 6 > 2.3: 8 > > I have to say I feel a lot more comfortable changing tricky python code > with these buildbots around to check all python versions for me... > > Thomas > > -- > P.S. You rock my world > -- > savon - Saving your work to svn > https://apestaart.org/thomas/trac/ > > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > _______________________________________________ > PyChecker-list mailing list > PyC...@li... > https://lists.sourceforge.net/lists/listinfo/pychecker-list |
From: Jeremy C. R. <re...@re...> - 2010-02-03 15:20:40
|
Any work on pychecker to work with Python 3.1? Or any suggestions of code analyzers for code using python 3.1? (pylint and pyflake also don't know python 3.1.) |
From: Peter B. <pj...@fl...> - 2009-12-06 09:05:55
|
Hi, TypeError: __import__() takes at most 4 arguments (5 given) I see from the Python docs that __import__ can actually take 5 arguments, so perhaps pychecker has fallen behind the latest Python version __import__(name[, globals[, locals[, fromlist[, level]]]]) Tried adding another parameter: level=None to both definitions of __import__ in checker.py Fixed my immediate problem. Regards, Peter Bobroff |
From: Peter B. <pj...@fl...> - 2009-11-18 20:34:22
|
Hi, TypeError: __import__() takes at most 4 arguments (5 given) I see from the Python docs that __import__ can actually take 5 arguments, so perhaps pychecker has fallen behind the latest Python version __import__(name[, globals[, locals[, fromlist[, level]]]]) Tried adding another parameter: level=None to both definitions of __import__ in checker.py Fixed my immediate problem. Regards, Peter Bobroff |
From: Ilona C. <il...@qu...> - 2009-10-19 22:06:58
|
Hello I just downloaded your PyChecker module and used it to check my code - really glad that we have it :) , thank you. I would like to report a bug against version 0.8.18 - semi-private attributes and __getattr__ are not handled by this version properly. Here is my code snippet that uses semi-private attributes and __getattr__ class PyHciPerforceServer(object): ''' This is the class whose instances will start p4d.exe (Perforce server) - by default, use temporary directory and first available port - or use rootDir and port number as specified by the user ''' def __getattr__(self, attributeName): ''' Return object's attribute with attributeName ''' # List of valid attribute names for . operation if(attributeName == 'port'): return self.__port if(attributeName == 'hostName'): return self.__hostName if(attributeName == 'rootDir'): return self.__rootDir if(attributeName == 'serverProcess'): return self.__serverProcess if(attributeName == 'isRunning'): if self.__serverProcess == None: return False else: # Return true if Perforce server process is running return self.__serverProcess.poll() == None # If we got here, attributeName is invalid raise AttributeError(attributeName) def __init__(self, rootDir = None, port = 0): ''' Initialize object attributes and start the server on given rootDir and port ''' # Initialize all of object's attributes self.__port = None self.__hostName = None self.__rootDir = None self.__serverProcess = None # Start Perforce server using given rootDir and port number # Using default parameters will start the server in a temp root dir # and on the first available port self.start(rootDir, port) [ SNIP ] Here's what PyChecker reports for this class: Warnings... PyHciPerforceServer_Test.py:71: Object (server) has no attribute (isRunning) PyHciPerforceServer_Test.py:72: Object (server) has no attribute (port) PyHciPerforceServer_Test.py:73: Object (server) has no attribute (rootDir) PyHciPerforceServer_Test.py:74: Object (server) has no attribute (serverProcess) PyHciPerforceServer_Test.py:75: Object (server) has no attribute (hostName) PyHciPerforceServer_Test.py:93: Object (server) has no attribute (isRunning) PyHciPerforceServer_Test.py:105: Object (server) has no attribute (port) PyHciPerforceServer_Test.py:106: Object (server) has no attribute (rootDir) PyHciPerforceServer_Test.py:107: Object (server) has no attribute (serverProcess) PyHciPerforceServer_Test.py:108: Object (server) has no attribute (hostName) PyHciPerforceServer_Test.py:109: Object (server) has no attribute (isRunning) PyHciPerforceServer_Test.py:132: Object (server) has no attribute (port) PyHciPerforceServer_Test.py:133: Object (server) has no attribute (rootDir) PyHciPerforceServer_Test.py:134: Object (server) has no attribute (serverProcess) PyHciPerforceServer_Test.py:135: Object (server) has no attribute (hostName) PyHciPerforceServer_Test.py:136: Object (server) has no attribute (isRunning) PyHciPerforceServer_Test.py:167: Object (server) has no attribute (port) PyHciPerforceServer_Test.py:168: Object (server) has no attribute (rootDir) PyHciPerforceServer_Test.py:169: Object (server) has no attribute (serverProcess) PyHciPerforceServer_Test.py:170: Object (server) has no attribute (hostName) PyHciPerforceServer_Test.py:171: Object (server) has no attribute (isRunning) PyHciPerforceServer_Test.py:204: Object (server) has no attribute (isRunning) PyHciPerforceServer_Test.py:212: Object (server) has no attribute (port) PyHciPerforceServer_Test.py:213: Object (server) has no attribute (rootDir) Thank you ~~~~~~~~~~~~~~~~~~~~~~~ Ilona Chodnicka Software Engineer, Senior Qualcomm CDMA Technologies ~~~~~~~~~~~~~~~~~~~~~~~ ... if I stop to think about it, it becomes *PREMEDITATED* |
From: Thomas V. S. <th...@ap...> - 2009-09-30 14:37:52
|
Continuing on my cleanup path... > 2.6: 16 failures > 2.5: 12 failures > 2.4: 6 failures > 2.3: 8 failures What I'm focussing on so far is to bring all python versions on par with the one with the lowest failures, 2.4 I've first brought back 2.6 to the same failures as 2.5; basically, all new failures were due to the way BUILD_MAP has changed and can now take a numeric argument to presize the dict. This argument however is not the number of items to consume from the stack. Fixing that bug in pychecker made failures for 2.6 the same as for 2.5 As for between 2.5 and 2.4, I'm going over each of them and figuring out what happened. A few have been fixed simply because Python 2.5 introduced code generator optimizations that optimize the problematic code away before pychecker has a change to get at it; examples: 55555 % 1 gets replaced with the constant 1 ~~(10) (double negation) gets replaced with 10 Since pychecker has no way of knowing what the code was like before it got constified, there's no way to warn about it afaict. (Please correct me if I'm wrong here). So in those cases, I created a new expected results file, removing the warnings. At least one of the differences I will need more help on, but for now the score is: 2.6/2.5: 9 2.4: 6 2.3: 8 I have to say I feel a lot more comfortable changing tricky python code with these buildbots around to check all python versions for me... Thomas -- P.S. You rock my world -- savon - Saving your work to svn https://apestaart.org/thomas/trac/ |
From: Thomas V. S. <th...@ap...> - 2009-09-30 08:35:26
|
Hi, (starts feeling like an echo in here :)) > Ok, I set up my jhbuild build scripts to build 3 python versions on one > of the slaves (2.3, 2.4, 2.5) > > I still need to set up a 2.6 one somewhere. Done now. > > After that, I still need to integrate with cvs hooks to send out mails > > and trigger builds. Done too. Also, fixed a small bug where test runs on the same machine overwrote the other tests. Now I seem to get consistent build results, and here are the scores: 2.6: 16 failures 2.5: 12 failures 2.4: 6 failures 2.3: 8 failures I'm thinking atm it would be nice to make a test matrix, but since the goal is to fix all tests, then keep them fixed, this may not be so useful. Thomas -- Be a blanket for my bones be a place that I call home -- savon - Saving your work to svn https://apestaart.org/thomas/trac/ |
From: Thomas V. S. <th...@ap...> - 2009-09-29 19:44:49
|
Hi, some followup: > There's 5 builders right now. It's not super-useful yet since: > > - you don't obviously see what python version they run > - we don't cover all python versions yet Ok, I set up my jhbuild build scripts to build 3 python versions on one of the slaves (2.3, 2.4, 2.5) I still need to set up a 2.6 one somewhere. > After that, I still need to integrate with cvs hooks to send out mails > and trigger builds. This still needs doing. On the plus side, it seems anoncvs on sf now syncs immediately, so that's good. Additionally, I wrote a quick parser for the TESTS FAILED: line at the end, so the builders report how many tests failed. This should make it easier to track when we actually go back to fixing those failures and make sure we fix them across all python versions. Suggestions welcome! Thomas -- too tired to eat too hungry to sleep -- MOAP - Maintaining your projects since 2006 https://apestaart.org/moap/trac/ |
From: Thomas V. S. <th...@ap...> - 2009-09-28 21:20:12
|
I haven't fixed anything in pychecker lately because I have a known bug I want to fix, and before I did so I wanted to set up some buildbots. Ok, well, that part of the yak shave has started, so I give to you: http://build.fluendo.com:8200/ There's 5 builders right now. It's not super-useful yet since: - you don't obviously see what python version they run - we don't cover all python versions yet However, I have some other scripts that set up different python versions, and then I will add some builders for all useful python versions. After that, I still need to integrate with cvs hooks to send out mails and trigger builds. And after that, I can fix the actual darn bug I have on my plate :) Enjoy, Thomas -- I willed myself to become a machine whose product was distance. -- savon - Saving your work to svn https://apestaart.org/thomas/trac/ |
From: phani s. <pha...@gm...> - 2009-08-17 14:23:39
|
hi , def test(p1,p2): if(not p2): print "not p2" *return* if(not p1): print "p2" print "good to be here" In the above example ,pychecker is showing unreachable code warning at "return " statement. I am not able to understand the reason for this.Is it a bug with pychecker ? Thanks in advance -- PHANI SHANKAR |
From: Thomas V. S. <th...@ap...> - 2009-06-27 16:31:04
|
As I'm adding opcodes, I'm wondering about what should be checked for some of them. For example, DELETE_SLICE3: def func(): d = 1 del d[1:2] When you execute func, you would get: TypeError: 'int' object does not support item deletion It sounds to me like pychecker should generate a warning for this code, no ? How should I do this ? What can I do to figure out if the object being sliced supports item deletion and/or slicing ? Thomas -- Did you get older doing nothing today? Don't you wanna stop complaining? -- URGent, best radio on the net - 24/7 ! http://urgent.fm/ |