From 8daa83a594a2e98f39d764422bfbdbc62c9efd44 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 19:20:00 +0200 Subject: Adding upstream version 2:4.20.0+dfsg. Signed-off-by: Daniel Baumann --- source4/scripting/bin/subunitrun | 87 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100755 source4/scripting/bin/subunitrun (limited to 'source4/scripting/bin/subunitrun') diff --git a/source4/scripting/bin/subunitrun b/source4/scripting/bin/subunitrun new file mode 100755 index 0000000..7bfa851 --- /dev/null +++ b/source4/scripting/bin/subunitrun @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 + +# Simple subunit testrunner for python + +# NOTE: This is deprecated - Using the standard subunit runner is +# preferred - e.g. "python -m samba.subunit.run YOURMODULE". +# +# This wrapper will be removed once all tests can be run +# without it. At the moment there are various tests which still +# get e.g. credentials passed via command-line options to this +# script. + +# Copyright (C) Jelmer Vernooij 2007-2014 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import sys + +# make sure the script dies immediately when hitting control-C, +# rather than raising KeyboardInterrupt. As we do all database +# operations using transactions, this is safe. +import signal +signal.signal(signal.SIGINT, signal.SIG_DFL) + +# Find right directory when running from source tree +sys.path.insert(0, "bin/python") + +import optparse +import samba +from samba.tests.subunitrun import TestProgram, SubunitOptions + +import samba.getopt as options +import samba.tests + + +usage = 'subunitrun [options] ' +description = ''' +This runs a Samba python test suite. The tests are typically located in +python/samba/tests/*.py + +To run the tests from one of those modules, specify the test as +samba.tests.MODULE. For example, to run the tests in common.py: + + subunitrun samba.tests.common + +To list the tests in that module, use: + + subunitrun -l samba.tests.common + +NOTE: This script is deprecated in favor of "python -m subunit.run". Don't use +it unless it can be avoided. +''' + +def format_description(formatter): + '''hack to prevent textwrap of the description''' + return description + +parser = optparse.OptionParser(usage=usage, description=description) +parser.format_description = format_description +credopts = options.CredentialsOptions(parser) +sambaopts = options.SambaOptions(parser) +subunitopts = SubunitOptions(parser) +parser.add_option_group(credopts) +parser.add_option_group(sambaopts) +parser.add_option_group(subunitopts) + +opts, args = parser.parse_args() + +if not getattr(opts, "listtests", False): + lp = sambaopts.get_loadparm() + samba.tests.cmdline_credentials = credopts.get_credentials(lp) +if getattr(opts, 'load_list', None): + args.insert(0, "--load-list=%s" % opts.load_list) + +TestProgram(module=None, args=args, opts=subunitopts) -- cgit v1.2.3