[PATCH 07/55] Use Samba-only subunit module in selftest/tests/.

Jelmer Vernooij jelmer at samba.org
Fri Feb 6 12:03:39 MST 2015


Change-Id: I48c61f975c1fa49f6e244ad39dd720fe507db45b
Signed-off-by: Jelmer Vernooij <jelmer at samba.org>
---
 python/samba/subunit/__init__.py | 28 ++++++++++++++++++++++++++++
 python/samba/subunit/run.py      | 21 ++-------------------
 selftest/run.py                  |  5 ++---
 selftest/tests/test_run.py       | 17 ++++++++++-------
 4 files changed, 42 insertions(+), 29 deletions(-)

diff --git a/python/samba/subunit/__init__.py b/python/samba/subunit/__init__.py
index 7b609c3..f452db6 100644
--- a/python/samba/subunit/__init__.py
+++ b/python/samba/subunit/__init__.py
@@ -16,3 +16,31 @@
 #
 
 """Subunit test protocol."""
+
+import datetime
+
+
+PROGRESS_SET = 0
+PROGRESS_CUR = 1
+PROGRESS_PUSH = 2
+PROGRESS_POP = 3
+
+
+# From http://docs.python.org/library/datetime.html
+_ZERO = datetime.timedelta(0)
+
+# A UTC class.
+
+class UTC(datetime.tzinfo):
+    """UTC"""
+
+    def utcoffset(self, dt):
+        return _ZERO
+
+    def tzname(self, dt):
+        return "UTC"
+
+    def dst(self, dt):
+        return _ZERO
+
+utc = UTC()
diff --git a/python/samba/subunit/run.py b/python/samba/subunit/run.py
index 33efd4f..dbe6b24 100755
--- a/python/samba/subunit/run.py
+++ b/python/samba/subunit/run.py
@@ -24,6 +24,8 @@
   $ python -m samba.subunit.run mylib.tests.test_suite
 """
 
+from samba.subunit import UTC
+
 import datetime
 import os
 import sys
@@ -31,25 +33,6 @@ import traceback
 import unittest
 
 
-# From http://docs.python.org/library/datetime.html
-_ZERO = datetime.timedelta(0)
-
-# A UTC class.
-
-class UTC(datetime.tzinfo):
-    """UTC"""
-
-    def utcoffset(self, dt):
-        return _ZERO
-
-    def tzname(self, dt):
-        return "UTC"
-
-    def dst(self, dt):
-        return _ZERO
-
-utc = UTC()
-
 # Whether or not to hide layers of the stack trace that are
 # unittest/testtools internal code.  Defaults to True since the
 # system-under-test is rarely unittest or testtools.
diff --git a/selftest/run.py b/selftest/run.py
index 222ac8b..b7638f0 100644
--- a/selftest/run.py
+++ b/selftest/run.py
@@ -18,10 +18,9 @@
 """Test command running."""
 
 import datetime
-from subunit import iso8601
 import os
 import subprocess
-import subunit
+from samba import subunit
 import sys
 import tempfile
 import warnings
@@ -89,7 +88,7 @@ def exported_envvars_str(vars, names):
 def now():
     """Return datetime instance for current time in UTC.
     """
-    return datetime.datetime.utcnow().replace(tzinfo=iso8601.Utc())
+    return datetime.datetime.utcnow().replace(tzinfo=subunit.UTC())
 
 
 def run_testsuite_command(name, cmd, subunit_ops, env=None, outf=None):
diff --git a/selftest/tests/test_run.py b/selftest/tests/test_run.py
index 35f99e8..829f488 100644
--- a/selftest/tests/test_run.py
+++ b/selftest/tests/test_run.py
@@ -21,7 +21,10 @@
 
 import datetime
 import os
-import subunit
+from samba.subunit import (
+    PROGRESS_PUSH,
+    PROGRESS_POP,
+    )
 import tempfile
 
 from selftest.run import (
@@ -133,10 +136,10 @@ class RunTestsuiteCommandTests(TestCase):
         exit_code = run_testsuite_command("thetestsuitename", "echo doing something", subunit_ops, outf=outf)
         self.assertEquals([
             ("start-testsuite", "thetestsuitename"),
-            ("progress", None, subunit.PROGRESS_PUSH),
+            ("progress", None, PROGRESS_PUSH),
             ("time", ),
             ("time", ),
-            ("progress", None, subunit.PROGRESS_POP),
+            ("progress", None, PROGRESS_POP),
             ("end-testsuite", "thetestsuitename", "success", None),
             ], subunit_ops.calls)
         self.assertEquals(0, exit_code)
@@ -153,10 +156,10 @@ expanded command: echo doing something
         exit_code = run_testsuite_command("thetestsuitename", "exit 3", subunit_ops, outf=outf)
         self.assertEquals([
             ("start-testsuite", "thetestsuitename"),
-            ("progress", None, subunit.PROGRESS_PUSH),
+            ("progress", None, PROGRESS_PUSH),
             ("time", ),
             ("time", ),
-            ("progress", None, subunit.PROGRESS_POP),
+            ("progress", None, PROGRESS_POP),
             ("end-testsuite", "thetestsuitename", "failure", "Exit code was 3"),
             ], subunit_ops.calls)
         self.assertEquals(3, exit_code)
@@ -173,10 +176,10 @@ expanded command: exit 3
             "thisisacommandthatdoesnotexist 2>/dev/null", subunit_ops, outf=outf)
         self.assertEquals([
             ("start-testsuite", "thetestsuitename"),
-            ("progress", None, subunit.PROGRESS_PUSH),
+            ("progress", None, PROGRESS_PUSH),
             ("time", ),
             ("time", ),
-            ("progress", None, subunit.PROGRESS_POP),
+            ("progress", None, PROGRESS_POP),
             ("end-testsuite", "thetestsuitename", "failure", "Exit code was 127"),
             ], subunit_ops.calls)
         self.assertEquals(127, exit_code)
-- 
2.1.4



More information about the samba-technical mailing list