From 6e50bd41dc3f11815a40dfef500dc0d61ea5d737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Tue, 1 Dec 2009 19:03:46 +0100 Subject: Override SConscript() with our own, test-aware implementation. diff --git a/QA/UnitTest/SConscript b/QA/UnitTest/SConscript index 2fd7ce0..1cd92a3 100644 --- a/QA/UnitTest/SConscript +++ b/QA/UnitTest/SConscript @@ -2,26 +2,25 @@ import os Import("env") -if env["TEST"] : - myenv = env.Clone() - myenv.MergeFlags(env["CHECKER_FLAGS"]) - myenv.MergeFlags(env["SLIMBER_FLAGS"]) - myenv.MergeFlags(env["SWIFT_CONTROLLERS_FLAGS"]) - myenv.MergeFlags(env["SWIFTOOLS_FLAGS"]) - myenv.MergeFlags(env["SWIFTEN_FLAGS"]) - myenv.MergeFlags(env["CPPUNIT_FLAGS"]) - myenv.MergeFlags(env["LIBIDN_FLAGS"]) - myenv.MergeFlags(env["BOOST_FLAGS"]) - myenv.MergeFlags(env["SQLITE_FLAGS"]) - myenv.MergeFlags(env.get("LIBXML_FLAGS", "")) - myenv.MergeFlags(env.get("EXPAT_FLAGS", "")) - myenv.MergeFlags(env["ZLIB_FLAGS"]) - if env.get("HAVE_LIBXML") : - myenv.Append(CPPDEFINES = ["HAVE_LIBXML"]) - if env.get("HAVE_EXPAT") : - myenv.Append(CPPDEFINES = ["HAVE_EXPAT"]) - checker = myenv.Program("checker", env["UNITTEST_SOURCES"]) - for i in ["HOME", "USERPROFILE", "APPDATA"]: - if os.environ.get(i, "") : - myenv["ENV"][i] = os.environ[i] - myenv.Test(checker) +myenv = env.Clone() +myenv.MergeFlags(env["CHECKER_FLAGS"]) +myenv.MergeFlags(env["SLIMBER_FLAGS"]) +myenv.MergeFlags(env["SWIFT_CONTROLLERS_FLAGS"]) +myenv.MergeFlags(env["SWIFTOOLS_FLAGS"]) +myenv.MergeFlags(env["SWIFTEN_FLAGS"]) +myenv.MergeFlags(env["CPPUNIT_FLAGS"]) +myenv.MergeFlags(env["LIBIDN_FLAGS"]) +myenv.MergeFlags(env["BOOST_FLAGS"]) +myenv.MergeFlags(env["SQLITE_FLAGS"]) +myenv.MergeFlags(env.get("LIBXML_FLAGS", "")) +myenv.MergeFlags(env.get("EXPAT_FLAGS", "")) +myenv.MergeFlags(env["ZLIB_FLAGS"]) +if env.get("HAVE_LIBXML") : + myenv.Append(CPPDEFINES = ["HAVE_LIBXML"]) +if env.get("HAVE_EXPAT") : + myenv.Append(CPPDEFINES = ["HAVE_EXPAT"]) +checker = myenv.Program("checker", env["UNITTEST_SOURCES"]) +for i in ["HOME", "USERPROFILE", "APPDATA"]: + if os.environ.get(i, "") : + myenv["ENV"][i] = os.environ[i] +myenv.Test(checker) diff --git a/SConstruct b/SConstruct index 799929d..6cd55aa 100644 --- a/SConstruct +++ b/SConstruct @@ -47,6 +47,13 @@ if env["PLATFORM"] == "darwin" : if env["PLATFORM"] == "win32" : env.Tool("WindowsBundle", toolpath = ["#/BuildTools/SCons/Tools"]) +# Override SConscript to handle tests +oldSConscript = SConscript +def SConscript(*arguments, **keywords) : + if not keywords.get("test_only", False) or env["TEST"] : + return apply(oldSConscript, arguments, keywords) + + # Default compiler flags env["CCFLAGS"] = env.get("ccflags", []) env["LINKFLAGS"] = env.get("linkflags", []) @@ -317,7 +324,7 @@ SConscript(dirs = [ "3rdParty/SQLite"]) # Checker -SConscript(dirs = ["QA/Checker"]) +SConscript(dirs = ["QA/Checker"], test_only = True) # Libraries SConscript(dirs = [ @@ -334,7 +341,7 @@ for dir in os.listdir(".") : SConscript(sconscript) # Unit test runner -SConscript(dirs = ["QA/UnitTest"]) +SConscript(dirs = ["QA/UnitTest"], test_only = True) ################################################################################ # Print summary diff --git a/Swiften/SConscript b/Swiften/SConscript index 6c13edb..0009125 100644 --- a/Swiften/SConscript +++ b/Swiften/SConscript @@ -104,8 +104,10 @@ SConscript(dirs = [ "History", "StreamStack", "LinkLocal", - "QA", ]) +SConscript(test_only = True, dirs = [ + "QA", + ]) myenv.StaticLibrary("Swiften", sources + swiften_env["SWIFTEN_OBJECTS"]) -- cgit v0.10.2-6-g49f6