X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=SConstruct;h=1fd27f0a0a51a003000f0c1a2ce977e39a9f217e;hb=4a99bad0289a65567e85cb51bd357a34562b2c04;hp=de6f8aa8730c443bd5d4e3d3330d08447e3bc1c7;hpb=38fefda326ca127aa20a234755d9bb5cf0910516;p=senf.git diff --git a/SConstruct b/SConstruct index de6f8aa..1fd27f0 100644 --- a/SConstruct +++ b/SConstruct @@ -21,6 +21,7 @@ prepare Create all target files not part of the repository default Build all default targets (like calling scons with no arguments) examples Build all examples all_tests Build and run unit tests for all modules +test_changes Build tests only for files with local changes (queries svn or git) all_docs Build documentation for all modules all Build everything install_all Install SENF into $$PREFIX @@ -101,7 +102,8 @@ env.SetDefault( LCOV = "lcov", GENHTML = "genhtml", SCONSBIN = env.File("#/tools/scons"), - SCONSARGS = [ '-Q', '-j$CONCURRENCY_LEVEL', 'debug=$debug', 'final=$final' ], + SCONSARGS = [ '-Q', '-j$CONCURRENCY_LEVEL', 'debug=$debug', 'final=$final' ] + \ + [ '%s=%s' % (k,v) for k,v in ARGUMENTS.iteritems() ], SCONS = "@$SCONSBIN $SCONSARGS", CONCURRENCY_LEVEL = env.GetOption('num_jobs') or 1, TOPDIR = env.Dir('#').abspath, @@ -120,12 +122,8 @@ senfutil.parseArguments( ) if 'test_changes' in COMMAND_LINE_TARGETS and not env.has_key('only_tests'): - if os.popen("svnversion").read().strip() == "exported": - env['only_tests'] = " ".join(os.popen("git ls-files --modified").read().strip().split("\n")) - else: - env['only_tests'] = " ".join(l[7:] - for l in os.popen("svn status").read().rstrip().split("\n") - if l[0] == 'M') + import SparseTestHack + env['only_tests'] = " ".join(x.abspath for x in SparseTestHack.findSCMChanges(env)) if env.has_key('only_tests') : env['sparse_tests'] = True Export('env') @@ -156,7 +154,8 @@ SConscript("Examples/SConscript") SConscript("HowTos/SConscript") SConscript("doclib/SConscript") if env['sparse_tests']: - SparseTestHack.build(env, 'test_changes' in COMMAND_LINE_TARGETS) + verbose = 'test_changes' in COMMAND_LINE_TARGETS + SparseTestHack.build(env, verbose, verbose) ########################################################################### # Define build targets