diff options
| author | Remko Tronçon <git@el-tramo.be> | 2012-09-17 18:01:03 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2012-09-17 18:01:03 (GMT) | 
| commit | 3d6aa3b50090c19b50ae488494f1459bade88da3 (patch) | |
| tree | 60db50a40f01d2dc4b48e5aee1011f0e72643c39 /BuildTools/SCons/Tools | |
| parent | 7693734b10699b5fc4bfc3d7dc33128d558e202d (diff) | |
| download | swift-3d6aa3b50090c19b50ae488494f1459bade88da3.zip swift-3d6aa3b50090c19b50ae488494f1459bade88da3.tar.bz2  | |
Support for building swiften as a DLL
Added missing SWIFTEN_API declarations.
Changed test infrastructure to extend path before running
tests.
Diffstat (limited to 'BuildTools/SCons/Tools')
| -rw-r--r-- | BuildTools/SCons/Tools/Test.py | 48 | 
1 files changed, 30 insertions, 18 deletions
diff --git a/BuildTools/SCons/Tools/Test.py b/BuildTools/SCons/Tools/Test.py index 40eaeb1..c52f448 100644 --- a/BuildTools/SCons/Tools/Test.py +++ b/BuildTools/SCons/Tools/Test.py @@ -1,27 +1,39 @@  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 : -      cmd = target[0].abspath if SCons.Util.is_List(target) else target.abspath -      params = "" +	def registerTest(env, target, type = "unit", is_checker = False) : +		if env["TEST_TYPE"] == "all" or env["TEST_TYPE"] == type : +			cmd = target[0].abspath if SCons.Util.is_List(target) else target.abspath +			params = "" -      # Special support for unittest checker -      if is_checker and env.get("checker_report", False) : -        params = " --xml > " + os.path.join(target[0].dir.path, "checker-report.xml") +			# Special support for unittest checker +			if is_checker and env.get("checker_report", False) : +				params = " --xml > " + os.path.join(target[0].dir.path, "checker-report.xml") -      ignore_prefix = "" -      if env.get("TEST_IGNORE_RESULT", False) : -        ignore_prefix = "-" -      env.Command("**dummy**", target,  -          SCons.Action.Action(ignore_prefix + env.get("TEST_RUNNER", "") + cmd + " " + params, cmdstr = "$TESTCOMSTR")) +			ignore_prefix = "" +			if env.get("TEST_IGNORE_RESULT", False) : +				ignore_prefix = "-" -  def registerScriptTests(env, scripts, name, type) : -    if env["TEST_TYPE"] == "all" or env["TEST_TYPE"] == type : -      pass +			# Set environment variables for running the test +			test_env = env.Clone() +			for i in ["HOME", "USERPROFILE", "APPDATA"]: +				if os.environ.get(i, "") : +					test_env["ENV"][i] = os.environ[i] +			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"] -  env.AddMethod(registerTest, "Test") -  env.AddMethod(registerScriptTests, "ScriptTests") +			# Run the test +			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) : -  return True +	return True  | 
 Swift