python: selftest: Add possibility to run old Python test suites with Python 3
authorLumir Balhar <lbalhar@redhat.com>
Tue, 17 Jan 2017 10:05:44 +0000 (11:05 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 10 Mar 2017 06:31:12 +0000 (07:31 +0100)
Add possibility to execute old Python test suites with Python 3
and enable tests with Python 3 of ported samba.gensec module.

Signed-off-by: Lumir Balhar <lbalhar@redhat.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
selftest/selftesthelpers.py
source4/selftest/tests.py

index b0ece36d0f5c356c69716b3df994155205263405..6b22a16bfa570f4a3860b4dab7c508e2a54345fe 100644 (file)
@@ -46,7 +46,7 @@ else:
     has_perl_test_more = False
 
 python = os.getenv("PYTHON", "python")
-extra_python = os.getenv("EXTRA_PYTHON", "python3")
+extra_python = os.getenv("EXTRA_PYTHON", None)
 
 tap2subunit = python + " " + os.path.join(srcdir(), "selftest", "tap2subunit")
 
@@ -137,7 +137,7 @@ def planpythontestsuite(env, module, name=None, extra_path=[], py3_compatible=Fa
     if pypath:
         args.insert(0, "PYTHONPATH=%s" % ":".join(["$PYTHONPATH"] + pypath))
     plantestsuite_loadlist(name, env, args)
-    if py3_compatible:
+    if py3_compatible and extra_python is not None:
         # Plan one more test for Python 3 compatible module
         args[0] = extra_python
         plantestsuite_loadlist(name, env, args)
index 3786f735dd788f70f88090f676dff33dcf88f375..c2c5486d43ec13343f72540ee5e9912179375abd 100755 (executable)
@@ -537,7 +537,9 @@ for env in ["ad_dc:local", "s4member:local", "nt4_dc:local", "ad_member:local",
         skiptestsuite("samba.nss.test using winbind(%s)" % env, "nsstest not available")
 
 subunitrun = valgrindify(python) + " " + os.path.join(samba4srcdir, "scripting/bin/subunitrun")
-def planoldpythontestsuite(env, module, name=None, extra_path=[], environ={}, extra_args=[]):
+if extra_python is not None:
+    subunitrun3 = valgrindify(extra_python) + " " + os.path.join(samba4srcdir, "scripting/bin/subunitrun")
+def planoldpythontestsuite(env, module, name=None, extra_path=[], environ={}, extra_args=[], py3_compatible=False):
     environ = dict(environ)
     py_path = list(extra_path)
     if py_path:
@@ -548,8 +550,12 @@ def planoldpythontestsuite(env, module, name=None, extra_path=[], environ={}, ex
     if name is None:
         name = module
     plantestsuite_loadlist(name, env, args)
+    if py3_compatible and extra_python is not None:
+        args[0] = subunitrun3
+        plantestsuite_loadlist(name, env, args)
 
-planoldpythontestsuite("ad_dc_ntvfs:local", "samba.tests.gensec", extra_args=['-U"$USERNAME%$PASSWORD"'])
+
+planoldpythontestsuite("ad_dc_ntvfs:local", "samba.tests.gensec", extra_args=['-U"$USERNAME%$PASSWORD"'], py3_compatible=True)
 planoldpythontestsuite("none", "simple", extra_path=["%s/lib/tdb/python/tests" % srcdir()], name="tdb.python")
 planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dcerpc.sam")
 planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dsdb")