diff options
author | Jose <jose@zeroc.com> | 2014-12-04 16:23:28 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2014-12-04 16:23:28 +0100 |
commit | 39126e8f5f7a54be60fedc6ac73cc1105c669e6f (patch) | |
tree | fdd97e0eb6fdc8c9f8bf8732218a335770c3de1a | |
parent | Fixed issue from previous commit, removed all references to getIceVersion (diff) | |
download | ice-39126e8f5f7a54be60fedc6ac73cc1105c669e6f.tar.bz2 ice-39126e8f5f7a54be60fedc6ac73cc1105c669e6f.tar.xz ice-39126e8f5f7a54be60fedc6ac73cc1105c669e6f.zip |
Fixed (ICE-6057) - VS2012: IceGrid\customLoadBalancing fails
24 files changed, 199 insertions, 46 deletions
diff --git a/cpp/allDemos.py b/cpp/allDemos.py index 9b1c1edb67a..8aeb94320cf 100755 --- a/cpp/allDemos.py +++ b/cpp/allDemos.py @@ -79,7 +79,7 @@ demos = [ if not "--x86" in sys.argv: demos += ["Freeze/backup"] -if not "--c++11" in sys.argv: +if not "--c++11" in sys.argv and not "--x86" in sys.argv: demos += ["IceGrid/customLoadBalancing"] if __name__ == "__main__": diff --git a/cpp/demo/IceGrid/allocate/application-multiple.xml b/cpp/demo/IceGrid/allocate/application-multiple.xml index aae90932425..f826662b180 100644 --- a/cpp/demo/IceGrid/allocate/application-multiple.xml +++ b/cpp/demo/IceGrid/allocate/application-multiple.xml @@ -17,8 +17,8 @@ <parameter name="index"/> <server id="AllocateServer-${index}" exe="./server" activation="always"> <adapter name="Hello" endpoints="tcp -h localhost"> - <allocatable identity="hello-${index}" type="::Demo::Hello" property="Identity"/> - </adapter> + <allocatable identity="hello-${index}" type="::Demo::Hello" property="Identity"/> + </adapter> <property name="IceMX.Metrics.Debug.GroupBy" value="id"/> <property name="IceMX.Metrics.Debug.Disabled" value="1"/> diff --git a/cpp/demo/IceGrid/allocate/application-single.xml b/cpp/demo/IceGrid/allocate/application-single.xml index caa99988561..d974f820c86 100644 --- a/cpp/demo/IceGrid/allocate/application-single.xml +++ b/cpp/demo/IceGrid/allocate/application-single.xml @@ -15,10 +15,9 @@ <node name="node1"> <server id="AllocateServer" exe="./server" activation="on-demand"> - <adapter name="Hello" endpoints="tcp -h localhost"> - <allocatable identity="hello" type="::Demo::Hello" property="Identity"/> - </adapter> - + <adapter name="Hello" endpoints="tcp -h localhost"> + <allocatable identity="hello" type="::Demo::Hello" property="Identity"/> + </adapter> <property name="IceMX.Metrics.Debug.GroupBy" value="id"/> <property name="IceMX.Metrics.Debug.Disabled" value="1"/> <property name="IceMX.Metrics.ByParent.GroupBy" value="parent"/> diff --git a/cpp/src/IceGrid/Makefile.mak b/cpp/src/IceGrid/Makefile.mak index 2a023cd4508..c287d28eb46 100644 --- a/cpp/src/IceGrid/Makefile.mak +++ b/cpp/src/IceGrid/Makefile.mak @@ -10,8 +10,17 @@ top_srcdir = ..\.. ADMIN = $(top_srcdir)\bin\icegridadmin.exe -NODE_SERVER = $(top_srcdir)\bin\icegridnode.exe -REGISTRY_SERVER = $(top_srcdir)\bin\icegridregistry.exe + +NODE_SERVER_D = $(top_srcdir)\bin\icegridnoded.exe +NODE_SERVER_R = $(top_srcdir)\bin\icegridnode.exe + +NODE_SERVER = $(top_srcdir)\bin\icegridnode$(LIBSUFFIX).exe + + +REGISTRY_SERVER_D = $(top_srcdir)\bin\icegridregistryd.exe +REGISTRY_SERVER_R = $(top_srcdir)\bin\icegridregistry.exe + +REGISTRY_SERVER = $(top_srcdir)\bin\icegridregistry$(LIBSUFFIX).exe TARGETS = $(ADMIN) $(NODE_SERVER) $(REGISTRY_SERVER) @@ -178,8 +187,8 @@ clean:: -del /q IdentityObjectInfoDict.h IdentityObjectInfoDict.cpp -del /q SerialsDict.h SerialsDict.cpp -del /q $(ADMIN:.exe=.*) - -del /q $(NODE_SERVER:.exe=.*) - -del /q $(REGISTRY_SERVER:.exe=.*) + -del /q $(NODE_SERVER_D:.exe=.*) $(NODE_SERVER_R:.exe=.*) + -del /q $(REGISTRY_SERVER_D:.exe=.*) $(REGISTRY_SERVER_R:.exe=.*) -del /q IceGridAdmin.res IceGridNode.res IceGridRegistry.res install:: all diff --git a/cpp/test/IceGrid/Makefile.mak b/cpp/test/IceGrid/Makefile.mak index a33cdafc4be..ecea19801a9 100644 --- a/cpp/test/IceGrid/Makefile.mak +++ b/cpp/test/IceGrid/Makefile.mak @@ -17,6 +17,7 @@ SUBDIRS = activation \ allocation \ deployer \ distribution \ + fileLock \ noRestartUpdate \ replicaGroup \ replication \ diff --git a/cpp/test/IceGrid/activation/Makefile.mak b/cpp/test/IceGrid/activation/Makefile.mak index fa8cec71546..08faad3b708 100644 --- a/cpp/test/IceGrid/activation/Makefile.mak +++ b/cpp/test/IceGrid/activation/Makefile.mak @@ -49,8 +49,19 @@ $(SERVER): $(SOBJS) clean:: del /q Test.cpp Test.h - -clean:: + del /q build.txt if exist db\node rmdir /s /q db\node if exist db\registry rmdir /s /q db\registry if exist db\replica-1 rmdir /s /q db\replica-1 + +!if "$(OPTIMIZE)" == "yes" + +all:: + @echo release > build.txt + +!else + +all:: + @echo debug > build.txt + +!endif
\ No newline at end of file diff --git a/cpp/test/IceGrid/activation/application.xml b/cpp/test/IceGrid/activation/application.xml index 26df6199d3e..4758d59027e 100644 --- a/cpp/test/IceGrid/activation/application.xml +++ b/cpp/test/IceGrid/activation/application.xml @@ -26,7 +26,7 @@ <server-template id="IceGridNode"> <parameter name="id"/> <parameter name="disable-on-failure" default="0"/> - <server id="${id}" exe="${ice.bindir}/icegridnode" activation="manual"> + <server id="${id}" exe="${icegridnode.exe}" activation="manual"> <option>--nowarn</option> <dbenv name="data"/> <property name="IceGrid.Node.Endpoints" value="default"/> diff --git a/cpp/test/IceGrid/activation/run.py b/cpp/test/IceGrid/activation/run.py index 8b3b708a6a3..f898e40d32a 100755 --- a/cpp/test/IceGrid/activation/run.py +++ b/cpp/test/IceGrid/activation/run.py @@ -20,6 +20,5 @@ if len(path) == 0: sys.path.append(os.path.join(path[0], "scripts")) import TestUtil, IceGridAdmin -IceGridAdmin.iceGridTest("application.xml", - "", - "properties-override='%s'" % IceGridAdmin.iceGridNodePropertiesOverride()) +IceGridAdmin.iceGridTest("application.xml", "", "properties-override='%s' icegridnode.exe='%s'" % + (IceGridAdmin.iceGridNodePropertiesOverride(), TestUtil.getIceGridNode())) diff --git a/cpp/test/IceGrid/admin/Makefile.mak b/cpp/test/IceGrid/admin/Makefile.mak index de3bb0921f8..cc79398d387 100644 --- a/cpp/test/IceGrid/admin/Makefile.mak +++ b/cpp/test/IceGrid/admin/Makefile.mak @@ -29,6 +29,19 @@ $(SERVER): $(OBJS) $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest clean:: + del /q build.txt if exist db\node rmdir /s /q db\node if exist db\registry rmdir /s /q db\registry if exist db\replica-1 rmdir /s /q db\replica-1 + +!if "$(OPTIMIZE)" == "yes" + +all:: + @echo release > build.txt + +!else + +all:: + @echo debug > build.txt + +!endif
\ No newline at end of file diff --git a/cpp/test/IceGrid/allocation/Makefile.mak b/cpp/test/IceGrid/allocation/Makefile.mak index 10fc947b28b..79bf15bbc23 100644 --- a/cpp/test/IceGrid/allocation/Makefile.mak +++ b/cpp/test/IceGrid/allocation/Makefile.mak @@ -60,10 +60,21 @@ $(VERIFIER): $(VOBJS) clean:: del /q Test.cpp Test.h - -clean:: + del /q build.txt if exist db\node rmdir /s /q db\node if exist db\registry rmdir /s /q db\registry if exist db\node-1 rmdir /s /q db\node-1 if exist db\node-2 rmdir /s /q db\node-2 if exist db\replica-1 rmdir /s /q db\replica-1 + +!if "$(OPTIMIZE)" == "yes" + +all:: + @echo release > build.txt + +!else + +all:: + @echo debug > build.txt + +!endif
\ No newline at end of file diff --git a/cpp/test/IceGrid/distribution/Makefile.mak b/cpp/test/IceGrid/distribution/Makefile.mak index bab4fa0c65b..608e184fe1c 100644 --- a/cpp/test/IceGrid/distribution/Makefile.mak +++ b/cpp/test/IceGrid/distribution/Makefile.mak @@ -49,10 +49,21 @@ $(SERVER): $(SOBJS) clean:: del /q Test.cpp Test.h - -clean:: + del /q build.txt if exist db\node rmdir /s /q db\node if exist db\registry rmdir /s /q db\registry if exist db\node-1 rmdir /s /q db\node-1 if exist db\node-2 rmdir /s /q db\node-2 if exist db\replica-1 rmdir /s /q db\replica-1 + +!if "$(OPTIMIZE)" == "yes" + +all:: + @echo release > build.txt + +!else + +all:: + @echo debug > build.txt + +!endif
\ No newline at end of file diff --git a/cpp/test/IceGrid/fileLock/run.py b/cpp/test/IceGrid/fileLock/run.py index 27e4be164a5..9694b7298ed 100755 --- a/cpp/test/IceGrid/fileLock/run.py +++ b/cpp/test/IceGrid/fileLock/run.py @@ -26,7 +26,7 @@ testdir = os.getcwd(); IceGridAdmin.nreplicas = 0 def runIceGridRegistry(): - iceGrid = os.path.join(TestUtil.getCppBinDir(), "icegridregistry") + iceGrid = TestUtil.getIceGridRegistry() command = ' --nowarn ' + IceGridAdmin.registryOptions dataDir = os.path.join(testdir, "db", "registry") diff --git a/cpp/test/IceGrid/noRestartUpdate/Makefile.mak b/cpp/test/IceGrid/noRestartUpdate/Makefile.mak index 14e0b84b846..b42371ed8dd 100644 --- a/cpp/test/IceGrid/noRestartUpdate/Makefile.mak +++ b/cpp/test/IceGrid/noRestartUpdate/Makefile.mak @@ -66,10 +66,21 @@ $(SERVER): $(SOBJS) clean:: del /q Test.cpp Test.h - -clean:: + del /q build.txt if exist db\node rmdir /s /q db\node if exist db\registry rmdir /s /q db\registry if exist db\node-1 rmdir /s /q db\node-1 if exist db\node-2 rmdir /s /q db\node-2 if exist db\replica-1 rmdir /s /q db\replica-1 + +!if "$(OPTIMIZE)" == "yes" + +all:: + @echo release > build.txt + +!else + +all:: + @echo debug > build.txt + +!endif
\ No newline at end of file diff --git a/cpp/test/IceGrid/replicaGroup/run.py b/cpp/test/IceGrid/replicaGroup/run.py index 0dd684db375..e734bdfecf7 100755 --- a/cpp/test/IceGrid/replicaGroup/run.py +++ b/cpp/test/IceGrid/replicaGroup/run.py @@ -20,9 +20,6 @@ if len(path) == 0: sys.path.append(os.path.join(path[0], "scripts")) import TestUtil, IceGridAdmin -if TestUtil.isWin32() and TestUtil.isDebug() and TestUtil.iceHome: - print("Test not support with Windows debug build") - sys.exit(0) # # Don't use a slave registry for this test. This can lead to race # conditions when resolving endpoints of round-robin replica groups if diff --git a/cpp/test/IceGrid/replication/application.xml b/cpp/test/IceGrid/replication/application.xml index a96761a6292..f3b4a25d877 100644 --- a/cpp/test/IceGrid/replication/application.xml +++ b/cpp/test/IceGrid/replication/application.xml @@ -5,7 +5,7 @@ <server-template id="IceGridNode"> <parameter name="id"/> <parameter name="encoding" default=""/> - <server id="${id}" exe="${ice.bindir}/icegridnode" activation="manual"> + <server id="${id}" exe="${icegridnode.exe}/" activation="manual"> <option>--nowarn</option> <dbenv name="data"/> <property name="IceGrid.Node.Endpoints" value="default"/> @@ -31,7 +31,7 @@ <parameter name="replicaName"/> <parameter name="encoding" default=""/> <parameter name="arg" default=""/> - <server id="${id}" exe="${ice.bindir}/icegridregistry" activation="manual"> + <server id="${id}" exe="${icegridregistry.exe}" activation="manual"> <option>--nowarn</option> <option>${arg}</option> <dbenv name="data"> @@ -50,7 +50,7 @@ <property name="IceGrid.Registry.SSLPermissionsVerifier" value="RepTestIceGrid/NullSSLPermissionsVerifier"/> <property name="IceGrid.Registry.AdminPermissionsVerifier" value="RepTestIceGrid/NullPermissionsVerifier"/> <property name="IceGrid.Registry.SessionTimeout" value="0"/> - <property name="IceGrid.Registry.DynamicRegistration" value="1"/> + <property name="IceGrid.Registry.DynamicRegistration" value="1"/> <property name="Ice.Default.Locator" value="RepTestIceGrid/Locator:default -p 12050:default -p 12051:default -p 12052"/> <property name="IceGrid.Registry.Trace.Replica" value="0"/> <property name="IceGrid.Registry.Trace.Node" value="0"/> diff --git a/cpp/test/IceGrid/replication/run.py b/cpp/test/IceGrid/replication/run.py index c8d09bdf624..c518c9f4477 100755 --- a/cpp/test/IceGrid/replication/run.py +++ b/cpp/test/IceGrid/replication/run.py @@ -22,7 +22,8 @@ import TestUtil, IceGridAdmin TestUtil.addLdPath(os.getcwd()) -variables = "properties-override='%s'" % IceGridAdmin.iceGridNodePropertiesOverride() +variables = ("properties-override='%s' icegridnode.exe='%s' icegridregistry.exe='%s'" % + (IceGridAdmin.iceGridNodePropertiesOverride(), TestUtil.getIceGridNode(), TestUtil.getIceGridRegistry())) IceGridAdmin.iceGridTest("application.xml", '--IceDir="%s" --TestDir="%s"' % (TestUtil.toplevel, os.getcwd()), variables) diff --git a/cpp/test/IceGrid/session/AllTests.cpp b/cpp/test/IceGrid/session/AllTests.cpp index e0de4c21bfb..ccf01a1f3e4 100644 --- a/cpp/test/IceGrid/session/AllTests.cpp +++ b/cpp/test/IceGrid/session/AllTests.cpp @@ -1754,7 +1754,11 @@ allTests(const Ice::CommunicatorPtr& communicator) nodeApp.name = "NodeApp"; ServerDescriptorPtr server = new ServerDescriptor(); server->id = "node-1"; +#if defined(NDEBUG) || !defined(_WIN32) server->exe = properties->getProperty("IceBinDir") + "/icegridnode"; +#else + server->exe = properties->getProperty("IceBinDir") + "/icegridnoded"; +#endif server->options.push_back("--nowarn"); server->pwd = "."; server->applicationDistrib = false; diff --git a/cpp/test/IceGrid/session/Makefile.mak b/cpp/test/IceGrid/session/Makefile.mak index 0756a4e5b81..458e07d9d6f 100644 --- a/cpp/test/IceGrid/session/Makefile.mak +++ b/cpp/test/IceGrid/session/Makefile.mak @@ -59,8 +59,21 @@ $(SERVER): $(SOBJS) $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest clean:: + del /q build.txt del /q Test.cpp Test.h if exist db\node rmdir /s /q db\node if exist db\registry rmdir /s /q db\registry if exist db\node-1 rmdir /s /q db\node-1 if exist db\replica-1 rmdir /s /q db\replica-1 + +!if "$(OPTIMIZE)" == "yes" + +all:: + @echo release > build.txt + +!else + +all:: + @echo debug > build.txt + +!endif
\ No newline at end of file diff --git a/cpp/test/IceGrid/simple/Makefile.mak b/cpp/test/IceGrid/simple/Makefile.mak index b9682c1a92a..31b58038c32 100644 --- a/cpp/test/IceGrid/simple/Makefile.mak +++ b/cpp/test/IceGrid/simple/Makefile.mak @@ -48,9 +48,20 @@ $(SERVER): $(SOBJS) $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest clean:: + del /q build.txt del /q Test.cpp Test.h - -clean:: if exist db\node rmdir /s /q db\node if exist db\registry rmdir /s /q db\registry if exist db\replica-1 rmdir /s /q db\replica-1 + +!if "$(OPTIMIZE)" == "yes" + +all:: + @echo release > build.txt + +!else + +all:: + @echo debug > build.txt + +!endif
\ No newline at end of file diff --git a/cpp/test/IceGrid/update/AllTests.cpp b/cpp/test/IceGrid/update/AllTests.cpp index f41a8a1d902..50fb4e75f3f 100644 --- a/cpp/test/IceGrid/update/AllTests.cpp +++ b/cpp/test/IceGrid/update/AllTests.cpp @@ -554,11 +554,22 @@ allTests(const Ice::CommunicatorPtr& communicator) IceBoxDescriptorPtr server = new IceBoxDescriptor(); server->id = "IceBox"; -#if defined(NDEBUG) || !defined(_WIN32) - server->exe = properties->getProperty("IceBinDir") + "/icebox"; -#else - server->exe = properties->getProperty("IceBinDir") + "/iceboxd"; + + string iceboxExe = "/icebox"; +#if defined(__linux) +# if defined(__i386) + iceboxExe += "32"; +# endif +# if defined(ICE_CPP11) + iceboxExe += "++11"; +# endif +#endif + +#if defined(_WIN32) && !defined(NDEBUG) + iceboxExe += "d"; #endif + server->exe = properties->getProperty("IceBinDir") + iceboxExe; + server->applicationDistrib = false; server->allocatable = false; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); @@ -1104,7 +1115,11 @@ allTests(const Ice::CommunicatorPtr& communicator) ServerDescriptorPtr server = new ServerDescriptor(); server->id = "node-${index}"; +#if defined(NDEBUG) || !defined(_WIN32) server->exe = properties->getProperty("IceBinDir") + "/icegridnode"; +#else + server->exe = properties->getProperty("IceBinDir") + "/icegridnoded"; +#endif server->pwd = "."; server->applicationDistrib = false; server->allocatable = false; diff --git a/cpp/test/IceGrid/update/Makefile.mak b/cpp/test/IceGrid/update/Makefile.mak index cdefafc026c..f87a8390478 100644 --- a/cpp/test/IceGrid/update/Makefile.mak +++ b/cpp/test/IceGrid/update/Makefile.mak @@ -48,11 +48,22 @@ $(SERVER): $(SOBJS) $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest clean:: + del /q build.txt del /q Test.cpp Test.h - -clean:: if exist db\node rmdir /s /q db\node if exist db\registry rmdir /s /q db\registry if exist db\node-1 rmdir /s /q db\node-1 if exist db\node-2 rmdir /s /q db\node-2 if exist db\replica-1 rmdir /s /q db\replica-1 + +!if "$(OPTIMIZE)" == "yes" + +all:: + @echo release > build.txt + +!else + +all:: + @echo debug > build.txt + +!endif
\ No newline at end of file diff --git a/cs/test/IceGrid/simple/Makefile.mak b/cs/test/IceGrid/simple/Makefile.mak index 3717494ec16..42f2f084507 100644 --- a/cs/test/IceGrid/simple/Makefile.mak +++ b/cs/test/IceGrid/simple/Makefile.mak @@ -36,3 +36,16 @@ clean:: if exist db\node rmdir /s /q db\node if exist db\registry rmdir /s /q db\registry if exist db\replica-1 rmdir /s /q db\replica-1 + del /q build.txt + +!if "$(OPTIMIZE)" == "yes" + +all:: + @echo release > build.txt + +!else + +all:: + @echo debug > build.txt + +!endif
\ No newline at end of file diff --git a/demoscript/Util.py b/demoscript/Util.py index ec733e112e9..25e9a9689b4 100644 --- a/demoscript/Util.py +++ b/demoscript/Util.py @@ -657,10 +657,16 @@ def getIceBoxAdmin(): return "iceboxadmin" def getIceGridRegistry(): - return "icegridregistry" + exe = "icegridregistry" + if isWin32() and isDebugBuild(): + exe += "d" + return exe def getIceGridNode(): - return "icegridnode" + exe = "icegridnode" + if isWin32() and isDebugBuild(): + exe += "d" + return exe def getIceGridAdmin(): return "icegridadmin" @@ -684,8 +690,9 @@ def spawn(command, cwd = None, mapping = None): args = '%s %s' % (args, defaultHost) # magic - knownCommands = [ "icegridnode", "icegridregistry", "icebox", "iceboxd", "icebox32", "icebox++11", "icebox32++11", - "icegridadmin", "icestormadmin", "iceboxadmin", "transformdb", "glacier2router" ] + knownCommands = [ "icegridnode", "icegridnoded", "icegridregistry", "icegridregistryd", "icebox", "iceboxd", + "icebox32", "icebox++11", "icebox32++11", "icegridadmin", "icestormadmin", "iceboxadmin", + "transformdb", "glacier2router" ] if mapping == None: if desc in knownCommands: mapping = "cpp" diff --git a/scripts/TestUtil.py b/scripts/TestUtil.py index 3b01b288ed4..62bdce5fb15 100755 --- a/scripts/TestUtil.py +++ b/scripts/TestUtil.py @@ -805,10 +805,16 @@ def getIceStormAdmin(): return getIceExe("icestormadmin") def getIceGridNode(): - return getIceExe("icegridnode") + exe = "icegridnode" + if isWin32() and isDebug(): + exe += "d" + return getIceExe(exe) def getIceGridRegistry(): - return getIceExe("icegridregistry") + exe = "icegridregistry" + if isWin32() and isDebug(): + exe += "d" + return getIceExe(exe) def getGlacier2Router(): return getIceExe("glacier2router") @@ -1188,7 +1194,17 @@ def isDebug(): # how the IceBox service was built ("debug" vs. "release") and # decide which icebox executable to use. # - return open(os.path.join(os.getcwd(), "build.txt"), "r").read().strip() == "debug" + if os.path.isfile(os.path.join(os.getcwd(), "build.txt")): + return open(os.path.join(os.getcwd(), "build.txt"), "r").read().strip() == "debug" + # + # Try to guess, if icebox release executable exists in the C++ bin dir + # we assume is a release build or bin dist, tests that depends on debug + # or release (C++) need to create the build.txt file. + # + exe = "icebox" + if isWin32(): + exe += ".exe" + return not os.path.isfile(os.path.join(getCppBinDir("cpp"), "icebox")) import Expect |