diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-10-02 12:43:50 -0700 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-10-02 21:11:52 -0700 |
commit | b772871f4c85fe15b62cfca5c3a6d1f1a66540d6 (patch) | |
tree | e27e33b20d8e8beb433e547c82665f9213bb855a /source4 | |
parent | 507c413e488dfe374870bae3af0d89c3b015add2 (diff) | |
download | samba-b772871f4c85fe15b62cfca5c3a6d1f1a66540d6.tar.gz samba-b772871f4c85fe15b62cfca5c3a6d1f1a66540d6.tar.bz2 samba-b772871f4c85fe15b62cfca5c3a6d1f1a66540d6.zip |
s4-selftest: added --screen option for test
you can now do:
make test TESTS="some test" SCREEN=1
while in GNU screen, and all the samba servers will launch in their
own new screen, named after the server name.
You can also do:
make test TESTS="some test" SCREEN=1 VALGRIND_SERVER=1
to run valgrind on each samba server, or
make test TESTS="some test" SCREEN=1 GDBTEST=1
to run gdb on each server
Diffstat (limited to 'source4')
-rw-r--r-- | source4/selftest/wscript | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/source4/selftest/wscript b/source4/selftest/wscript index c693f1b677..0d662c6456 100644 --- a/source4/selftest/wscript +++ b/source4/selftest/wscript @@ -48,8 +48,11 @@ def set_options(opt): gr.add_option('--valgrind-server', help=("use valgrind on the server in the tests (opens an xterm)"), action="store_true", dest='VALGRIND_SERVER', default=False) + gr.add_option('--screen', + help=("run the samba servers in screen sessions"), + action="store_true", dest='SCREEN', default=False) gr.add_option('--gdbtest', - help=("run the testsuite within a gdb xterm window"), + help=("run the servers within a gdb window"), action="store_true", dest='GDBTEST', default=False) gr.add_option('--fail-immediately', help=("stop tests on first failure"), @@ -85,6 +88,11 @@ def cmd_testonly(opt): env.FORMAT_TEST_OUTPUT = '${SUBUNIT_FORMATTER}' + # put all command line options in the environment as TESTENV_*=* + for o in dir(Options.options): + if o[0:1] != '_': + os.environ['TESTENV_%s' % o.upper()] = str(getattr(Options.options, o, '')) + env.OPTIONS = '' if not Options.options.SLOWTEST: env.OPTIONS += ' --exclude=./selftest/slow' @@ -109,11 +117,20 @@ def cmd_testonly(opt): if Options.options.VALGRINDLOG is not None: os.environ['VALGRIND'] += ' --log-file=%s' % Options.options.VALGRINDLOG + server_wrapper='' + if Options.options.VALGRIND_SERVER: - os.environ['SAMBA_VALGRIND'] = 'xterm -n server -l -e ../selftest/valgrind_run DUMMY=X' + server_wrapper = '../selftest/valgrind_run _DUMMY=X' + elif Options.options.GDBTEST: + server_wrapper = '../selftest/gdb_run _DUMMY=X' + + if Options.options.SCREEN: + server_wrapper = '../selftest/in_screen %s' % server_wrapper + elif server_wrapper != '': + server_wrapper = 'xterm -n server -l -e %s' % server_wrapper - if Options.options.GDBTEST: - os.environ['SAMBA_VALGRIND'] = 'xterm -n server -e ../selftest/gdb_run DUMMY=X' + if server_wrapper != '': + os.environ['SAMBA_VALGRIND'] = server_wrapper # this is needed for systems without rpath, or with rpath disabled ADD_LD_LIBRARY_PATH('bin/shared') |