summaryrefslogtreecommitdiff
path: root/igor.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2012-07-11 08:33:52 -0400
committerNed Batchelder <ned@nedbatchelder.com>2012-07-11 08:33:52 -0400
commit6a72eefcdf50494f3516db7e237f35647c6270df (patch)
tree7947ff1672948e85efbca331a85cb16fca44e815 /igor.py
parent320763755190fb8717d87036338084559401fec6 (diff)
downloadpython-coveragepy-6a72eefcdf50494f3516db7e237f35647c6270df.tar.gz
Move checkeol.py into igor.py, and ignore .tox
Diffstat (limited to 'igor.py')
-rw-r--r--igor.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/igor.py b/igor.py
index 3f1a34a..1682a3e 100644
--- a/igor.py
+++ b/igor.py
@@ -5,6 +5,7 @@ of in shell scripts, batch files, or Makefiles.
"""
+import fnmatch
import os
import sys
import zipfile
@@ -35,6 +36,44 @@ def do_zip_mods(args):
zf = zipfile.ZipFile("test/zipmods.zip", "w")
zf.write("test/covmodzip1.py", "covmodzip1.py")
+def do_check_eol(args):
+ """Check files for incorrect newlines and trailing whitespace."""
+
+ ignore_dirs = ['.svn', '.hg', '.tox']
+
+ def check_file(fname, crlf=True, trail_white=True):
+ for n, line in enumerate(open(fname, "rb")):
+ if crlf:
+ if "\r" in line:
+ print "%s@%d: CR found" % (fname, n+1)
+ return
+ if trail_white:
+ line = line[:-1]
+ if line.rstrip() != line:
+ print "%s@%d: trailing whitespace found" % (fname, n+1)
+ return
+
+ def check_files(root, patterns, **kwargs):
+ for root, dirs, files in os.walk(root):
+ for f in files:
+ fname = os.path.join(root, f)
+ for p in patterns:
+ if fnmatch.fnmatch(fname, p):
+ check_file(fname, **kwargs)
+ break
+ for pattern in ignore_dirs:
+ if pattern in dirs:
+ dirs.remove(pattern)
+
+ check_files("coverage", ["*.py", "*.c"])
+ check_files("coverage/htmlfiles", ["*.html", "*.css", "*.js"])
+ check_files("test", ["*.py"])
+ check_files("test", ["*,cover"], trail_white=False)
+ check_files("test/js", ["*.js", "*.html"])
+ check_file("setup.py")
+ check_files("doc", ["*.rst"])
+ check_files(".", ["*.txt"])
+
def main(args):
handler = globals().get('do_'+args[0])