1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
import Ice
import TestCommon
class Collocated: TestHelperI {
public override func run(args: [String]) throws {
let properties = try createTestProperties(args)
properties.setProperty(key: "Ice.AcceptClassCycles", value: "1")
properties.setProperty(key: "Ice.Warn.Dispatch", value: "0")
var initData = Ice.InitializationData()
initData.properties = properties
initData.classResolverPrefix = ["IceObjects"]
let communicator = try initialize(initData)
defer {
communicator.destroy()
}
try communicator.getValueFactoryManager().add(factory: { _ in BI() }, id: "::Test::B")
try communicator.getValueFactoryManager().add(factory: { _ in CI() }, id: "::Test::C")
try communicator.getValueFactoryManager().add(factory: { _ in DI() }, id: "::Test::D")
try communicator.getValueFactoryManager().add(factory: { _ in EI() }, id: "::Test::E")
try communicator.getValueFactoryManager().add(factory: { _ in FI() }, id: "::Test::F")
try communicator.getValueFactoryManager().add(factory: { _ in II() }, id: "::Test::I")
try communicator.getValueFactoryManager().add(factory: { _ in JI() }, id: "::Test::J")
try communicator.getValueFactoryManager().add(factory: { _ in HI() }, id: "::Test::H")
communicator.getProperties().setProperty(key: "TestAdapter.Endpoints",
value: getTestEndpoint(num: 0))
let adapter = try communicator.createObjectAdapter("TestAdapter")
try adapter.add(servant: InitialDisp(InitialI(adapter)), id: Ice.stringToIdentity("initial"))
try adapter.add(servant: F2Disp(F2I()), id: Ice.stringToIdentity("F21"))
try adapter.add(servant: BlobjectDisp(UnexpectedObjectExceptionTestI()),
id: Ice.stringToIdentity("uoet"))
//try adapter.activate() // Don't activate OA to ensure collocation is used.
let initial = try allTests(self)
// We must call shutdown even in the collocated case for cyclic dependency cleanup
try initial.shutdown()
}
}
|