[PATCH 7 of 9] tests: add run-tests --changed option for running tests changed in parent or wd

Mads Kiilerich mads at kiilerich.com
Tue Mar 18 18:33:55 CDT 2014


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1393549740 -3600
#      Fri Feb 28 02:09:00 2014 +0100
# Node ID e00c2a57827a52e15adaa000e427306a8b904bdb
# Parent  4546fe5f1b924ca58ac18a14253ebdc31c9af9bd
tests: add run-tests --changed option for running tests changed in parent or wd

Convenient when polishing patches and changing details of how they change test
output.

diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -141,6 +141,8 @@ def parseargs():
         help="skip tests listed in the specified blacklist file")
     parser.add_option("--whitelist", action="append",
         help="always run tests listed in the specified whitelist file")
+    parser.add_option("--changed", action="store_true",
+        help="run tests that are changed in parent rev or working directory")
     parser.add_option("-C", "--annotate", action="store_true",
         help="output files annotated with coverage")
     parser.add_option("-c", "--cover", action="store_true",
@@ -1181,7 +1183,12 @@ def main():
     checktools()
 
     if not args:
-        args = os.listdir(".")
+        if options.changed:
+            proc = Popen4('hg st --rev "p1(.)" -man0 .', None, 0)
+            stdout, stderr = proc.communicate()
+            args = stdout.strip('\0').split('\0')
+        else:
+            args = os.listdir(".")
 
     tests = [t for t in args
              if t.startswith("test-")


More information about the Mercurial-devel mailing list