diff --git a/SConstruct b/SConstruct index df81facb8435e987987320d907b2ff80d234710f..fb783eccf1778592e8be8ffc18a184f4de204e9e 100644 --- a/SConstruct +++ b/SConstruct @@ -242,7 +242,7 @@ PhonyTarget(env, 'fixlinks', [ 'python doclib/fix-links.py -v -s .svn -s linklint -s debian linklint/errorX.txt linklint/errorAX.txt', ]) -PhonyTarget(env, 'prepare', []) +PhonyTarget(env, 'prepare', [ 'true' ]) PhonyTarget(env, 'valgrind', [ 'find -name .test.bin | while read test; do echo; echo "Running $$test"; echo; valgrind --tool=memcheck --error-exitcode=99 --suppressions=valgrind.sup $$test $BOOSTTESTARGS; [ $$? -ne 99 ] || exit 1; done' diff --git a/senfscons/CompileCheck.py b/senfscons/CompileCheck.py index f1037f672257ba816529ef2bc39565a560bf1469..95358a112897d3f0ed85c33fad1931e5bc8a9a5f 100644 --- a/senfscons/CompileCheck.py +++ b/senfscons/CompileCheck.py @@ -1,5 +1,5 @@ import os, os.path, sys -from cStringIO import StringIO +import tempfile from SCons.Script import * import SCons.Scanner.C @@ -20,13 +20,14 @@ def CompileCheck(target, source, env): tests = scanTests(file(source[0].abspath)) cenv = env.Clone() cenv.Append( CPPDEFINES = { 'COMPILE_CHECK': '' } ) - out = StringIO() + out = tempfile.TemporaryFile() cenv['SPAWN'] = lambda sh, escape, cmd, args, env, pspawn=cenv['PSPAWN'], out=out: \ pspawn(sh, escape, cmd, args, env, out, out) Action('$CXXCOM').execute(target, source, cenv) passedTests = {} delay_name = None - for error in out.getvalue().splitlines(): + out.seek(0) + for error in out.read().splitlines(): elts = error.split(':',2) if len(elts) != 3 : continue filename, line, message = elts diff --git a/senfscons/SENFSCons.py b/senfscons/SENFSCons.py index 8fd75038d457b58d3ce2b0529d7e48c8aeb815a5..58a9841460aedeb676a6f16a8028db6a2e1865e0 100644 --- a/senfscons/SENFSCons.py +++ b/senfscons/SENFSCons.py @@ -367,7 +367,7 @@ def Test(env, sources, LIBS = [], OBJECTS = []): if compileTestSources: test.extend(env.CompileCheck(source = compileTestSources)) env.Alias('all_tests', test) - env.Command(env.File('test'), test, []) + env.Command(env.File('test'), test, [ 'true' ]) #env.Alias(env.File('test'), test) @@ -422,7 +422,7 @@ def Objects(env, sources, testSources = None, OBJECTS = []): # Hmm ... here I'd like to use an Alias instead of a file # however the alias does not seem to live in the subdirectory # which breaks 'scons -u test' - env.Command(env.File('test'), test, []) + env.Command(env.File('test'), test, [ 'true' ]) #env.Alias(env.File('test'), test) return objects