#!/usr/bin/env python # ********************************************************************** # # Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved. # # This copy of Ice is licensed to you under the terms described in the # ICE_LICENSE file included in this distribution. # # ********************************************************************** import os, sys, traceback for toplevel in [".", "..", "../..", "../../..", "../../../.."]: toplevel = os.path.normpath(toplevel) if os.path.exists(os.path.join(toplevel, "python", "Ice.py")): break else: raise "can't find toplevel directory!" sys.path.insert(0, os.path.join(toplevel, "python")) sys.path.insert(0, os.path.join(toplevel, "lib")) # # Find Slice directory. # slice_dir = os.getenv('ICEPY_HOME', '') if len(slice_dir) == 0 or not os.path.exists(os.path.join(slice_dir, "slice")): slice_dir = os.getenv('ICE_HOME', '') if len(slice_dir) == 0 or not os.path.exists(os.path.join(slice_dir, "slice")): print sys.argv[0] + ': Slice directory not found. Define ICEPY_HOME or ICE_HOME.' sys.exit(1) import Ice Ice.loadSlice('-I' + slice_dir + '/slice Test.ice') import AllTests def test(b): if not b: raise RuntimeError('test assertion failed') def run(args, communicator): retry = AllTests.allTests(communicator) retry.shutdown() return True try: # # In this test, we need at least two threads in the # client side thread pool for nested AMI. # properties = Ice.getDefaultProperties(sys.argv) properties.setProperty('Ice.RetryIntervals', '-1') communicator = Ice.initialize(sys.argv) properties.setProperty('Ice.Warn.Connections', '0') status = run(sys.argv, communicator) except: traceback.print_exc() status = False if communicator: try: communicator.destroy() except: traceback.print_exc() status = False sys.exit(not status)