Add --stop-on-failure to phpunit
authorFrederic Massart <fred@moodle.com>
Wed, 16 Dec 2015 06:43:03 +0000 (14:43 +0800)
committerFrederic Massart <fred@moodle.com>
Wed, 16 Dec 2015 06:43:03 +0000 (14:43 +0800)
mdk/commands/phpunit.py
mdk/phpunit.py

index 96f2d81..4de5994 100644 (file)
@@ -81,6 +81,14 @@ class PhpunitCommand(Command):
             }
         ),
         (
+            ['-q', '--stop-on-failure'],
+            {
+                'action': 'store_true',
+                'dest': 'stoponfailure',
+                'help': 'stop execution upon first failure or error'
+            }
+        ),
+        (
             ['-c', '--coverage'],
             {
                 'action': 'store_true',
@@ -139,7 +147,8 @@ class PhpunitCommand(Command):
             'filter': args.filter,
             'testcase': args.testcase,
             'testsuite': testsuite,
-            'unittest': args.unittest
+            'unittest': args.unittest,
+            'stopon': [] if not args.stoponfailure else ['failure']
         }
 
         if args.run:
index 1f5628e..060951d 100644 (file)
@@ -40,7 +40,7 @@ class PHPUnit(object):
         self._Wp = Wp
         self._M = M
 
-    def getCommand(self, testcase=None, unittest=None, filter=None, coverage=None, testsuite=None):
+    def getCommand(self, testcase=None, unittest=None, filter=None, coverage=None, testsuite=None, stopon=None):
         """Get the PHPUnit command"""
         cmd = []
         if self.usesComposer():
@@ -52,6 +52,10 @@ class PHPUnit(object):
             cmd.append('--coverage-html')
             cmd.append(self.getCoverageDir())
 
+        if stopon:
+            for on in stopon:
+                cmd.append('--stop-on-%s' % on)
+
         if testcase:
             cmd.append(testcase)
         elif unittest: