diff options
Diffstat (limited to 'scripts/Controller.ice')
-rw-r--r-- | scripts/Controller.ice | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/scripts/Controller.ice b/scripts/Controller.ice new file mode 100644 index 00000000000..24ee0b97e29 --- /dev/null +++ b/scripts/Controller.ice @@ -0,0 +1,86 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +module Test +{ + +module Common +{ + +exception ServerFailedException +{ + string reason; +}; + +interface Server +{ + void waitTestSuccess(); + void waitForServer() throws ServerFailedException; + void terminate(); +}; + +class Config +{ + optional(1) string protocol; + optional(2) bool mx; + optional(3) bool serialize; + optional(4) bool compress; + optional(5) bool ipv6; +}; + +sequence<bool> BoolSeq; +sequence<string> StringSeq; + +class OptionOverrides +{ + optional(1) StringSeq protocol; + optional(2) BoolSeq mx; + optional(3) BoolSeq serialize; + optional(4) BoolSeq compress; + optional(5) BoolSeq ipv6; +}; + +exception TestCaseNotExistException +{ + string reason; +}; + +exception TestCaseFailedException +{ + string output; +}; + +interface TestCase +{ + string startServerSide(Config config) + throws TestCaseFailedException; + + string stopServerSide(bool success) + throws TestCaseFailedException; + + string runClientSide(string host, Config config) + throws TestCaseFailedException; + + void destroy(); +}; + +interface Controller +{ + Server* runServer(string lang, string testsuite, string protocol, string host, bool winrt, string testcase, + StringSeq options); + + TestCase* runTestCase(string lang, string testsuite, string testcase) + throws TestCaseNotExistException; + + OptionOverrides getOptionOverrides(); +}; + +}; + +}; |