diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2015-11-09 15:45:18 -0330 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2015-11-09 15:45:18 -0330 |
commit | d269ec502ce52c0bec5cebbf1f427fe194e1e650 (patch) | |
tree | e3cfdad4dd25612dc11a976ff33c446ef520fbce /scripts/TestUtil.py | |
parent | Removed BerkelyDB from BuildInstructions and added LMDB (diff) | |
download | ice-d269ec502ce52c0bec5cebbf1f427fe194e1e650.tar.bz2 ice-d269ec502ce52c0bec5cebbf1f427fe194e1e650.tar.xz ice-d269ec502ce52c0bec5cebbf1f427fe194e1e650.zip |
Updates for running Freeze tests on Windows
Diffstat (limited to 'scripts/TestUtil.py')
-rwxr-xr-x | scripts/TestUtil.py | 80 |
1 files changed, 61 insertions, 19 deletions
diff --git a/scripts/TestUtil.py b/scripts/TestUtil.py index 83b86523037..5c7ab53cbbc 100755 --- a/scripts/TestUtil.py +++ b/scripts/TestUtil.py @@ -57,7 +57,6 @@ linuxDistribution = None for path in ["/etc/redhat-release", "/etc/issue"]: if not os.path.isfile(path): continue - f = open(path, "r") issue = f.read() f.close() @@ -132,6 +131,12 @@ def isDebian(): def isSles(): return isLinux() and linuxDistribution and linuxDistribution == "SUSE LINUX" +def isFreezeTest(): + return toplevel.find(os.path.join("freeze","ice")) != -1 + +def getFreezeDir(lang): + return os.path.join(toplevel, "..", lang) + def getCppCompiler(): compiler = "" if os.environ.get("CPP_COMPILER", "") != "": @@ -659,6 +664,12 @@ def getIceDir(subdir = None, testdir = None): global iceHome if iceHome: return iceHome + elif isFreezeTest(): + icedir = os.environ["ICE_HOME"] + if subdir: + return os.path.join(icedir, subdir) + else: + return icedir elif subdir: return os.path.join(toplevel, subdir) else: @@ -1797,10 +1808,14 @@ def getCppLibDir(lang = None): def getJavaLibraryPath(): if isWin32(): - if iceHome: - return "-Djava.library.path=\"%s\" " % os.path.join(iceHome, "bin\\x64" if x64 else "bin") + if isFreezeTest(): + return ("-Djava.library.path=\"%s\" " % os.path.join(getFreezeDir("cpp"), "third-party-packages", + "berkeley.db.java7", "build", "native", "bin", "x64" if x64 else "Win32")) else: - return ("-Djava.library.path=\"%s\" " % os.path.join(getIceDir("cpp"), "third-party-packages", + if iceHome: + return "-Djava.library.path=\"%s\" " % os.path.join(iceHome, "bin\\x64" if x64 else "bin") + else: + return ("-Djava.library.path=\"%s\" " % os.path.join(getIceDir("cpp"), "third-party-packages", "berkeley.db.java7", "build", "native", "bin", "x64" if x64 else "Win32")) elif isDarwin(): if os.path.exists('/usr/local/opt/ice/libexec/lib'): @@ -1865,6 +1880,18 @@ def getBuildMode(d): return "release" l = p.stdout.readline() +def getPlatformToolSet(): + platformtoolset = "" + if isVC100(): + platformtoolset = "v100" + elif isVC110(): + platformtoolset = "v110" + elif isVC120(): + platformtoolset = "v120" + elif isVC140(): + platformtoolset = "v140" + return platformtoolset + def getTestEnv(lang, testdir): global compact env = os.environ.copy() @@ -1887,8 +1914,8 @@ def getTestEnv(lang, testdir): if lang == "cpp": addLdPath(os.path.join(testdir), env) elif lang == "java": - if toplevel.find(os.path.join("freeze","ice")) != -1: - addClasspath(os.path.join(toplevel, "..", "java", "lib", "test.jar"), env) + if isFreezeTest(): + addClasspath(os.path.join(getFreezeDir("java"), "lib", "test.jar"), env) else: addClasspath(os.path.join(toplevel, "java", "lib", "test.jar"), env) elif lang == "js": @@ -1904,27 +1931,42 @@ def getTestEnv(lang, testdir): # if lang in ["cpp", "java", "csharp", "python", "ruby"]: if isWin32(): + mode = getBuildMode(os.path.join(getIceDir("cpp"), "bin")) + configuration = "Debug" if mode == "debug" else "Release" + platform = "x64" if x64 else "Win32" + + if isFreezeTest(): + addPathToEnv("PATH", os.path.join(getFreezeDir("cpp"), "bin"), env) + + pkgdir = os.path.join(getFreezeDir("cpp"), "third-party-packages") + pkgsubdir = os.path.join("build", "native", "bin", platform) + platformtoolset = getPlatformToolSet() + + # + # For Debug builds we need to add Release binaries to path to be able to use db_xxx tools and + # bzip2 to be able to use protocol compression with .NET + # + if configuration == "Debug": + addPathToEnv("PATH", os.path.join(pkgdir, "berkeley.db.{0}".format(platformtoolset), pkgsubdir, + "Release"), env) + + addPathToEnv("PATH", os.path.join(pkgdir, "berkeley.db.{0}".format(platformtoolset), pkgsubdir, + configuration), env) + + if lang == "java": + addPathToEnv("PATH", os.path.join(pkgdir, "berkeley.db.java7", pkgsubdir), env) + addClasspath(os.path.join(pkgdir, "berkeley.db.java7", "build", "native", "lib", "db.jar"), env) + if iceHome: addClasspath(os.path.join(getIceDir("java", testdir), "lib", "db.jar"), env) else: - mode = getBuildMode(os.path.join(getIceDir("cpp"), "bin")) - configuration = "Debug" if mode == "debug" else "Release" - platform = "x64" if x64 else "Win32" pkgdir = os.path.join(getIceDir("cpp"), "third-party-packages") pkgsubdir = os.path.join("build", "native", "bin", platform) if isMINGW(): addPathToEnv("PATH", os.path.join(pkgdir, "bzip2.mingw4.7.2", pkgsubdir), env) else: - platformtoolset = "" - if isVC100(): - platformtoolset = "v100" - elif isVC110(): - platformtoolset = "v110" - elif isVC120(): - platformtoolset = "v120" - elif isVC140(): - platformtoolset = "v140" + platformtoolset = getPlatformToolSet() # # For Debug builds we need to add Release binaries to path to be able to use db_xxx tools and @@ -2251,7 +2293,7 @@ def runTests(start, expanded, num = 0, script = False): # Deal with Java's different directory structure if i.find(os.path.join("java","test")) != -1: dir = os.path.join(toplevel, "java", "test", "src", "main", i) - elif toplevel.find(os.path.join("freeze","ice")) != -1: + elif isFreezeTest(): dir = os.path.join(toplevel, "..", i) else: dir = os.path.join(toplevel, i) |