#!/usr/bin/env ruby # ********************************************************************** # # Copyright (c) 2003-2016 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. # # ********************************************************************** require 'pathname' rubyDir = nil for toplevel in [".", "..", "../..", "../../..", "../../../.."] path = Pathname.new(toplevel).join("ruby", "Ice.rb") if path.file? rubyDir = Pathname.new(toplevel).join("ruby") break end end if not rubyDir fail "can't find toplevel directory!" end require 'Ice' Ice::loadSlice('--underscore Key.ice') def test(b) if !b raise RuntimeError, 'test assertion failed' end end class DisplayI < BEGIN_::Display def _do(_dup, current=nil) end end def run(args, communicator) print "testing type names... " STDOUT.flush a = BEGIN_::END_::Alias b = BEGIN_::And.new b._begin = 0; c = BEGIN_::BreakPrx::uncheckedCast(communicator.stringToProxy("test:tcp")) test(c.method(:_case)) test(c.method(:_to_a)) test(c.method(:_instance_variable_set)) test(c.method(:_instance_variables)) d = BEGIN_::DisplayPrx::uncheckedCast(communicator.stringToProxy("test:tcp")) test(d.method(:_do)) d1 = DisplayI.new e = BEGIN_::ElsifPrx::uncheckedCast(communicator.stringToProxy("test:tcp")) test(e.method(:_do)) test(e.method(:_case)) f = BEGIN_::Next.new f._new = 0 g = BEGIN_::Nil.new g._new = 0 g._not = 0 g._or = 0 # TODO: Test local interface #h = BEGIN_::ExtendPrx::uncheckedCast(communicator.stringToProxy("test:tcp")) i = BEGIN_::Redo puts "ok" return true end begin initData = Ice::InitializationData.new initData.properties = Ice.createProperties(ARGV) communicator = Ice.initialize(ARGV, initData) status = run(ARGV, communicator) rescue => ex puts $! print ex.backtrace.join("\n") status = false end if communicator begin communicator.destroy() rescue => ex puts $! print ex.backtrace.join("\n") status = false end end exit(status ? 0 : 1)