[Piglit] [PATCH 00/12] cleanup dispatch generation code
baker.dylan.c at gmail.com
Tue Jan 13 17:50:31 PST 2015
Chad, I meant to CC you on this, since you wrote most of this code.
On Tuesday, January 13, 2015 05:48:10 PM Dylan Baker wrote:
> This series is mainly aimed at removing the obsolete cmp function and
> corresponding __cmp__ method, and replace them with rich comparison
> methods (__lt__, __eq__, etc). It also makes some opportunistic cleanups
> of the code, mostly errors in the code, or style changes that are prone
> to turning into surprising behavior.
> Getting rid of cmp is good for a couple of reasons. First it is a very
> course comparison method, it can only know if something is <, >, or ==,
> which it does by returning -1, 1, or 0 (respectively), while rich
> comparisons provide support for <, =<, ==, !=, >=, and >, each as an
> individual method (or, by using functools.total_orderings, with just
> __eq__ and one other method). Second, __cmp__ and cmp were deprecated in
> python 2.1, and are removed in 3.0, so it's a very old spec. Finally, it
> allows objects to be sorted without the use of a key or cmp call to
> sorted(), which makes the code cleaner and easier to understand.
> I have verified that this produces the same output (white space
> unchecked) as before, and that running quick.py all tests were the same,
> except for two known sporadic tests. The only exception is that the
> first patch results in comments changing, but in a way that makes them
> deterministic rather than random.
> This is available at my github:
> https://github.com/dcbaker/piglit submit/remove-registry-cmp
> Dylan Baker (12):
> piglit-displatch-gen.h.mako: sort comments
> regirsry/gl.py: remove unused import
> registry/gl.py: fix no-attribute error
> registry/gl.py: Replace __cmp__ methods with rich comparison methods
> registry/gl.py: Strip superfluous parens from the assert keyword
> registry/gl.py: remove unused variable
> regsitry/gl.py: Make Error class inherit from Exception
> gen_dispatch.py: remove unused imports
> gen_dispatch.py: sort imports into groups
> gen_dispatch.py: remove use of cmp.
> gen_dispatch.py: Remove unnecessary parens from assert keyword
> gen_dispatch.py: silence error
> registry/gl.py | 238 +++++++++++++++++++++++-----------
> tests/util/gen_dispatch.py | 60 ++-------
> tests/util/piglit-dispatch-gen.h.mako | 2 +-
> 3 files changed, 172 insertions(+), 128 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 473 bytes
Desc: This is a digitally signed message part.
More information about the Piglit