summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BuildTools/SCons/Tools/Test.py2
-rw-r--r--Swift/QtUI/SConscript9
2 files changed, 5 insertions, 6 deletions
diff --git a/BuildTools/SCons/Tools/Test.py b/BuildTools/SCons/Tools/Test.py
index e609a04..ebf9dc6 100644
--- a/BuildTools/SCons/Tools/Test.py
+++ b/BuildTools/SCons/Tools/Test.py
@@ -1,52 +1,52 @@
import SCons.Util, os
def generate(env) :
def registerTest(env, target, type = "unit", is_checker = False) :
if env["TEST_TYPE"] == "all" or env["TEST_TYPE"] == type :
if SCons.Util.is_List(target) :
cmd = target[0].abspath
else :
cmd = target.abspath
params = ""
# Special support for unittest checker
if is_checker and env.get("checker_report", False) :
params = " --xml"
ignore_prefix = ""
if env.get("TEST_IGNORE_RESULT", False) :
ignore_prefix = "-"
# Set environment variables for running the test
test_env = env.Clone()
- for i in ["HOME", "USERPROFILE", "APPDATA", "ASAN_OPTIONS", "LSAN_OPTIONS", "SWIFT_NETWORK_TEST_IPV4", "SWIFT_NETWORK_TEST_IPV6"]:
+ for i in ["HOME", "PATH", "USERPROFILE", "APPDATA", "ASAN_OPTIONS", "LSAN_OPTIONS", "SWIFT_NETWORK_TEST_IPV4", "SWIFT_NETWORK_TEST_IPV6"]:
if os.environ.get(i, "") :
test_env["ENV"][i] = os.environ[i]
if env["target"] == "android" :
test_env["ENV"]["PATH"] = env["android_sdk_bin"] + ";" + test_env["ENV"]["PATH"]
else :
if test_env["PLATFORM"] == "darwin" :
test_env["ENV"]["DYLD_FALLBACK_LIBRARY_PATH"] = ":".join(map(lambda x : str(x), test_env.get("LIBPATH", [])))
elif test_env["PLATFORM"] == "win32" :
test_env["ENV"]["PATH"] = ";".join(map(lambda x : str(x), test_env.get("LIBRUNPATH", []))) + ";" + test_env["ENV"]["PATH"]
# Run the test
if env["target"] == "android":
exec_name = os.path.basename(cmd)
test_env.Command("**dummy**", target, SCons.Action.Action(
["adb shell mount -o rw,remount /system",
"adb push " + cmd + " /system/bin/" + exec_name,
"adb shell SWIFT_CLIENTTEST_JID=\"" + os.getenv("SWIFT_CLIENTTEST_JID") + "\" SWIFT_CLIENTTEST_PASS=\"" + os.getenv("SWIFT_CLIENTTEST_PASS") + "\" " + env.get("TEST_RUNNER", "") + "/system/bin/" + exec_name], cmdstr = "$TESTCOMSTR"))
else :
test_env.Command("**dummy**", target,
SCons.Action.Action(ignore_prefix + env.get("TEST_RUNNER", "") + cmd + " " + params, cmdstr = "$TESTCOMSTR"))
def registerScriptTests(env, scripts, name, type) :
if env["TEST_TYPE"] == "all" or env["TEST_TYPE"] == type :
pass
env.AddMethod(registerTest, "Test")
env.AddMethod(registerScriptTests, "ScriptTests")
def exists(env) :
diff --git a/Swift/QtUI/SConscript b/Swift/QtUI/SConscript
index 3ce2057..ff97b42 100644
--- a/Swift/QtUI/SConscript
+++ b/Swift/QtUI/SConscript
@@ -49,65 +49,64 @@ if myenv.get("HAVE_HUNSPELL", True):
if env["PLATFORM"] == "win32" :
myenv.Append(LIBS = ["cryptui"])
myenv.UseFlags(myenv["PLATFORM_FLAGS"])
myenv.Tool("qt4", toolpath = ["#/BuildTools/SCons/Tools"])
myenv.Tool("nsis", toolpath = ["#/BuildTools/SCons/Tools"])
myenv.Tool("wix", toolpath = ["#/BuildTools/SCons/Tools"])
myenv.Tool("textfile", toolpath = ["#/BuildTools/SCons/Tools"])
qt4modules = ['QtCore', 'QtWebKit', 'QtGui']
if myenv["qt5"] :
qt_version = '5'
# QtSvg is required so the image format plugin for SVG images is installed
# correctly by Qt's deployment tools.
qt4modules += ['QtWidgets', 'QtWebKitWidgets', 'QtMultimedia', 'QtSvg']
if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" :
qt4modules += ['QtX11Extras']
else :
qt_version = '4'
if env["PLATFORM"] == "posix" :
qt4modules += ["QtDBus"]
if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" :
qt4modules += ["QtNetwork"]
myenv.EnableQt4Modules(qt4modules, debug = False, version = qt_version)
## Qt related unit tests
testQtEnv = env.Clone();
testQtEnv.Tool("qt4", toolpath = ["#/BuildTools/SCons/Tools"])
testQtEnv.EnableQt4Modules(qt4modules, debug = False, version = qt_version)
-env["SWIFT_QTUI_TEST_FLAGS"] = {
- "CPPFLAGS": testQtEnv["CPPFLAGS"],
- "LIBS": testQtEnv["LIBS"],
- "LINKFLAGS": testQtEnv["LINKFLAGS"],
-}
+env["SWIFT_QTUI_TEST_FLAGS"] = {}
+for key in ["CCFLAGS", "CPPFLAGS", "CPPPATH", "CPPDEFINES", "LIBS", "LINKFLAGS", "LIBPATH"] :
+ if key in testQtEnv:
+ env["SWIFT_QTUI_TEST_FLAGS"][key] = testQtEnv[key]
env.Append(UNITTEST_SOURCES = [
File("UnitTest/QtUtilitiesTest.cpp")
])
myenv.Append(CPPPATH = ["."])
# Qt requires applications to be build with the -fPIC flag on some 32-bit Linux distributions.
if env["PLATFORM"] == "posix" :
testEnv = myenv.Clone()
conf = Configure(testEnv)
if conf.CheckDeclaration("QT_REDUCE_RELOCATIONS", "#include <QtCore/qconfig.h>") and conf.CheckDeclaration("__i386__"):
myenv.AppendUnique(CXXFLAGS = "-fPIC")
testEnv = conf.Finish()
if env["PLATFORM"] == "win32" :
#myenv.Append(LINKFLAGS = ["/SUBSYSTEM:CONSOLE"])
myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"])
myenv.Append(LIBS = "qtmain")
if myenv.get("HAVE_SCHANNEL", 0) :
myenv.Append(LIBS = "Cryptui")
myenv.Append(CPPDEFINES = "HAVE_SCHANNEL")
if env["PLATFORM"] == "darwin" and env["HAVE_SPARKLE"] :
myenv.Append(LINKFLAGS = ["-Wl,-rpath,@loader_path/../Frameworks"])
myenv.WriteVal("DefaultTheme.qrc", myenv.Value(generateQRCTheme(myenv.Dir("#/Swift/resources/themes/Default"), "Default")))
sources = [
"main.cpp",