from SCons.Script import *


def run_tests(env):
    import shlex
    import subprocess
    import sys

    sys.exit(subprocess.call(shlex.split(env.get('TEST_COMMAND'))))


def generate(env):
    import os
    import distutils.spawn

    python = distutils.spawn.find_executable('python3')
    if not python: python = distutils.spawn.find_executable('python')
    if not python: python = distutils.spawn.find_executable('python2')

    cmd = python + ' tests/testHarness -C tests --diff-failed --view-failed ' \
        '--view-unfiltered --save-failed --build'

    if 'DOCKBOT_MASTER_PORT' in os.environ: cmd += ' --no-color'

    env.CBAddVariables(('TEST_COMMAND', '`test` target command line', cmd))

    if 'test' in COMMAND_LINE_TARGETS: env.CBAddConfigureCB(run_tests)


def exists(): return 1

@@ -105,33 +105,14 @@
     
-sys.exit(subprocess.call(
+cmd = 
 shle
@@ -143,16 +143,78 @@
 MMAND'))
+%0A    print('Executing:', cmd)%0A    sys.exit(subprocess.call(cmd
 ))%0A%0A%0Adef
@@ -467,16 +467,126 @@
 ython2')
+%0A    if not python: python = 'python'%0A    if env%5B'PLATFORM'%5D == 'win32': python = python.replace('%5C%5C', '%5C%5C%5C%5C')
 %0A%0A    cm

Fix "test" target in Windows