X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=SConstruct;h=d853a52de7bfe82c2fd7c18049cec57dc309243a;hb=f723d7852a8195072eee387ea9ca77156b58438b;hp=97ef1389a45855da54f9f14276b81de1efd583b9;hpb=e87f3008b5ad1c1c3f2ed6b1e49419eb0219eddb;p=senf.git diff --git a/SConstruct b/SConstruct index 97ef138..d853a52 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 @@ -119,6 +120,10 @@ senfutil.parseArguments( BoolVariable('sparse_tests', 'Link tests against object files and not the senf lib', False) ) +if 'test_changes' in COMMAND_LINE_TARGETS and not env.has_key('only_tests'): + 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') @@ -148,7 +153,8 @@ SConscript("Examples/SConscript") SConscript("HowTos/SConscript") SConscript("doclib/SConscript") if env['sparse_tests']: - SparseTestHack.build(env) + verbose = 'test_changes' in COMMAND_LINE_TARGETS + SparseTestHack.build(env, verbose, verbose) ########################################################################### # Define build targets @@ -164,6 +170,7 @@ env.Install('${INCLUDEINSTALLDIR}', 'boost') env.Alias('install_all', env.FindInstalledFiles()) env.Alias('default', DEFAULT_TARGETS) env.Alias('all_tests', env.FindAllBoostUnitTests()) +env.Alias('test_changes', 'all_tests') env.Alias('all', [ 'default', 'all_tests', 'examples', 'all_docs' ]) #### prepare