[PATCH 1 of 2] tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc
gregory.szorc at gmail.com
Fri Nov 25 18:04:47 UTC 2016
# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1480096505 28800
# Fri Nov 25 09:55:05 2016 -0800
# Node ID 7b8444ec642e29b1a8cb3e63909d5caf9e4166d7
# Parent 906a7d8e969552536fffe0df7a5e63bf5d79b34b
tests: add test that @commands in debugcommands.py are sorted
I felt like inline Python in test-check-code.t was the most
appropriate place for this, as other linters in contrib/ seem to
be source file agnostic.
The test currently fails.
diff --git a/tests/test-check-code.t b/tests/test-check-code.t
--- a/tests/test-check-code.t
+++ b/tests/test-check-code.t
@@ -18,3 +18,20 @@ New errors are not allowed. Warnings are
Skipping mercurial/httpclient/__init__.py it has no-che?k-code (glob)
Skipping mercurial/httpclient/_readers.py it has no-che?k-code (glob)
Skipping mercurial/statprof.py it has no-che?k-code (glob)
+
+ at commands in debugcommands.py should be in alphabetical order.
+
+ >>> import re
+ >>> commands = []
+ >>> with open('mercurial/debugcommands.py', 'rb') as fh:
+ ... for line in fh:
+ ... m = re.match("^@command\('([a-z]+)", line)
+ ... if m:
+ ... commands.append(m.group(1))
+ >>> scommands = list(sorted(commands))
+ >>> for i, command in enumerate(scommands):
+ ... if command != commands[i]:
+ ... print('commands in debugcommands.py not sorted; first differing '
+ ... 'command is %s; expected %s' % (commands[i], command))
+ ... break
+ commands in debugcommands.py not sorted; first differing command is debugbuilddag; expected debugapplystreamclonebundle
More information about the Mercurial-devel
mailing list