summaryrefslogtreecommitdiff
path: root/cpp/demo/IceGrid/icebox/expect.py
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/demo/IceGrid/icebox/expect.py')
-rwxr-xr-xcpp/demo/IceGrid/icebox/expect.py24
1 files changed, 22 insertions, 2 deletions
diff --git a/cpp/demo/IceGrid/icebox/expect.py b/cpp/demo/IceGrid/icebox/expect.py
index e24fdaa05bc..5742fddc397 100755
--- a/cpp/demo/IceGrid/icebox/expect.py
+++ b/cpp/demo/IceGrid/icebox/expect.py
@@ -22,14 +22,31 @@ sys.path.append(path[0])
from demoscript import Util
from demoscript.IceGrid import icebox
+if Util.isDarwin():
+ #
+ # On OS X, make sure to also run the IceBox services in 32bits mode if
+ # x64 isn't specified and the service is built for 32bits.
+ #
+ iceBox = os.path.join(os.getcwd(), "iceboxwrapper")
+ iceBoxWrapper = open(iceBox, "w")
+ if Util.x64:
+ iceBoxWrapper.write("#!/bin/sh\narch -x86_64 icebox \"$@\"\n")
+ else:
+ iceBoxWrapper.write("#!/bin/sh\narch -i386 -x86_64 icebox \"$@\"\n")
+ iceBoxWrapper.close()
+ os.chmod(iceBox, 0700)
+
desc = 'application.xml'
-if Util.isDebugBuild():
+if Util.isDebugBuild() or Util.isDarwin():
fi = open(desc, "r")
desc = 'tmp_application.xml'
fo = open(desc, "w")
for l in fi:
if l.find('exe="icebox"') != -1:
- l = l.replace('exe="icebox"', 'exe="iceboxd.exe"')
+ if Util.isDarwin():
+ l = l.replace('exe="icebox"', 'exe="./iceboxwrapper"')
+ else:
+ l = l.replace('exe="icebox"', 'exe="iceboxd.exe"')
fo.write(l)
fi.close()
fo.close()
@@ -37,3 +54,6 @@ if Util.isDebugBuild():
Util.addLdPath(os.getcwd())
icebox.run('./client', desc[0:len(desc)-4])
+
+if Util.isDarwin():
+ os.unlink("iceboxwrapper")