summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/.idea/codeStyleSettings.xml180
-rw-r--r--android/.idea/gradle.xml43
-rw-r--r--android/.idea/modules.xml2
-rw-r--r--android/build.gradle10
-rw-r--r--android/buildSrc/buildSrc.iml108
-rw-r--r--android/demo/chat/chat.iml5
-rw-r--r--android/demo/chat/src/main/java/com/zeroc/chat/LoginActivity.java13
-rw-r--r--android/demo/chat/src/main/java/com/zeroc/chat/service/AppSession.java7
-rw-r--r--android/demo/hello/hello.iml5
-rw-r--r--android/demo/hello/project.properties14
-rw-r--r--android/demo/hello/src/main/java/com/zeroc/hello/.gitignore1
-rw-r--r--android/demo/hello/src/main/java/com/zeroc/hello/HelloApp.java56
-rw-r--r--android/demo/library/library.iml5
-rw-r--r--android/demo/library/src/main/java/com/zeroc/library/LoginActivity.java13
-rw-r--r--android/demo/library/src/main/java/com/zeroc/library/controller/LoginController.java8
-rw-r--r--android/gradle/dex.gradle24
-rw-r--r--android/gradle/tests.gradle51
-rw-r--r--android/gradle/wrapper/gradle-wrapper.properties4
-rw-r--r--android/settings.gradle12
-rw-r--r--android/src/Glacier2/Glacier2.iml1
-rw-r--r--android/src/Ice/Ice.iml2
-rw-r--r--android/src/IceBox/IceBox.iml1
-rw-r--r--android/src/IceDiscovery/IceDiscovery.iml1
-rw-r--r--android/src/IceGrid/IceGrid.iml1
-rw-r--r--android/src/IcePatch2/IcePatch2.iml1
-rw-r--r--android/src/IceStorm/IceStorm.iml1
-rw-r--r--android/test/android/build.gradle38
-rw-r--r--android/test/android/proguard.cfg4
-rw-r--r--android/test/android/src/main/AndroidManifest.xml1
-rw-r--r--android/test/android/src/main/assets/.gitignore1
-rw-r--r--android/test/android/src/main/java/com/zeroc/testsuite/TestApp.java634
-rw-r--r--android/test/android/src/main/java/com/zeroc/testsuite/TestSuite.java25
-rw-r--r--android/test/android/testApp.iml8
-rw-r--r--android/test/build.gradle75
-rw-r--r--android/test/plugins/build.gradle46
-rw-r--r--android/test/plugins/testPlugins.iml39
-rw-r--r--android/test/src/test_Ice_acm/test_Ice_acm.iml40
-rw-r--r--android/test/test.iml8
-rw-r--r--java/src/Ice/src/main/java/Ice/ConnectionI.java3
-rw-r--r--java/src/Ice/src/main/java/IceInternal/EndpointHostResolver.java7
-rw-r--r--java/src/Ice/src/main/java/IceInternal/Instance.java22
-rw-r--r--java/src/Ice/src/main/java/IceInternal/StreamSocket.java45
-rw-r--r--java/src/Ice/src/main/java/IceInternal/TraceUtil.java4
-rw-r--r--java/src/Ice/src/main/java/IceSSL/SSLEngine.java2
-rw-r--r--java/src/Ice/src/main/java/IceSSL/TransceiverI.java37
-rw-r--r--java/test/src/main/java/test/Freeze/evictor/Client.java2
-rw-r--r--java/test/src/main/java/test/Freeze/evictor/Server.java2
-rw-r--r--java/test/src/main/java/test/Glacier2/router/Client.java2
-rw-r--r--java/test/src/main/java/test/Glacier2/router/Server.java2
-rw-r--r--java/test/src/main/java/test/Glacier2/sessionHelper/Client.java2
-rw-r--r--java/test/src/main/java/test/Glacier2/sessionHelper/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/acm/AllTests.java102
-rw-r--r--java/test/src/main/java/test/Ice/acm/Client.java4
-rw-r--r--java/test/src/main/java/test/Ice/acm/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/adapterDeactivation/AllTests.java6
-rw-r--r--java/test/src/main/java/test/Ice/adapterDeactivation/Client.java4
-rw-r--r--java/test/src/main/java/test/Ice/adapterDeactivation/Collocated.java6
-rw-r--r--java/test/src/main/java/test/Ice/adapterDeactivation/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/admin/AllTests.java8
-rw-r--r--java/test/src/main/java/test/Ice/admin/RemoteCommunicatorFactoryI.java13
-rw-r--r--java/test/src/main/java/test/Ice/admin/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/ami/AMI.java294
-rw-r--r--java/test/src/main/java/test/Ice/ami/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/ami/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/ami/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/background/Client.java3
-rw-r--r--java/test/src/main/java/test/Ice/background/Collocated.java23
-rw-r--r--java/test/src/main/java/test/Ice/background/Server.java3
-rw-r--r--java/test/src/main/java/test/Ice/binding/AllTests.java2
-rw-r--r--java/test/src/main/java/test/Ice/binding/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/binding/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/checksum/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/checksum/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/classLoader/AllTests.java16
-rw-r--r--java/test/src/main/java/test/Ice/classLoader/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/classLoader/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/custom/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/custom/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/custom/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/dispatcher/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/dispatcher/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/dispatcher/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/echo/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/enums/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/enums/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/exceptions/AMDServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/exceptions/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/exceptions/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/exceptions/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/facets/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/facets/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/facets/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/faultTolerance/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/faultTolerance/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/hash/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/hold/AllTests.java6
-rw-r--r--java/test/src/main/java/test/Ice/hold/Client.java5
-rw-r--r--java/test/src/main/java/test/Ice/hold/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/info/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/info/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/inheritance/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/inheritance/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/inheritance/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/interceptor/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/interrupt/AllTests.java21
-rw-r--r--java/test/src/main/java/test/Ice/interrupt/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/interrupt/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/interrupt/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/invoke/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/invoke/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/location/AllTests.java1
-rw-r--r--java/test/src/main/java/test/Ice/location/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/location/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/metrics/AMDServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/metrics/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/metrics/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/metrics/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/networkProxy/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/networkProxy/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/objects/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/objects/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/objects/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/operations/AMDServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/operations/AMDTieServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/operations/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/operations/Collocated.java4
-rw-r--r--java/test/src/main/java/test/Ice/operations/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/operations/TieServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/operations/Twoways.java1
-rw-r--r--java/test/src/main/java/test/Ice/operations/TwowaysAMI.java1
-rw-r--r--java/test/src/main/java/test/Ice/optional/AMDServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/optional/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/optional/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/packagemd/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/packagemd/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/plugin/Client.java62
-rw-r--r--java/test/src/main/java/test/Ice/proxy/AMDServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/proxy/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/proxy/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/proxy/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/retry/AllTests.java80
-rw-r--r--java/test/src/main/java/test/Ice/retry/Client.java8
-rw-r--r--java/test/src/main/java/test/Ice/retry/Collocated.java10
-rw-r--r--java/test/src/main/java/test/Ice/retry/Instrumentation.java22
-rw-r--r--java/test/src/main/java/test/Ice/retry/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/seqMapping/AMDServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/seqMapping/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/seqMapping/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/seqMapping/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/serialize/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/serialize/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/servantLocator/AMDServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/servantLocator/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/servantLocator/Collocated.java2
-rw-r--r--java/test/src/main/java/test/Ice/servantLocator/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/slicing/exceptions/AMDServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/slicing/exceptions/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/slicing/exceptions/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/slicing/objects/AMDServer.java2
-rw-r--r--java/test/src/main/java/test/Ice/slicing/objects/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/slicing/objects/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/stream/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/threadPoolPriority/Server.java5
-rw-r--r--java/test/src/main/java/test/Ice/throughput/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/throughput/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/timeout/AllTests.java8
-rw-r--r--java/test/src/main/java/test/Ice/timeout/Client.java2
-rw-r--r--java/test/src/main/java/test/Ice/timeout/Server.java2
-rw-r--r--java/test/src/main/java/test/Ice/udp/AllTests.java124
-rw-r--r--java/test/src/main/java/test/Ice/udp/Client.java8
-rw-r--r--java/test/src/main/java/test/Ice/udp/Server.java34
-rw-r--r--java/test/src/main/java/test/IceBox/configuration/Client.java2
-rw-r--r--java/test/src/main/java/test/IceGrid/simple/AllTests.java1
-rw-r--r--java/test/src/main/java/test/IceGrid/simple/Client.java2
-rw-r--r--java/test/src/main/java/test/IceGrid/simple/Server.java2
-rw-r--r--java/test/src/main/java/test/IceSSL/configuration/AllTests.java18
-rw-r--r--java/test/src/main/java/test/IceSSL/configuration/Client.java2
-rw-r--r--java/test/src/main/java/test/IceSSL/configuration/Server.java2
-rw-r--r--java/test/src/main/java/test/Util/Application.java62
179 files changed, 1664 insertions, 1111 deletions
diff --git a/android/.idea/codeStyleSettings.xml b/android/.idea/codeStyleSettings.xml
index 29ab470ca5f..15d5d02a710 100644
--- a/android/.idea/codeStyleSettings.xml
+++ b/android/.idea/codeStyleSettings.xml
@@ -3,172 +3,32 @@
<component name="ProjectCodeStyleSettingsManager">
<option name="PER_PROJECT_SETTINGS">
<value>
- <option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" />
- <option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" />
- <option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
- <value />
- </option>
- <option name="IMPORT_LAYOUT_TABLE">
- <value>
- <package name="android" withSubpackages="true" static="false" />
- <emptyLine />
- <package name="com" withSubpackages="true" static="false" />
- <emptyLine />
- <package name="junit" withSubpackages="true" static="false" />
- <emptyLine />
- <package name="net" withSubpackages="true" static="false" />
- <emptyLine />
- <package name="org" withSubpackages="true" static="false" />
- <emptyLine />
- <package name="java" withSubpackages="true" static="false" />
- <emptyLine />
- <package name="javax" withSubpackages="true" static="false" />
- <emptyLine />
- <package name="" withSubpackages="true" static="false" />
- <emptyLine />
- <package name="" withSubpackages="true" static="true" />
- <emptyLine />
- </value>
- </option>
- <option name="RIGHT_MARGIN" value="100" />
- <AndroidXmlCodeStyleSettings>
- <option name="USE_CUSTOM_SETTINGS" value="true" />
- </AndroidXmlCodeStyleSettings>
<XML>
<option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
</XML>
- <codeStyleSettings language="XML">
- <option name="FORCE_REARRANGE_MODE" value="1" />
- <indentOptions>
- <option name="CONTINUATION_INDENT_SIZE" value="4" />
- </indentOptions>
- <arrangement>
- <rules>
- <rule>
- <match>
- <AND>
- <NAME>xmlns:android</NAME>
- <XML_NAMESPACE>Namespace:</XML_NAMESPACE>
- </AND>
- </match>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>xmlns:.*</NAME>
- <XML_NAMESPACE>Namespace:</XML_NAMESPACE>
- </AND>
- </match>
- <order>BY_NAME</order>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*:id</NAME>
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
- </AND>
- </match>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*:name</NAME>
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
- </AND>
- </match>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>name</NAME>
- <XML_NAMESPACE>^$</XML_NAMESPACE>
- </AND>
- </match>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>style</NAME>
- <XML_NAMESPACE>^$</XML_NAMESPACE>
- </AND>
- </match>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*</NAME>
- <XML_NAMESPACE>^$</XML_NAMESPACE>
- </AND>
- </match>
- <order>BY_NAME</order>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*:layout_width</NAME>
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
- </AND>
- </match>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*:layout_height</NAME>
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
- </AND>
- </match>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*:layout_.*</NAME>
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
- </AND>
- </match>
- <order>BY_NAME</order>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*:width</NAME>
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
- </AND>
- </match>
- <order>BY_NAME</order>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*:height</NAME>
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
- </AND>
- </match>
- <order>BY_NAME</order>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*</NAME>
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
- </AND>
- </match>
- <order>BY_NAME</order>
- </rule>
- <rule>
- <match>
- <AND>
- <NAME>.*</NAME>
- <XML_NAMESPACE>.*</XML_NAMESPACE>
- </AND>
- </match>
- <order>BY_NAME</order>
- </rule>
- </rules>
- </arrangement>
+ <codeStyleSettings language="JAVA">
+ <option name="BRACE_STYLE" value="2" />
+ <option name="CLASS_BRACE_STYLE" value="2" />
+ <option name="METHOD_BRACE_STYLE" value="2" />
+ <option name="ELSE_ON_NEW_LINE" value="true" />
+ <option name="WHILE_ON_NEW_LINE" value="true" />
+ <option name="CATCH_ON_NEW_LINE" value="true" />
+ <option name="FINALLY_ON_NEW_LINE" value="true" />
+ <option name="SPACE_BEFORE_IF_PARENTHESES" value="false" />
+ <option name="SPACE_BEFORE_WHILE_PARENTHESES" value="false" />
+ <option name="SPACE_BEFORE_FOR_PARENTHESES" value="false" />
+ <option name="SPACE_BEFORE_TRY_PARENTHESES" value="false" />
+ <option name="SPACE_BEFORE_CATCH_PARENTHESES" value="false" />
+ <option name="SPACE_BEFORE_SWITCH_PARENTHESES" value="false" />
+ <option name="SPACE_BEFORE_SYNCHRONIZED_PARENTHESES" value="false" />
+ <option name="IF_BRACE_FORCE" value="3" />
+ <option name="DOWHILE_BRACE_FORCE" value="3" />
+ <option name="WHILE_BRACE_FORCE" value="3" />
+ <option name="FOR_BRACE_FORCE" value="3" />
</codeStyleSettings>
</value>
</option>
- <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default (1)" />
+ <option name="USE_PER_PROJECT_SETTINGS" value="true" />
</component>
</project>
diff --git a/android/.idea/gradle.xml b/android/.idea/gradle.xml
index ed08fa67f9a..2f43923293d 100644
--- a/android/.idea/gradle.xml
+++ b/android/.idea/gradle.xml
@@ -22,6 +22,49 @@
<option value="$PROJECT_DIR$/src/IceStorm" />
<option value="$PROJECT_DIR$/test" />
<option value="$PROJECT_DIR$/test/android" />
+ <option value="$PROJECT_DIR$/test/plugins" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_acm" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_adapterDeactivation" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_admin" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_ami" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_background" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_binding" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_checksum" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_classLoader" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_custom" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_defaultServant" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_defaultValue" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_dispatcher" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_echo" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_enums" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_exceptions" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_facets" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_hash" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_hold" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_info" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_inheritance" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_interceptor" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_interrupt" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_invoke" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_location" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_networkProxy" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_objects" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_operations" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_optional" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_packagemd" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_plugin" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_properties" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_proxy" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_retry" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_seqMapping" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_serialize" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_servantLocator" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_slicing_exceptions" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_slicing_objects" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_stream" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_threadPoolPriority" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_timeout" />
+ <option value="$PROJECT_DIR$/test/src/test_Ice_udp" />
</set>
</option>
</GradleProjectSettings>
diff --git a/android/.idea/modules.xml b/android/.idea/modules.xml
index c93f91c26d2..f532c8a12fd 100644
--- a/android/.idea/modules.xml
+++ b/android/.idea/modules.xml
@@ -16,6 +16,8 @@
<module fileurl="file://$PROJECT_DIR$/demo/library/library.iml" filepath="$PROJECT_DIR$/demo/library/library.iml" />
<module fileurl="file://$PROJECT_DIR$/test/test.iml" filepath="$PROJECT_DIR$/test/test.iml" />
<module fileurl="file://$PROJECT_DIR$/test/android/testApp.iml" filepath="$PROJECT_DIR$/test/android/testApp.iml" />
+ <module fileurl="file://$PROJECT_DIR$/test/plugins/testPlugins.iml" filepath="$PROJECT_DIR$/test/plugins/testPlugins.iml" />
+ <module fileurl="file://$PROJECT_DIR$/test/src/test_Ice_acm/test_Ice_acm.iml" filepath="$PROJECT_DIR$/test/src/test_Ice_acm/test_Ice_acm.iml" />
</modules>
</component>
</project>
diff --git a/android/build.gradle b/android/build.gradle
index 5e5ae489398..5fe204941cd 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -12,7 +12,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:0.12.2'
+ classpath 'com.android.tools.build:gradle:0.13.+'
}
}
@@ -20,10 +20,10 @@ subprojects {
apply plugin: 'idea'
// The Android versions used by subprojects.
- ext.ice_compileSdkVersion = 17
- ext.ice_buildToolsVersion = "21.0.1"
- ext.ice_minSdkVersion = 17
- ext.ice_targetSdkVersion = 17
+ ext.ice_compileSdkVersion = 21
+ ext.ice_buildToolsVersion = "21.1.0"
+ ext.ice_minSdkVersion = 21
+ ext.ice_targetSdkVersion = 21
repositories {
maven {
diff --git a/android/buildSrc/buildSrc.iml b/android/buildSrc/buildSrc.iml
index 2f43c9e723a..bd7e184bff9 100644
--- a/android/buildSrc/buildSrc.iml
+++ b/android/buildSrc/buildSrc.iml
@@ -34,48 +34,33 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="library" exported="" name="gradle-core-1.12" level="project" />
- <orderEntry type="library" exported="" name="groovy-all-1.8.6" level="project" />
- <orderEntry type="library" exported="" name="asm-all-5.0_BETA" level="project" />
+ <orderEntry type="library" exported="" name="gradle-core-2.1" level="project" />
+ <orderEntry type="library" exported="" name="groovy-all-2.3.6" level="project" />
+ <orderEntry type="library" exported="" name="asm-all-5.0.3" level="project" />
<orderEntry type="library" exported="" name="ant-1.9.3" level="project" />
<orderEntry type="library" exported="" name="commons-collections-3.2.1" level="project" />
<orderEntry type="library" exported="" name="commons-io-1.4" level="project" />
<orderEntry type="library" exported="" name="commons-lang-2.6" level="project" />
- <orderEntry type="library" exported="" name="ivy-2.2.0" level="project" />
<orderEntry type="library" exported="" name="logback-core-1.0.13" level="project" />
<orderEntry type="library" exported="" name="logback-classic-1.0.13" level="project" />
- <orderEntry type="library" exported="" name="guava-jdk5-14.0.1" level="project" />
+ <orderEntry type="library" exported="" name="guava-jdk5-17.0" level="project" />
<orderEntry type="library" exported="" name="jcip-annotations-1.0" level="project" />
<orderEntry type="library" exported="" name="jul-to-slf4j-1.7.5" level="project" />
<orderEntry type="library" exported="" name="jarjar-1.3" level="project" />
<orderEntry type="library" exported="" name="javax.inject-1" level="project" />
- <orderEntry type="library" exported="" name="bintray-client-java-impl-0.1.0" level="project" />
- <orderEntry type="library" exported="" name="httpclient-4.2.2" level="project" />
<orderEntry type="library" exported="" name="slf4j-api-1.7.5" level="project" />
<orderEntry type="library" exported="" name="log4j-over-slf4j-1.7.5" level="project" />
<orderEntry type="library" exported="" name="jcl-over-slf4j-1.7.5" level="project" />
<orderEntry type="library" exported="" name="ant-launcher-1.9.3" level="project" />
- <orderEntry type="library" exported="" name="jsch-0.1.51" level="project" />
- <orderEntry type="library" exported="" name="joda-time-2.3" level="project" />
- <orderEntry type="library" exported="" name="bintray-client-java-api-0.1.0" level="project" />
- <orderEntry type="library" exported="" name="commons-logging-1.1.1" level="project" />
- <orderEntry type="library" exported="" name="commons-beanutils-1.8.0" level="project" />
- <orderEntry type="library" exported="" name="ezmorph-1.0.6" level="project" />
- <orderEntry type="library" exported="" name="json-lib-2.3-jdk15" level="project" />
- <orderEntry type="library" exported="" name="xml-resolver-1.2" level="project" />
- <orderEntry type="library" exported="" name="http-builder-0.6" level="project" />
- <orderEntry type="library" exported="" name="commons-codec-1.6" level="project" />
- <orderEntry type="library" exported="" name="httpcore-4.2.2" level="project" />
- <orderEntry type="library" exported="" name="jcifs-1.3.17" level="project" />
- <orderEntry type="library" exported="" name="gradle-docs-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-base-services-groovy-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-base-services-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-resources-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-cli-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-native-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-docs-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-model-core-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-base-services-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-model-groovy-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-base-services-groovy-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-cli-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-native-2.1" level="project" />
<orderEntry type="library" exported="" name="jna-3.2.7" level="project" />
<orderEntry type="library" exported="" name="native-platform-0.10" level="project" />
- <orderEntry type="library" exported="" name="jna-posix-1.0.3" level="project" />
<orderEntry type="library" exported="" name="jansi-1.2.1" level="project" />
<orderEntry type="library" exported="" name="native-platform-osx-i386-0.10" level="project" />
<orderEntry type="library" exported="" name="native-platform-osx-amd64-0.10" level="project" />
@@ -85,13 +70,13 @@
<orderEntry type="library" exported="" name="native-platform-windows-i386-0.10" level="project" />
<orderEntry type="library" exported="" name="native-platform-freebsd-i386-0.10" level="project" />
<orderEntry type="library" exported="" name="native-platform-freebsd-amd64-0.10" level="project" />
- <orderEntry type="library" exported="" name="gradle-messaging-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-messaging-2.1" level="project" />
<orderEntry type="library" exported="" name="kryo-2.20" level="project" />
- <orderEntry type="library" exported="" name="asm-4.0" level="project" />
<orderEntry type="library" exported="" name="reflectasm-1.07-shaded" level="project" />
<orderEntry type="library" exported="" name="minlog-1.2" level="project" />
<orderEntry type="library" exported="" name="objenesis-1.2" level="project" />
- <orderEntry type="library" exported="" name="gradle-core-impl-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-resources-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-core-impl-2.1" level="project" />
<orderEntry type="library" exported="" name="jarjar-maven-settings-3.0.4" level="project" />
<orderEntry type="library" exported="" name="jarjar-maven-repository-metadata-3.0.4" level="project" />
<orderEntry type="library" exported="" name="jarjar-plexus-container-default-1.5.5" level="project" />
@@ -117,13 +102,24 @@
<orderEntry type="library" exported="" name="jarjar-maven-artifact-3.0.4" level="project" />
<orderEntry type="library" exported="" name="jarjar-maven-model-3.0.4" level="project" />
<orderEntry type="library" exported="" name="jarjar-aether-impl-1.13.1" level="project" />
+ <orderEntry type="library" exported="" name="ivy-2.2.0" level="project" />
<orderEntry type="library" exported="" name="maven-ant-tasks-2.1.3" level="project" />
- <orderEntry type="library" exported="" name="nekohtml-1.9.14" level="project" />
+ <orderEntry type="library" exported="" name="jsch-0.1.51" level="project" />
+ <orderEntry type="library" exported="" name="gson-2.2.4" level="project" />
<orderEntry type="library" exported="" name="xbean-reflect-3.4" level="project" />
+ <orderEntry type="library" exported="" name="bcprov-jdk15-1.46" level="project" />
+ <orderEntry type="library" exported="" name="gradle-resources-http-2.1" level="project" />
+ <orderEntry type="library" exported="" name="httpclient-4.2.2" level="project" />
+ <orderEntry type="library" exported="" name="nekohtml-1.9.14" level="project" />
+ <orderEntry type="library" exported="" name="commons-codec-1.6" level="project" />
+ <orderEntry type="library" exported="" name="httpcore-4.2.2" level="project" />
+ <orderEntry type="library" exported="" name="jcifs-1.3.17" level="project" />
<orderEntry type="library" exported="" name="xml-apis-1.3.04" level="project" />
<orderEntry type="library" exported="" name="xercesImpl-2.9.1" level="project" />
- <orderEntry type="library" exported="" name="gradle-tooling-api-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-plugins-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-plugin-use-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-tooling-api-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-wrapper-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-plugins-2.1" level="project" />
<orderEntry type="library" exported="" name="junit-4.11" level="project" />
<orderEntry type="library" exported="" name="testng-6.3.1" level="project" />
<orderEntry type="library" exported="" name="commons-cli-1.2" level="project" />
@@ -131,8 +127,8 @@
<orderEntry type="library" exported="" name="jcommander-1.12" level="project" />
<orderEntry type="library" exported="" name="snakeyaml-1.6" level="project" />
<orderEntry type="library" exported="" name="hamcrest-core-1.3" level="project" />
- <orderEntry type="library" exported="" name="gradle-code-quality-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-jetty-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-code-quality-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-jetty-2.1" level="project" />
<orderEntry type="library" exported="" name="jetty-6.1.25" level="project" />
<orderEntry type="library" exported="" name="jetty-util-6.1.25" level="project" />
<orderEntry type="library" exported="" name="servlet-api-2.5-20081211" level="project" />
@@ -143,41 +139,39 @@
<orderEntry type="library" exported="" name="jetty-naming-6.1.25" level="project" />
<orderEntry type="library" exported="" name="core-3.1.1" level="project" />
<orderEntry type="library" exported="" name="jsp-api-2.1-6.1.14" level="project" />
- <orderEntry type="library" exported="" name="gradle-antlr-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-antlr-2.1" level="project" />
<orderEntry type="library" exported="" name="ant-antlr-1.9.3" level="project" />
<orderEntry type="library" exported="" name="antlr-2.7.7" level="project" />
- <orderEntry type="library" exported="" name="gradle-wrapper-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-osgi-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-osgi-2.1" level="project" />
<orderEntry type="library" exported="" name="bndlib-2.1.0" level="project" />
- <orderEntry type="library" exported="" name="gradle-maven-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-maven-2.1" level="project" />
<orderEntry type="library" exported="" name="pmaven-common-0.8-20100325" level="project" />
<orderEntry type="library" exported="" name="pmaven-groovy-0.8-20100325" level="project" />
<orderEntry type="library" exported="" name="plexus-component-annotations-1.5.2" level="project" />
- <orderEntry type="library" exported="" name="gradle-ide-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-announce-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-scala-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-sonar-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-ide-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-announce-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-scala-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-sonar-2.1" level="project" />
<orderEntry type="library" exported="" name="sonar-runner-2.0" level="project" />
<orderEntry type="library" exported="" name="sonar-batch-bootstrapper-2.9" level="project" />
- <orderEntry type="library" exported="" name="gradle-signing-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-signing-2.1" level="project" />
<orderEntry type="library" exported="" name="bcpg-jdk15-1.46" level="project" />
- <orderEntry type="library" exported="" name="bcprov-jdk15-1.46" level="project" />
- <orderEntry type="library" exported="" name="gradle-cpp-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-ear-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-javascript-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-cpp-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-ear-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-javascript-2.1" level="project" />
<orderEntry type="library" exported="" name="rhino-1.7R3" level="project" />
- <orderEntry type="library" exported="" name="gson-2.2.4" level="project" />
<orderEntry type="library" exported="" name="simple-4.1.21" level="project" />
- <orderEntry type="library" exported="" name="gradle-build-comparison-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-diagnostics-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-reporting-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-build-comparison-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-diagnostics-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-reporting-2.1" level="project" />
<orderEntry type="library" exported="" name="jatl-0.2.2" level="project" />
- <orderEntry type="library" exported="" name="gradle-publish-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-ivy-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-jacoco-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-build-init-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-language-jvm-1.12" level="project" />
- <orderEntry type="library" exported="" name="gradle-language-base-1.12" level="project" />
+ <orderEntry type="library" exported="" name="gradle-publish-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-ivy-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-jacoco-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-build-init-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-language-jvm-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-language-base-2.1" level="project" />
+ <orderEntry type="library" exported="" name="gradle-plugin-development-2.1" level="project" />
</component>
</module>
diff --git a/android/demo/chat/chat.iml b/android/demo/chat/chat.iml
index 20560d268c1..d6a2b1593d9 100644
--- a/android/demo/chat/chat.iml
+++ b/android/demo/chat/chat.iml
@@ -10,7 +10,7 @@
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
- <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugJava" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugTestSources" />
@@ -79,8 +79,9 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
- <orderEntry type="jdk" jdkName="Android API 17 Platform" jdkType="Android SDK" />
+ <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="Ice" level="project" />
<orderEntry type="library" exported="" name="Glacier2" level="project" />
diff --git a/android/demo/chat/src/main/java/com/zeroc/chat/LoginActivity.java b/android/demo/chat/src/main/java/com/zeroc/chat/LoginActivity.java
index d52fd1fcf99..fcbe4de9b28 100644
--- a/android/demo/chat/src/main/java/com/zeroc/chat/LoginActivity.java
+++ b/android/demo/chat/src/main/java/com/zeroc/chat/LoginActivity.java
@@ -186,17 +186,6 @@ public class LoginActivity extends Activity
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
- if(VERSION.SDK_INT == 8) // android.os.Build.VERSION_CODES.FROYO (8)
- {
- //
- // Workaround for a bug in Android 2.2 (Froyo).
- //
- // See http://code.google.com/p/android/issues/detail?id=9431
- //
- java.lang.System.setProperty("java.net.preferIPv4Stack", "true");
- java.lang.System.setProperty("java.net.preferIPv6Addresses", "false");
- }
-
_login = (Button)findViewById(R.id.login);
_login.setOnClickListener(new android.view.View.OnClickListener()
{
@@ -243,7 +232,7 @@ public class LoginActivity extends Activity
_password = (EditText)findViewById(R.id.password);
_secure = (CheckBox)findViewById(R.id.secure);
- _secure.setEnabled(VERSION.SDK_INT >= 8); // android.os.Build.VERSION_CODES.FROYO (8)
+ _secure.setEnabled(true);
_prefs = getPreferences(MODE_PRIVATE);
diff --git a/android/demo/chat/src/main/java/com/zeroc/chat/service/AppSession.java b/android/demo/chat/src/main/java/com/zeroc/chat/service/AppSession.java
index 28bf2e16d04..22edfec9862 100644
--- a/android/demo/chat/src/main/java/com/zeroc/chat/service/AppSession.java
+++ b/android/demo/chat/src/main/java/com/zeroc/chat/service/AppSession.java
@@ -15,6 +15,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
+import android.os.Build;
import com.zeroc.chat.R;
import android.content.res.Resources;
@@ -56,6 +57,12 @@ public class AppSession
initData.properties.setProperty("IceSSL.TruststoreType", "BKS");
initData.properties.setProperty("IceSSL.Password", "password");
+ // SDK versions < 21 only support TLSv1 with SSLEngine.
+ if(Build.VERSION.SDK_INT < 21)
+ {
+ initData.properties.setProperty("IceSSL.Protocols", "tls1_0");
+ }
+
_communicator = Ice.Util.initialize(initData);
_hostname = hostname;
diff --git a/android/demo/hello/hello.iml b/android/demo/hello/hello.iml
index 7e3188ac8f1..4b44ac3ad2f 100644
--- a/android/demo/hello/hello.iml
+++ b/android/demo/hello/hello.iml
@@ -10,7 +10,7 @@
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
- <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugJava" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugTestSources" />
@@ -79,8 +79,9 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
- <orderEntry type="jdk" jdkName="Android API 17 Platform" jdkType="Android SDK" />
+ <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="Ice" level="project" />
</component>
diff --git a/android/demo/hello/project.properties b/android/demo/hello/project.properties
deleted file mode 100644
index a3ee5ab64f5..00000000000
--- a/android/demo/hello/project.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-17
diff --git a/android/demo/hello/src/main/java/com/zeroc/hello/.gitignore b/android/demo/hello/src/main/java/com/zeroc/hello/.gitignore
deleted file mode 100644
index 48c0296968b..00000000000
--- a/android/demo/hello/src/main/java/com/zeroc/hello/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-R.java
diff --git a/android/demo/hello/src/main/java/com/zeroc/hello/HelloApp.java b/android/demo/hello/src/main/java/com/zeroc/hello/HelloApp.java
index 8923e84f28b..b53905d4502 100644
--- a/android/demo/hello/src/main/java/com/zeroc/hello/HelloApp.java
+++ b/android/demo/hello/src/main/java/com/zeroc/hello/HelloApp.java
@@ -27,17 +27,6 @@ public class HelloApp extends Application
{
super.onCreate();
- if(VERSION.SDK_INT == 8) // android.os.Build.VERSION_CODES.FROYO (8)
- {
- //
- // Workaround for a bug in Android 2.2 (Froyo).
- //
- // See http://code.google.com/p/android/issues/detail?id=9431
- //
- java.lang.System.setProperty("java.net.preferIPv4Stack", "true");
- java.lang.System.setProperty("java.net.preferIPv6Addresses", "false");
- }
-
// SSL initialization can take some time. To avoid blocking the
// calling thread, we perform the initialization in a separate thread.
new Thread(new Runnable()
@@ -96,35 +85,32 @@ public class HelloApp extends Application
initData.properties = Ice.Util.createProperties();
initData.properties.setProperty("Ice.Trace.Network", "3");
- //
- // Only configure IceSSL if we are using Froyo or later.
- //
- if(VERSION.SDK_INT >= 8) // android.os.Build.VERSION_CODES.FROYO (8)
+ initData.properties.setProperty("IceSSL.Trace.Security", "3");
+ initData.properties.setProperty("IceSSL.KeystoreType", "BKS");
+ initData.properties.setProperty("IceSSL.TruststoreType", "BKS");
+ initData.properties.setProperty("IceSSL.Password", "password");
+ initData.properties.setProperty("Ice.InitPlugins", "0");
+ initData.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
+
+ // SDK versions < 21 only support TLSv1 with SSLEngine.
+ if(VERSION.SDK_INT < 21)
{
- initData.properties.setProperty("IceSSL.Trace.Security", "3");
- initData.properties.setProperty("IceSSL.KeystoreType", "BKS");
- initData.properties.setProperty("IceSSL.TruststoreType", "BKS");
- initData.properties.setProperty("IceSSL.Password", "password");
- initData.properties.setProperty("Ice.InitPlugins", "0");
- initData.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
+ initData.properties.setProperty("IceSSL.Protocols", "tls1_0");
}
communicator = Ice.Util.initialize(initData);
- if(VERSION.SDK_INT >= 8) // android.os.Build.VERSION_CODES.FROYO (8)
- {
- IceSSL.Plugin plugin = (IceSSL.Plugin)communicator.getPluginManager().getPlugin("IceSSL");
- //
- // Be sure to pass the same input stream to the SSL plug-in for
- // both the keystore and the truststore. This makes startup a
- // little faster since the plugin will not initialize
- // two keystores.
- //
- java.io.InputStream certs = getResources().openRawResource(R.raw.client);
- plugin.setKeystoreStream(certs);
- plugin.setTruststoreStream(certs);
- communicator.getPluginManager().initializePlugins();
- }
+ IceSSL.Plugin plugin = (IceSSL.Plugin)communicator.getPluginManager().getPlugin("IceSSL");
+ //
+ // Be sure to pass the same input stream to the SSL plug-in for
+ // both the keystore and the truststore. This makes startup a
+ // little faster since the plugin will not initialize
+ // two keystores.
+ //
+ java.io.InputStream certs = getResources().openRawResource(R.raw.client);
+ plugin.setKeystoreStream(certs);
+ plugin.setTruststoreStream(certs);
+ communicator.getPluginManager().initializePlugins();
synchronized(this)
{
diff --git a/android/demo/library/library.iml b/android/demo/library/library.iml
index c908958c7b6..dfad919a020 100644
--- a/android/demo/library/library.iml
+++ b/android/demo/library/library.iml
@@ -10,7 +10,7 @@
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
- <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugJava" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugTestSources" />
@@ -79,8 +79,9 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
- <orderEntry type="jdk" jdkName="Android API 17 Platform" jdkType="Android SDK" />
+ <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="Ice" level="project" />
<orderEntry type="library" exported="" name="Glacier2" level="project" />
diff --git a/android/demo/library/src/main/java/com/zeroc/library/LoginActivity.java b/android/demo/library/src/main/java/com/zeroc/library/LoginActivity.java
index fea2265b217..4f3d3795f86 100644
--- a/android/demo/library/src/main/java/com/zeroc/library/LoginActivity.java
+++ b/android/demo/library/src/main/java/com/zeroc/library/LoginActivity.java
@@ -134,17 +134,6 @@ public class LoginActivity extends Activity
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
- if(VERSION.SDK_INT == 8) // android.os.Build.VERSION_CODES.FROYO (8)
- {
- //
- // Workaround for a bug in Android 2.2 (Froyo).
- //
- // See http://code.google.com/p/android/issues/detail?id=9431
- //
- java.lang.System.setProperty("java.net.preferIPv4Stack", "true");
- java.lang.System.setProperty("java.net.preferIPv6Addresses", "false");
- }
-
_login = (Button) findViewById(R.id.login);
_login.setOnClickListener(new android.view.View.OnClickListener()
{
@@ -171,7 +160,7 @@ public class LoginActivity extends Activity
});
_secure = (android.widget.CheckBox) findViewById(R.id.secure);
- _secure.setEnabled(VERSION.SDK_INT >= 8); // android.os.Build.VERSION_CODES.FROYO (8)
+ _secure.setEnabled(true);
_glacier2 = (android.widget.CheckBox) findViewById(R.id.glacier2);
diff --git a/android/demo/library/src/main/java/com/zeroc/library/controller/LoginController.java b/android/demo/library/src/main/java/com/zeroc/library/controller/LoginController.java
index a2bc3e304ea..36c93399063 100644
--- a/android/demo/library/src/main/java/com/zeroc/library/controller/LoginController.java
+++ b/android/demo/library/src/main/java/com/zeroc/library/controller/LoginController.java
@@ -9,6 +9,7 @@
package com.zeroc.library.controller;
+import android.os.Build;
import com.zeroc.library.R;
import android.content.res.Resources;
@@ -67,6 +68,13 @@ public class LoginController
initData.properties.setProperty("IceSSL.Password", "password");
initData.properties.setProperty("Ice.InitPlugins", "0");
initData.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
+
+ // SDK versions < 21 only support TLSv1 with SSLEngine.
+ if(Build.VERSION.SDK_INT < 21)
+ {
+ initData.properties.setProperty("IceSSL.Protocols", "tls1_0");
+ }
+
java.io.InputStream certStream;
certStream = resources.openRawResource(R.raw.client);
_communicator = Ice.Util.initialize(initData);
diff --git a/android/gradle/dex.gradle b/android/gradle/dex.gradle
new file mode 100644
index 00000000000..bd4513dec5f
--- /dev/null
+++ b/android/gradle/dex.gradle
@@ -0,0 +1,24 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 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 org.apache.tools.ant.taskdefs.condition.Os
+
+// Discover the Android SDK home.
+// It either comes from the environment or from sdk.dir defined
+// in local.properties at the root of the android project.
+ext.androidSdkDir = System.env.ANDROID_HOME
+if(ext.androidSdkDir == null) {
+ Properties localProps = new Properties()
+ localProps.load(new FileInputStream(file("$rootProject.projectDir/local.properties")))
+
+ ext.androidSdkDir = localProps['sdk.dir']
+}
+
+def cmdExt = Os.isFamily(Os.FAMILY_WINDOWS) ? '.bat' : ''
+ext.dxCmd = "${androidSdkDir}/build-tools/${ice_buildToolsVersion}/dx${cmdExt}" \ No newline at end of file
diff --git a/android/gradle/tests.gradle b/android/gradle/tests.gradle
new file mode 100644
index 00000000000..8a14a3b3eff
--- /dev/null
+++ b/android/gradle/tests.gradle
@@ -0,0 +1,51 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 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.
+//
+// **********************************************************************
+
+ext.tests = [ "acm",
+ "adapterDeactivation",
+ "admin",
+ "ami",
+ "background",
+ "binding",
+ "checksum",
+ "classLoader",
+ "custom",
+ "defaultServant",
+ "defaultValue",
+ "dispatcher",
+ "echo",
+ "enums",
+ "exceptions",
+ "facets",
+ "hash",
+ "hold",
+ "info",
+ "inheritance",
+ "interceptor",
+ "interrupt",
+ "invoke",
+ "location",
+ "networkProxy",
+ "objects",
+ "operations",
+ "optional",
+ "packagemd",
+ "plugin",
+ "properties",
+ "proxy",
+ "retry",
+ "seqMapping",
+ "serialize",
+ "servantLocator",
+ "slicing_exceptions",
+ "slicing_objects",
+ "stream",
+ "threadPoolPriority",
+ "timeout",
+ "udp" ]
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 1e61d1fd3a9..e5347d805ed 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Apr 10 15:27:10 PDT 2013
+#Mon Nov 03 10:36:54 NST 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip
diff --git a/android/settings.gradle b/android/settings.gradle
index 458743b4059..dc291e41619 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -7,8 +7,15 @@
//
// **********************************************************************
+apply from: "$rootProject.projectDir/gradle/tests.gradle"
+
+tests.each {
+ include ":test_Ice_${it}"
+ project(":test_Ice_${it}").projectDir = new File("test/src/test_Ice_${it}")
+}
+
// Main source
-include ':hello', ':Ice', ':Glacier2', ':IceBox', ':IceDiscovery', ':IceGrid', ':IcePatch2', ':IceStorm', ':chat', ':library', ":test", ':testApp'
+include ':hello', ':Ice', ':Glacier2', ':IceBox', ':IceDiscovery', ':IceGrid', ':IcePatch2', ':IceStorm', ':chat', ':library', ':test', ':testPlugins', ':testApp', ':test_Ice_acm'
project(':Ice').projectDir = new File('src/Ice')
project(':Glacier2').projectDir = new File('src/Glacier2')
project(':IceBox').projectDir = new File('src/IceBox')
@@ -20,4 +27,5 @@ project(':hello').projectDir = new File('demo/hello')
project(':chat').projectDir = new File('demo/chat')
project(':library').projectDir = new File('demo/library')
project(':test').projectDir = new File('test')
-project(':testApp').projectDir = new File('test/android') \ No newline at end of file
+project(':testPlugins').projectDir = new File('test/plugins')
+project(':testApp').projectDir = new File('test/android')
diff --git a/android/src/Glacier2/Glacier2.iml b/android/src/Glacier2/Glacier2.iml
index c3d0e66fb20..6b6691c8110 100644
--- a/android/src/Glacier2/Glacier2.iml
+++ b/android/src/Glacier2/Glacier2.iml
@@ -25,6 +25,7 @@
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set1.d.xml" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<content url="file://$MODULE_DIR$/../../../java/src/Glacier2/src/main/java">
diff --git a/android/src/Ice/Ice.iml b/android/src/Ice/Ice.iml
index 457f010fe0f..f67164fd389 100644
--- a/android/src/Ice/Ice.iml
+++ b/android/src/Ice/Ice.iml
@@ -25,6 +25,8 @@
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/nostream.d.xml" />
+ <excludeFolder url="file://$MODULE_DIR$/build/stream.d.xml" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<content url="file://$MODULE_DIR$/../../../java/src/Ice/src/main/java">
diff --git a/android/src/IceBox/IceBox.iml b/android/src/IceBox/IceBox.iml
index f8fe17041cf..7da3c706634 100644
--- a/android/src/IceBox/IceBox.iml
+++ b/android/src/IceBox/IceBox.iml
@@ -25,6 +25,7 @@
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set1.d.xml" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<content url="file://$MODULE_DIR$/../../../java/src/IceBox/src/main/java">
diff --git a/android/src/IceDiscovery/IceDiscovery.iml b/android/src/IceDiscovery/IceDiscovery.iml
index 79f6501f161..09988761e6f 100644
--- a/android/src/IceDiscovery/IceDiscovery.iml
+++ b/android/src/IceDiscovery/IceDiscovery.iml
@@ -25,6 +25,7 @@
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set1.d.xml" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<content url="file://$MODULE_DIR$/../../../java/src/IceDiscovery/src/main/java">
diff --git a/android/src/IceGrid/IceGrid.iml b/android/src/IceGrid/IceGrid.iml
index 8c615e2f7cb..225424f7823 100644
--- a/android/src/IceGrid/IceGrid.iml
+++ b/android/src/IceGrid/IceGrid.iml
@@ -25,6 +25,7 @@
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set1.d.xml" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<content url="file://$MODULE_DIR$/../../../java/src/IceGrid/src/main/java">
diff --git a/android/src/IcePatch2/IcePatch2.iml b/android/src/IcePatch2/IcePatch2.iml
index 19b888c38e8..5050de6d408 100644
--- a/android/src/IcePatch2/IcePatch2.iml
+++ b/android/src/IcePatch2/IcePatch2.iml
@@ -25,6 +25,7 @@
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set1.d.xml" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<content url="file://$MODULE_DIR$/../../../java/src/IcePatch2/src/main/java">
diff --git a/android/src/IceStorm/IceStorm.iml b/android/src/IceStorm/IceStorm.iml
index 8dde8b531bf..001e66daafd 100644
--- a/android/src/IceStorm/IceStorm.iml
+++ b/android/src/IceStorm/IceStorm.iml
@@ -25,6 +25,7 @@
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set1.d.xml" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<content url="file://$MODULE_DIR$/../../../java/src/IceStorm/src/main/java">
diff --git a/android/test/android/build.gradle b/android/test/android/build.gradle
index e9b8193afde..c013be1c3df 100644
--- a/android/test/android/build.gradle
+++ b/android/test/android/build.gradle
@@ -9,6 +9,7 @@
apply plugin: 'com.android.application'
apply from: "$rootProject.projectDir/../java/gradle/ice.gradle"
+apply from: "$rootProject.projectDir/gradle/tests.gradle"
android {
compileSdkVersion ice_compileSdkVersion
@@ -26,7 +27,7 @@ android {
buildTypes {
debug {
- runProguard true
+ runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
}
@@ -37,11 +38,46 @@ android {
}
}
+// Copy the IceTestPlugins.dex file into the android test assets
+// directory.
+//
+// I don't like this approach very much. It would be preferable for
+// the test app to extract the dex file from the jar file but I can't
+// figure out how to do that.
+task copyTask(type: Copy) {
+ from "${rootProject.projectDir}/test/plugins/build/classes/main/IceTestPlugins.dex"
+ into "src/main/assets"
+}
+preBuild.dependsOn(copyTask)
+copyTask.dependsOn(':testPlugins:dexClasses')
+
+clean {
+ delete("src/main/assets/IceTestPlugins.dex")
+}
+
idea.module {
excludeDirs -= file(buildDir)
buildDir.listFiles({d, f ->f != 'generated-src'} as FilenameFilter).each { excludeDirs += it }
}
+tests.each {
+ def name = it
+ def taskName = "copyTask-${name}"
+ def testName = ":test_Ice_${name}"
+ def dexName = "IceTest_${name}.dex"
+ task "${taskName}"(type: Copy, dependsOn: "${testName}:dexClasses") {
+ from "${rootProject.projectDir}/test/src/test_Ice_${name}/build/classes/main/${dexName}"
+ into "src/main/assets"
+ }
+ preBuild.dependsOn(tasks[taskName])
+
+ clean {
+ delete("src/main/assets/${dexName}")
+ }
+}
+
dependencies {
+ compile project(':Ice')
compile project(':test')
+ compile project(':testPlugins')
}
diff --git a/android/test/android/proguard.cfg b/android/test/android/proguard.cfg
index b1feb1a51bd..4f1735013b0 100644
--- a/android/test/android/proguard.cfg
+++ b/android/test/android/proguard.cfg
@@ -67,6 +67,10 @@
*;
}
-keep interface test.Ice.**
+-keep interface Ice.**
+-keep interface IceInternal.**
+-keep class Ice.**
+-keep class IceInternal.**
# For debugging.
-keepattributes LocalVariableTable, LocalVariableTypeTable
diff --git a/android/test/android/src/main/AndroidManifest.xml b/android/test/android/src/main/AndroidManifest.xml
index 154b6e9a941..0809dd4a3f4 100644
--- a/android/test/android/src/main/AndroidManifest.xml
+++ b/android/test/android/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
android:versionCode="1"
android:versionName="1.0.0">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
+
<!--
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
-->
diff --git a/android/test/android/src/main/assets/.gitignore b/android/test/android/src/main/assets/.gitignore
new file mode 100644
index 00000000000..2cbf86bc394
--- /dev/null
+++ b/android/test/android/src/main/assets/.gitignore
@@ -0,0 +1 @@
+*.dex
diff --git a/android/test/android/src/main/java/com/zeroc/testsuite/TestApp.java b/android/test/android/src/main/java/com/zeroc/testsuite/TestApp.java
index 811d8060f44..fa96d70976d 100644
--- a/android/test/android/src/main/java/com/zeroc/testsuite/TestApp.java
+++ b/android/test/android/src/main/java/com/zeroc/testsuite/TestApp.java
@@ -9,42 +9,99 @@
package com.zeroc.testsuite;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.Writer;
+import java.io.*;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
+
+import Ice.Logger;
+import Ice.Communicator;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManagerFactory;
-import test.Util.Application.CommunicatorListener;
-import Ice.Communicator;
+import dalvik.system.DexClassLoader;
+import android.content.Context;
+import android.util.Log;
import android.app.Application;
import android.os.Handler;
import android.os.Build.VERSION;
+import test.Util.Application.CommunicatorListener;
+
public class TestApp extends Application
{
- static private class TestSuiteEntry
+ private final String TAG = "TestApp";
+
+ private ClassLoader getDEXClassLoader(String classDir, ClassLoader parent) throws IOException {
+ if(parent == null)
+ {
+ parent = getClassLoader();
+ }
+
+ File dexInternalStoragePath = new java.io.File(getDir("dex", Context.MODE_PRIVATE), classDir);
+
+ BufferedInputStream bis = new BufferedInputStream(getAssets().open(classDir));
+ OutputStream dexWriter = new BufferedOutputStream(new FileOutputStream(dexInternalStoragePath));
+ final int sz = 8 * 1024;
+ byte[] buf = new byte[sz];
+ int len;
+ while((len = bis.read(buf, 0, sz)) > 0)
+ {
+ dexWriter.write(buf, 0, len);
+ }
+ dexWriter.close();
+ bis.close();
+
+ // Internal storage where the DexClassLoader writes the optimized dex file to
+ final File optimizedDexOutputPath = getDir("outdex", Context.MODE_PRIVATE);
+
+ return new DexClassLoader(
+ dexInternalStoragePath.getAbsolutePath(),
+ optimizedDexOutputPath.getAbsolutePath(),
+ null,
+ parent);
+ }
+
+ static private class TestSuiteBundle
{
- TestSuiteEntry(String name, Class<? extends test.Util.Application> client,
- Class<? extends test.Util.Application> server,
- Class<? extends test.Util.Application> collocated)
+ TestSuiteBundle(String name, ClassLoader loader)
{
_name = name;
- _client = client;
- _server = server;
- _collocated = collocated;
+ _loader = loader;
+
+ String className = "test.Ice." + _name.replace('_', '.');
+ try
+ {
+ _client = (Class<? extends test.Util.Application>)_loader.loadClass(className + ".Client");
+ }
+ catch(ClassNotFoundException e)
+ {
+ }
+ try
+ {
+ _server = (Class<? extends test.Util.Application>)_loader.loadClass(className + ".Server");
+ }
+ catch(ClassNotFoundException e)
+ {
+ }
+ try
+ {
+ _collocated = (Class<? extends test.Util.Application>)_loader.loadClass(className + ".Collocated");
+ }
+ catch(ClassNotFoundException e)
+ {
+ }
+ }
+
+ ClassLoader getClassLoader()
+ {
+ return _loader;
}
String getName()
@@ -53,7 +110,7 @@ public class TestApp extends Application
}
test.Util.Application getClient()
- throws IllegalAccessException, InstantiationException
+ throws IllegalAccessException, InstantiationException
{
if(_client == null)
{
@@ -63,7 +120,7 @@ public class TestApp extends Application
}
test.Util.Application getServer()
- throws IllegalAccessException, InstantiationException
+ throws IllegalAccessException, InstantiationException
{
if(_server == null)
{
@@ -74,7 +131,7 @@ public class TestApp extends Application
}
test.Util.Application getCollocated()
- throws IllegalAccessException, InstantiationException
+ throws IllegalAccessException, InstantiationException
{
if(_collocated == null)
{
@@ -85,121 +142,272 @@ public class TestApp extends Application
}
private String _name;
+ private ClassLoader _loader;
private Class<? extends test.Util.Application> _client;
private Class<? extends test.Util.Application> _server;
private Class<? extends test.Util.Application> _collocated;
}
- static final private TestSuiteEntry[] _tests =
+ private Map<String, TestSuiteBundle> _bundles = new HashMap<String, TestSuiteBundle>();
+
+ static final private String _allTests[] =
{
- new TestSuiteEntry("adapterDeactivation", test.Ice.adapterDeactivation.Client.class,
- test.Ice.adapterDeactivation.Server.class, test.Ice.adapterDeactivation.Collocated.class),
- new TestSuiteEntry("admin", test.Ice.admin.Client.class, test.Ice.admin.Server.class, null),
- new TestSuiteEntry("ami", test.Ice.ami.Client.class, test.Ice.ami.Server.class, null),
- new TestSuiteEntry("binding", test.Ice.binding.Client.class, test.Ice.binding.Server.class, null),
- new TestSuiteEntry("checksum", test.Ice.checksum.Client.class, test.Ice.checksum.Server.class, null),
- new TestSuiteEntry("classLoader", test.Ice.classLoader.Client.class, test.Ice.classLoader.Server.class, null),
- new TestSuiteEntry("custom", test.Ice.custom.Client.class, test.Ice.custom.Server.class,
- test.Ice.custom.Collocated.class),
- new TestSuiteEntry("defaultServant", test.Ice.defaultServant.Client.class, null, null),
- new TestSuiteEntry("defaultValue", test.Ice.defaultValue.Client.class, null, null),
- new TestSuiteEntry("dispatcher", test.Ice.dispatcher.Client.class, test.Ice.dispatcher.Server.class, null),
- new TestSuiteEntry("enums", test.Ice.enums.Client.class, test.Ice.enums.Server.class, null),
- new TestSuiteEntry("exceptions", test.Ice.exceptions.Client.class, test.Ice.exceptions.Server.class,
- test.Ice.exceptions.Collocated.class),
- new TestSuiteEntry("facets", test.Ice.facets.Client.class, test.Ice.facets.Server.class,
- test.Ice.facets.Collocated.class),
- // Require SSL
- //new TestSuiteEntry("hash", test.Ice.hash.Client.class, null, null),
- new TestSuiteEntry("hold", test.Ice.hold.Client.class, test.Ice.hold.Server.class, null),
+ "acm",
+ "adapterDeactivation",
+ "admin",
+ "ami",
+ "background",
+ "binding",
+ "checksum",
+ "classLoader",
+ "custom",
+ "defaultServant",
+ "defaultValue",
+ "dispatcher",
+ // Echo test is only for client side only mappings.
+ "enums",
+ "exceptions",
+ "facets",
+ // Fault tolerance test requires a special setup, so we don't support it.
+ // hash requires too much memory.
+ //"hash",
+ "hold",
// The info test is not currently enabled - it relies on sockets to accurately return
- // address and port information, which really only works in Android 2.3+.
- //new TestSuiteEntry("info", test.Ice.info.Client.class, test.Ice.info.Server.class, null),
- new TestSuiteEntry("inheritance", test.Ice.inheritance.Client.class, test.Ice.inheritance.Server.class,
- test.Ice.inheritance.Collocated.class),
- new TestSuiteEntry("interceptor", test.Ice.interceptor.Client.class, null, null),
- new TestSuiteEntry("invoke", test.Ice.invoke.Client.class, test.Ice.invoke.Server.class, null),
- new TestSuiteEntry("location", test.Ice.location.Client.class, test.Ice.location.Server.class, null),
+ // address and port information, which really only works jjin Android 2.3+.
+ //"info"
+ "inheritance",
+ "interceptor",
+ "interrupt",
+ "invoke",
+ "location",
// The metrics test uses too much memory.
- //new TestSuiteEntry("metrics", test.Ice.metrics.Client.class, test.Ice.metrics.Server.class, null),
- new TestSuiteEntry("objects", test.Ice.objects.Client.class, test.Ice.objects.Server.class,
- test.Ice.objects.Collocated.class),
- new TestSuiteEntry("operations", test.Ice.operations.Client.class, test.Ice.operations.Server.class,
- test.Ice.operations.Collocated.class),
- new TestSuiteEntry("optional", test.Ice.optional.Client.class, test.Ice.optional.Server.class, null),
- new TestSuiteEntry("packagemd", test.Ice.packagemd.Client.class, test.Ice.packagemd.Server.class, null),
- new TestSuiteEntry("proxy", test.Ice.proxy.Client.class, test.Ice.proxy.Server.class,
- test.Ice.proxy.Collocated.class),
- new TestSuiteEntry("retry", test.Ice.retry.Client.class, test.Ice.retry.Server.class, null),
- new TestSuiteEntry("seqMapping", test.Ice.seqMapping.Client.class, test.Ice.seqMapping.Server.class,
- test.Ice.seqMapping.Collocated.class),
- new TestSuiteEntry("serialize", test.Ice.serialize.Client.class, test.Ice.serialize.Server.class, null),
- new TestSuiteEntry("servantLocator", test.Ice.servantLocator.Client.class,
- test.Ice.servantLocator.Server.class, test.Ice.servantLocator.Collocated.class),
- new TestSuiteEntry("slicing/exceptions", test.Ice.slicing.exceptions.Client.class,
- test.Ice.slicing.exceptions.Server.class, null),
- new TestSuiteEntry("slicing/objects", test.Ice.slicing.objects.Client.class,
- test.Ice.slicing.objects.Server.class, null),
- new TestSuiteEntry("stream", test.Ice.stream.Client.class, null, null),
+ //"metrics",
+ // networkProxy support isn't supported due to lack of SOCKS support.
+ // "networkProxy",
+ "objects",
+ "operations",
+ "optional",
+ "packagemd",
+ "plugin",
+ // Properties test isn't supported since it loads files.
+ "proxy",
+ "retry",
+ "seqMapping",
+ "serialize",
+ "servantLocator",
+ "slicing_exceptions",
+ "slicing_objects",
+ "stream",
+ "threadPoolPriority",
// The throughput test uses too much memory.
- //new TestSuiteEntry("throughput", test.Ice.throughput.Client.class, test.Ice.throughput.Server.class, null),
- new TestSuiteEntry("timeout", test.Ice.timeout.Client.class, test.Ice.timeout.Server.class, null),
+ //"throughput", test.Ice.throughput.Client.class, test.Ice.throughput.Server.class, null),
+ "timeout",
+ "udp"
};
- static final private TestSuiteEntry[] _ssltests =
+ static final private String _tcpUnsupportedTestsValues[] =
{
- new TestSuiteEntry("adapterDeactivation", test.Ice.adapterDeactivation.Client.class,
- test.Ice.adapterDeactivation.Server.class, test.Ice.adapterDeactivation.Collocated.class),
- new TestSuiteEntry("ami", test.Ice.ami.Client.class, test.Ice.ami.Server.class, null),
- new TestSuiteEntry("binding", test.Ice.binding.Client.class, test.Ice.binding.Server.class, null),
- new TestSuiteEntry("checksum", test.Ice.checksum.Client.class, test.Ice.checksum.Server.class, null),
- new TestSuiteEntry("classLoader", test.Ice.classLoader.Client.class, test.Ice.classLoader.Server.class, null),
- new TestSuiteEntry("custom", test.Ice.custom.Client.class, test.Ice.custom.Server.class,
- test.Ice.custom.Collocated.class),
- new TestSuiteEntry("defaultServant", test.Ice.defaultServant.Client.class, null, null),
- new TestSuiteEntry("defaultValue", test.Ice.defaultValue.Client.class, null, null),
- new TestSuiteEntry("dispatcher", test.Ice.dispatcher.Client.class, test.Ice.dispatcher.Server.class, null),
- new TestSuiteEntry("enums", test.Ice.enums.Client.class, test.Ice.enums.Server.class, null),
- new TestSuiteEntry("exceptions", test.Ice.exceptions.Client.class, test.Ice.exceptions.Server.class,
- test.Ice.exceptions.Collocated.class),
- new TestSuiteEntry("facets", test.Ice.facets.Client.class, test.Ice.facets.Server.class,
- test.Ice.facets.Collocated.class),
- // The hash test uses too much memory.
- //new TestSuiteEntry("hash", test.Ice.hash.Client.class, null, null),
- new TestSuiteEntry("hold", test.Ice.hold.Client.class, test.Ice.hold.Server.class, null),
- // The info test is not currently enabled - it relies on sockets to accurately return
- // address and port information, which really only works in Android 2.3+.
- //new TestSuiteEntry("info", test.Ice.info.Client.class, test.Ice.info.Server.class, null),
- new TestSuiteEntry("inheritance", test.Ice.inheritance.Client.class, test.Ice.inheritance.Server.class,
- test.Ice.inheritance.Collocated.class),
- new TestSuiteEntry("interceptor", test.Ice.interceptor.Client.class, null, null),
- new TestSuiteEntry("invoke", test.Ice.invoke.Client.class, test.Ice.invoke.Server.class, null),
- new TestSuiteEntry("location", test.Ice.location.Client.class, test.Ice.location.Server.class, null),
- // The metrics test uses too much memory.
- //new TestSuiteEntry("metrics", test.Ice.metrics.Client.class, test.Ice.metrics.Server.class, null),
- new TestSuiteEntry("objects", test.Ice.objects.Client.class, test.Ice.objects.Server.class,
- test.Ice.objects.Collocated.class),
- new TestSuiteEntry("operations", test.Ice.operations.Client.class, test.Ice.operations.Server.class,
- test.Ice.operations.Collocated.class),
- new TestSuiteEntry("optional", test.Ice.optional.Client.class, test.Ice.optional.Server.class, null),
- new TestSuiteEntry("packagemd", test.Ice.packagemd.Client.class, test.Ice.packagemd.Server.class, null),
- new TestSuiteEntry("proxy", test.Ice.proxy.Client.class, test.Ice.proxy.Server.class,
- test.Ice.proxy.Collocated.class),
- new TestSuiteEntry("retry", test.Ice.retry.Client.class, test.Ice.retry.Server.class, null),
- new TestSuiteEntry("serialize", test.Ice.serialize.Client.class, test.Ice.serialize.Server.class, null),
- new TestSuiteEntry("seqMapping", test.Ice.seqMapping.Client.class, test.Ice.seqMapping.Server.class,
- test.Ice.seqMapping.Collocated.class),
- new TestSuiteEntry("servantLocator", test.Ice.servantLocator.Client.class,
- test.Ice.servantLocator.Server.class, test.Ice.servantLocator.Collocated.class),
- new TestSuiteEntry("slicing/exceptions", test.Ice.slicing.exceptions.Client.class,
- test.Ice.slicing.exceptions.Server.class, null),
- new TestSuiteEntry("slicing/objects", test.Ice.slicing.objects.Client.class,
- test.Ice.slicing.objects.Server.class, null),
- new TestSuiteEntry("stream", test.Ice.stream.Client.class, null, null),
- new TestSuiteEntry("timeout", test.Ice.timeout.Client.class, test.Ice.timeout.Server.class, null),
};
- private TestSuiteEntry[] _curtests = _tests;
-
+ static final private Set<String> _tcpUnsupportedTests = new HashSet<String>(Arrays.asList(_tcpUnsupportedTestsValues));
+
+ static final private String _sslUnsupportedTestsValues[] =
+ {
+ "background",
+ "binding",
+ "plugin",
+ "timeout",
+ "udp"
+ };
+ static final private Set<String> _sslUnsupportedTests = new HashSet<String>(Arrays.asList(_sslUnsupportedTestsValues));
+
+ private List<String> _tests = new ArrayList<String>();
+
+ class LogOutput
+ {
+ private BufferedWriter _writer;
+
+ LogOutput()
+ {
+ reopen();
+ }
+
+ void reopen()
+ {
+ try
+ {
+
+ if(_writer != null)
+ {
+ _writer.close();
+ _writer = null;
+ }
+ File logFile = new File(getFilesDir(), "log.txt");
+ if(!logFile.exists())
+ {
+ logFile.createNewFile();
+ }
+ _writer = new BufferedWriter(new FileWriter(logFile, false));
+ }
+ catch (IOException e)
+ {
+ Log.i(TAG, "cannot open log file", e);
+ }
+ }
+
+ void
+ write(StringBuilder message, boolean indent)
+ {
+ if(_writer == null)
+ {
+ return;
+ }
+
+ if(indent)
+ {
+ int idx = 0;
+ while((idx = message.indexOf("\n", idx)) != -1)
+ {
+ message.insert(idx + 1, " ");
+ ++idx;
+ }
+ }
+ synchronized(this)
+ {
+ try
+ {
+ _writer.newLine();
+ _writer.append(message.toString());
+ _writer.flush();
+ }
+ catch(java.io.IOException ex)
+ {
+ }
+ }
+ }
+ }
+ private LogOutput _logOutput;
+
+ class AndroidLogger implements Ice.Logger
+ {
+ private final String _prefix;
+ private String _formattedPrefix = "";
+ private final java.text.DateFormat _date = java.text.DateFormat.getDateInstance(java.text.DateFormat.SHORT);
+ private final java.text.SimpleDateFormat _time = new java.text.SimpleDateFormat(" HH:mm:ss:SSS");
+
+ AndroidLogger(String prefix)
+ {
+ _prefix = prefix;
+ if(prefix.length() > 0)
+ {
+ _formattedPrefix = prefix + ": ";
+ }
+ }
+ @Override
+ public void print(String message)
+ {
+ if(_logOutput != null)
+ {
+ StringBuilder s = new StringBuilder(256);
+ s.append("-- ");
+ synchronized(this)
+ {
+ s.append(_date.format(new java.util.Date()));
+ s.append(_time.format(new java.util.Date()));
+ }
+ s.append(' ');
+ s.append(_formattedPrefix);
+ s.append(message);
+ _logOutput.write(s, false);
+ }
+
+ Log.d(TAG, message);
+ }
+
+ @Override
+ public void trace(String category, String message)
+ {
+ if(_logOutput != null)
+ {
+ StringBuilder s = new StringBuilder(256);
+ s.append("-- ");
+ synchronized(this)
+ {
+ s.append(_date.format(new java.util.Date()));
+ s.append(_time.format(new java.util.Date()));
+ }
+ s.append(' ');
+ s.append(_formattedPrefix);
+ s.append(category);
+ s.append(": ");
+ s.append(message);
+ _logOutput.write(s, true);
+ }
+
+ Log.v(category, message);
+ }
+
+ @Override
+ public void warning(String message)
+ {
+ if(_logOutput != null)
+ {
+
+ StringBuilder s = new StringBuilder(256);
+ s.append("-! ");
+ synchronized(this)
+ {
+ s.append(_date.format(new java.util.Date()));
+ s.append(_time.format(new java.util.Date()));
+ }
+ s.append(' ');
+ s.append(_formattedPrefix);
+ s.append("warning: ");
+ s.append(Thread.currentThread().getName());
+ s.append(": ");
+ s.append(message);
+ _logOutput.write(s, true);
+ }
+
+ Log.w(TAG, message);
+ }
+
+ @Override
+ public void error(String message)
+ {
+ if(_logOutput != null)
+ {
+ StringBuilder s = new StringBuilder(256);
+ s.append("!! ");
+ synchronized(this)
+ {
+ s.append(_date.format(new java.util.Date()));
+ s.append(_time.format(new java.util.Date()));
+ }
+ s.append(' ');
+ s.append(_formattedPrefix);
+ s.append("error: ");
+ s.append(Thread.currentThread().getName());
+ s.append(": ");
+ s.append(message);
+ _logOutput.write(s, true);
+ }
+
+ Log.e(TAG, message);
+ }
+
+ @Override
+ public String getPrefix()
+ {
+ return _prefix;
+ }
+
+ @Override
+ public Logger cloneWithPrefix(String s)
+ {
+ return new AndroidLogger(s);
+ }
+ }
+
class MyWriter extends Writer
{
@Override
@@ -251,20 +459,22 @@ public class TestApp extends Application
private boolean _ssl = false;
private boolean _sslInitialized = false;
- private boolean _sslSupported = false;
private boolean _ipv6 = false;
private SSLContext _clientContext = null;
private SSLContext _serverContext = null;
- private SSLInitializationListener _ssllistener;
+ private SSLInitializationListener _sslListener;
static abstract class TestThread extends Thread
{
+ String _testName;
test.Util.Application _app;
protected int _status;
- TestThread(test.Util.Application app)
+ TestThread(String testName, ClassLoader classLoader, test.Util.Application app)
{
+ _testName = testName;
_app = app;
+ _app.setClassLoader(classLoader);
}
public int getStatus()
@@ -281,7 +491,7 @@ public class TestApp extends Application
"--Ice.Default.Host=0:0:0:0:0:0:0:1",
"--Ice.IPv4=1",
"--Ice.IPv6=1",
- "--Ice.PreferIPv6Address=1",
+ "--Ice.PreferIPv6Address=1"
};
String[] nargs = new String[args.length + ipv6Args.length];
@@ -309,18 +519,18 @@ public class TestApp extends Application
{
String[] sslargs =
{
- "--Ice.Plugin.IceSSL=IceSSL.PluginFactory", "--Ice.Default.Protocol=ssl", "--Ice.InitPlugins=0"
+ "--Ice.Plugin.IceSSL=IceSSL.PluginFactory",
+ "--Ice.Default.Protocol=ssl",
+ "--Ice.InitPlugins=0",
+ "--Ice.Trace.Network=3", "--Ice.Trace.Protocol=3"
};
- //
- // Froyo apparently still suffers from Harmony bug 6047, requiring that we
- // disable server-side verification of client certificates.
- //
- if(VERSION.SDK_INT == 8) // android.os.Build.VERSION_CODES.FROYO (8)
+ // SDK versions < 21 only support TLSv1 with SSLEngine.
+ if(VERSION.SDK_INT < 21)
{
String[] arr = new String[sslargs.length + 1];
System.arraycopy(sslargs, 0, arr, 0, sslargs.length);
- arr[arr.length - 1] = "--IceSSL.VerifyPeer=0";
+ arr[arr.length - 1] = "--IceSSL.Protocols=tls1_0";
sslargs = arr;
}
@@ -328,6 +538,7 @@ public class TestApp extends Application
System.arraycopy(args, 0, nargs, 0, args.length);
System.arraycopy(sslargs, 0, nargs, args.length, sslargs.length);
args = nargs;
+
_app.setCommunicatorListener(new CommunicatorListener()
{
public void communicatorInitialized(Communicator c)
@@ -345,9 +556,9 @@ public class TestApp extends Application
{
private test.Util.Application _server;
- ClientThread(test.Util.Application c, test.Util.Application s)
+ ClientThread(String testName, ClassLoader classLoader, test.Util.Application c, test.Util.Application s)
{
- super(c);
+ super(testName, classLoader, c);
_server = s;
setName("ClientThread");
}
@@ -356,11 +567,25 @@ public class TestApp extends Application
{
String[] args =
{
- "--Ice.NullHandleAbort=1", "--Ice.Warn.Connections=1"
+ "--Ice.NullHandleAbort=1",
+ "--Ice.Warn.Connections=1"
};
args = setupAddress(args, _ipv6);
-
+
+ if(_testName == "plugin")
+ {
+ try
+ {
+ _app.setClassLoader(getDEXClassLoader("IceTestPlugins.dex", _app.getClassLoader()));
+ }
+ catch(IOException e)
+ {
+ // The plugin test will fail.
+ Log.e(TAG, "IOException loading IceTestPlugins.dex", e);
+ }
+ }
+
if(_ssl)
{
args = setupssl(args, _clientContext);
@@ -379,9 +604,9 @@ public class TestApp extends Application
private test.Util.Application _client;
private ClientThread _clientThread;
- ServerThread(test.Util.Application c, test.Util.Application s)
+ ServerThread(String testName, ClassLoader classLoader, test.Util.Application c, test.Util.Application s)
{
- super(s);
+ super(testName, classLoader, s);
setName("ServerThread");
_client = c;
}
@@ -409,7 +634,7 @@ public class TestApp extends Application
{
if(_client != null)
{
- _clientThread = new ClientThread(_client, _app);
+ _clientThread = new ClientThread(_testName, _app.getClassLoader(), _client, _app);
_clientThread.start();
}
}
@@ -438,9 +663,9 @@ public class TestApp extends Application
class CollocatedThread extends TestThread
{
- CollocatedThread(test.Util.Application c)
+ CollocatedThread(String testName, ClassLoader classLoader, test.Util.Application c)
{
- super(c);
+ super(testName, classLoader, c);
setName("CollocatedThread");
}
@@ -545,9 +770,9 @@ public class TestApp extends Application
_serverContext = serverContext;
_sslInitialized = true;
- if(_ssllistener != null)
+ if(_sslListener != null)
{
- final SSLInitializationListener listener = _ssllistener;
+ final SSLInitializationListener listener = _sslListener;
if(_clientContext == null | _serverContext == null)
{
_handler.post(new Runnable()
@@ -574,23 +799,11 @@ public class TestApp extends Application
@Override
public void onCreate()
{
+ // By default we don't log to a file.
+ //_logOutput = new LogOutput();
+ Ice.Util.setProcessLogger(new AndroidLogger(""));
_handler = new Handler();
-
- if(VERSION.SDK_INT == 8) // android.os.Build.VERSION_CODES.FROYO (8)
- {
- //
- // Workaround for a bug in Android 2.2 (Froyo).
- //
- // See http://code.google.com/p/android/issues/detail?id=9431
- //
- java.lang.System.setProperty("java.net.preferIPv4Stack", "true");
- java.lang.System.setProperty("java.net.preferIPv6Addresses", "false");
- }
-
- //
- // The SSLEngine class only works properly in Froyo (or later).
- //
- _sslSupported = VERSION.SDK_INT >= 8;
+ configureTests();
}
@Override
@@ -598,14 +811,10 @@ public class TestApp extends Application
{
}
+
public List<String> getTestNames()
{
- List<String> s = new ArrayList<String>();
- for(TestSuiteEntry t : _curtests)
- {
- s.add(t.getName());
- }
- return s;
+ return _tests;
}
synchronized public void setTestListener(TestListener listener)
@@ -613,7 +822,7 @@ public class TestApp extends Application
_listener = listener;
if(_listener != null && _currentTest != -1)
{
- _listener.onStartTest(_curtests[_currentTest].getName());
+ _listener.onStartTest(_tests.get(_currentTest));
for(String s : _strings)
{
_listener.onOutput(s);
@@ -628,7 +837,7 @@ public class TestApp extends Application
public void startNextTest()
{
assert _complete;
- startTest((_currentTest + 1) % _curtests.length);
+ startTest((_currentTest + 1) % _tests.size());
}
synchronized public void startTest(int position)
@@ -641,63 +850,83 @@ public class TestApp extends Application
_complete = false;
_strings.clear();
- TestSuiteEntry entry = _curtests[position];
+ String testName = _tests.get(position);
+
test.Util.Application client;
test.Util.Application server;
test.Util.Application collocated;
-
+ ClassLoader classLoader;
if(_listener != null)
{
- _listener.onStartTest(entry.getName());
+ _listener.onStartTest(testName);
}
try
{
- client = entry.getClient();
- server = entry.getServer();
- collocated = entry.getCollocated();
+ TestSuiteBundle bundle = _bundles.get(testName);
+ if(bundle == null)
+ {
+ bundle = new TestSuiteBundle(testName, getDEXClassLoader("IceTest_" + testName + ".dex", null));
+ _bundles.put(testName, bundle);
+ }
+ classLoader = bundle.getClassLoader();
+ client = bundle.getClient();
+ server = bundle.getServer();
+ collocated = bundle.getCollocated();
}
catch(IllegalAccessException e)
{
- e.printStackTrace(pw);
+ Log.w(TAG, "IllegalAccessException: test " + testName, e);
postOnComplete(-1);
return;
}
catch(InstantiationException e)
{
- e.printStackTrace(pw);
+ Log.w(TAG, "InstantiationException: test " + testName, e);
postOnComplete(-1);
return;
}
+ catch(IOException e)
+ {
+ Log.w(TAG, "IOException: test " + testName, e);
+ postOnComplete(-1);
+ return;
+ }
+
+ // Uncomment this if you want to reopen the logfile for each test.
+ //if(_logOutput != null)
+ //{
+ // _logOutput.reopen();
+ //}
List<TestThread> l = new ArrayList<TestThread>();
if(server != null)
{
+ server.setLogger(new AndroidLogger(testName + "_server"));
server.setWriter(new MyWriter());
// All servers must have a client.
assert client != null;
- client.setWriter(new MyWriter());
- l.add(new ServerThread(client, server));
+ client.setWriter(new MyWriter());
+ client.setLogger(new AndroidLogger(testName + "_client"));
+ l.add(new ServerThread(testName, classLoader, client, server));
if(collocated != null)
{
+ collocated.setLogger(new AndroidLogger(testName + "_collocated"));
collocated.setWriter(new MyWriter());
- l.add(new CollocatedThread(collocated));
+ l.add(new CollocatedThread(testName, classLoader, collocated));
}
}
else
{
client.setWriter(new MyWriter());
- l.add(new ClientThread(client, null));
+ client.setLogger(new AndroidLogger(testName + "_client"));
+ l.add(new ClientThread(testName, classLoader, client, null));
}
TestRunner r = new TestRunner(l);
r.setDaemon(true);
r.start();
}
- public boolean isSSLSupported()
- {
- return _sslSupported;
- }
public void setIPv6(boolean ipv6)
{
@@ -706,26 +935,18 @@ public class TestApp extends Application
public void setSSL(boolean ssl)
{
- assert(!ssl || (ssl && _sslSupported));
_ssl = ssl;
- if(_ssl)
+ configureTests();
+ if(_currentTest > _tests.size()-1)
{
- _curtests = _ssltests;
- }
- else
- {
- _curtests = _tests;
- }
- if(_currentTest > _curtests.length-1)
- {
- _currentTest = _curtests.length-1;
+ _currentTest = _tests.size()-1;
}
if(_ssl && !_sslInitialized)
{
- if(_ssllistener != null)
+ if(_sslListener != null)
{
- _ssllistener.onWait();
+ _sslListener.onWait();
}
Runnable r = new Runnable()
{
@@ -760,7 +981,7 @@ public class TestApp extends Application
}
catch(Exception ex)
{
- ex.printStackTrace();
+ Log.w(TAG, "Exception", ex);
}
sslContextInitialized(clientContext, serverContext);
}
@@ -773,9 +994,26 @@ public class TestApp extends Application
}
}
+ private void configureTests()
+ {
+ _tests.clear();
+ for(String s : _allTests)
+ {
+ if(_ssl && _sslUnsupportedTests.contains(s))
+ {
+ continue;
+ }
+ if(!_ssl && _tcpUnsupportedTests.contains(s))
+ {
+ continue;
+ }
+ _tests.add(s);
+ }
+ }
+
synchronized public void setSSLInitializationListener(SSLInitializationListener listener)
{
- _ssllistener = listener;
+ _sslListener = listener;
if(_ssl)
{
if(!_sslInitialized)
diff --git a/android/test/android/src/main/java/com/zeroc/testsuite/TestSuite.java b/android/test/android/src/main/java/com/zeroc/testsuite/TestSuite.java
index 0b0a1178d6f..a2577a5aa87 100644
--- a/android/test/android/src/main/java/com/zeroc/testsuite/TestSuite.java
+++ b/android/test/android/src/main/java/com/zeroc/testsuite/TestSuite.java
@@ -72,24 +72,17 @@ public class TestSuite extends ListActivity
}
});
CheckBox secure = (CheckBox)findViewById(R.id.secure);
- if(app.isSSLSupported())
+ secure.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
- secure.setOnCheckedChangeListener(new OnCheckedChangeListener()
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
- {
- app.setSSL(isChecked);
- _tests.clear();
- _tests.addAll(app.getTestNames());
- adapter.notifyDataSetChanged();
- }
- });
- }
- else
- {
- secure.setEnabled(false);
- }
-
+ app.setSSL(isChecked);
+ _tests.clear();
+ _tests.addAll(app.getTestNames());
+ adapter.notifyDataSetChanged();
+ }
+ });
+
CheckBox ipv6 = (CheckBox)findViewById(R.id.ipv6);
ipv6.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
diff --git a/android/test/android/testApp.iml b/android/test/android/testApp.iml
index 829e330b6bc..bbcb89208ba 100644
--- a/android/test/android/testApp.iml
+++ b/android/test/android/testApp.iml
@@ -10,7 +10,7 @@
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
- <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugJava" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugTestSources" />
@@ -78,11 +78,13 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
- <orderEntry type="jdk" jdkName="Android API 17 Platform" jdkType="Android SDK" />
+ <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="library" exported="" name="IceTest" level="project" />
<orderEntry type="library" exported="" name="Ice" level="project" />
+ <orderEntry type="module" module-name="test" exported="" />
+ <orderEntry type="module" module-name="testPlugins" exported="" />
</component>
</module>
diff --git a/android/test/build.gradle b/android/test/build.gradle
index b5bde9e83fa..8444ad17fff 100644
--- a/android/test/build.gradle
+++ b/android/test/build.gradle
@@ -12,32 +12,15 @@ apply from: "$rootProject.projectDir/../java/gradle/ice.gradle"
ext.testDir = "$rootProject.projectDir/../java/test/src/main/java/test"
apply from: "$rootProject.projectDir/../java/test/slice.gradle"
-
-sourceCompatibility = 1.7
-targetCompatibility = 1.7
+apply from: "$rootProject.projectDir/gradle/tests.gradle"
+apply from: "$rootProject.projectDir/gradle/dex.gradle"
sourceSets {
main {
java {
srcDir "$rootProject.projectDir/../java/test/src/main/java"
- exclude 'Ice/translator'
- exclude 'Slice/generation'
- exclude '**/lambda'
- exclude 'ejb'
- exclude '**/Freeze'
- exclude '**/Glacier2'
- exclude '**/IceBox'
- exclude '**/IceDiscovery'
- exclude '**/IceGrid'
- exclude '**/Slice'
- exclude '**/IceSSL'
- exclude '**/Ice/faultTolerance'
- exclude '**/Ice/hash'
- exclude '**/Ice/metrics'
- exclude '**/Ice/plugin'
- exclude '**/Ice/properties'
- exclude '**/Ice/threadPoolPriority'
- exclude '**/Ice/throughput'
+ include 'test/Util/**'
+ exclude 'test/Ice/**/lambda'
}
}
}
@@ -51,11 +34,49 @@ dependencies {
compile project(':Ice')
}
-jar {
- archiveName = "IceTest.jar"
- destinationDir = new File("$rootProject.projectDir/lib/")
-}
+tests.each {
+
+ def name = it
+ def dirName = name.replace('_', '/')
+ project(":test_Ice_${name}") {
+ apply plugin: 'java'
+ apply from: "$rootProject.projectDir/../java/gradle/ice.gradle"
+
+ sourceSets {
+ main {
+ java {
+ srcDir "$rootProject.projectDir/../java/test/src/main/java"
+ include "test/Ice/${dirName}/**"
+ exclude 'test/Ice/**/lambda'
+ srcDir "$rootProject.projectDir/test/build/generated-src/"
+ include "test/Ice/${dirName}/**"
+ }
+ }
+ }
+
+ def dexName = "IceTest_${name}.dex"
+ task dexClasses {
+ inputs.dir "${buildDir}/classes/main"
+ outputs.file "${buildDir}/classes/main/${dexName}"
+ doLast {
+ exec {
+ commandLine "${dxCmd}", '--dex',
+ "--output=${buildDir}/classes/main/${dexName}",
+ "${buildDir}/classes/main"
+ }
+ }
+ }
+
+ dexClasses.dependsOn('classes')
+
+ configure(jar) {
+ include "${dexName}"
+ }
+ jar.dependsOn(dexClasses)
-clean {
- delete("$rootProject.projectDir/lib/IceTest.jar")
+ dependencies {
+ compile project(':test')
+ compile project(':Ice')
+ }
+ }
}
diff --git a/android/test/plugins/build.gradle b/android/test/plugins/build.gradle
new file mode 100644
index 00000000000..a36daf037fb
--- /dev/null
+++ b/android/test/plugins/build.gradle
@@ -0,0 +1,46 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 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.
+//
+// **********************************************************************
+
+apply plugin: 'java'
+apply from: "$rootProject.projectDir/../java/gradle/ice.gradle"
+apply from: "$rootProject.projectDir/gradle/dex.gradle"
+
+sourceSets {
+ main {
+ java {
+ srcDir "$rootProject.projectDir/../java/test/plugins/src/main/java"
+ include 'test/Ice/plugin/plugins/**'
+ }
+ }
+}
+
+task dexClasses << {
+ exec {
+ commandLine "${dxCmd}", '--dex',
+ "--output=${buildDir}/classes/main/IceTestPlugins.dex",
+ "${buildDir}/classes/main"
+ }
+}
+
+dexClasses.dependsOn('classes')
+
+// The jar file should only include IceTestPlugins.dex
+configure(jar) {
+ include 'IceTestPlugins.dex'
+}
+jar.dependsOn(dexClasses)
+
+idea.module {
+ excludeDirs -= file(buildDir)
+ buildDir.listFiles({d, f ->f != 'generated-src'} as FilenameFilter).each { excludeDirs += it }
+}
+
+dependencies {
+ compile project(':Ice')
+}
diff --git a/android/test/plugins/testPlugins.iml b/android/test/plugins/testPlugins.iml
new file mode 100644
index 00000000000..74e8501b7a5
--- /dev/null
+++ b/android/test/plugins/testPlugins.iml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="android" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="android-gradle" name="Android-Gradle">
+ <configuration>
+ <option name="GRADLE_PROJECT_PATH" value=":testPlugins" />
+ </configuration>
+ </facet>
+ <facet type="java-gradle" name="Java-Gradle">
+ <configuration>
+ <option name="BUILD_FOLDER_PATH" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/build/classes/main" />
+ <output-test url="file://$MODULE_DIR$/build/classes/test" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/build/generated-src" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+ <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+ <excludeFolder url="file://$MODULE_DIR$/build/classes" />
+ <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/libs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
+ </content>
+ <content url="file://$MODULE_DIR$/../../../java/test/plugins/src/main/java">
+ <sourceFolder url="file://$MODULE_DIR$/../../../java/test/plugins/src/main/java" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="Ice" exported="" />
+ </component>
+</module>
+
diff --git a/android/test/src/test_Ice_acm/test_Ice_acm.iml b/android/test/src/test_Ice_acm/test_Ice_acm.iml
new file mode 100644
index 00000000000..c655abc99cf
--- /dev/null
+++ b/android/test/src/test_Ice_acm/test_Ice_acm.iml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/../../.." external.system.id="GRADLE" external.system.module.group="android" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="android-gradle" name="Android-Gradle">
+ <configuration>
+ <option name="GRADLE_PROJECT_PATH" value=":test_Ice_acm" />
+ </configuration>
+ </facet>
+ <facet type="java-gradle" name="Java-Gradle">
+ <configuration>
+ <option name="BUILD_FOLDER_PATH" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/build/classes/main" />
+ <output-test url="file://$MODULE_DIR$/build/classes/test" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$/../../build/generated-src">
+ <sourceFolder url="file://$MODULE_DIR$/../../build/generated-src" isTestSource="false" />
+ </content>
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated-src" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+ <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+ <excludeFolder url="file://$MODULE_DIR$/build" />
+ </content>
+ <content url="file://$MODULE_DIR$/../../../../java/test/src/main/java">
+ <sourceFolder url="file://$MODULE_DIR$/../../../../java/test/src/main/java" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="test" exported="" />
+ <orderEntry type="module" module-name="Ice" exported="" />
+ </component>
+</module>
+
diff --git a/android/test/test.iml b/android/test/test.iml
index ee8c862c3ce..a109c969e9c 100644
--- a/android/test/test.iml
+++ b/android/test/test.iml
@@ -25,6 +25,14 @@
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/libs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set1.d.xml" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set2.d.xml" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set3.d.xml" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set4.d.xml" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set5.d.xml" />
+ <excludeFolder url="file://$MODULE_DIR$/build/set6.d.xml" />
+ <excludeFolder url="file://$MODULE_DIR$/build/slice2freezej.df.xml" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<content url="file://$MODULE_DIR$/../../java/test/src/main/java">
diff --git a/java/src/Ice/src/main/java/Ice/ConnectionI.java b/java/src/Ice/src/main/java/Ice/ConnectionI.java
index 57ec2b58b49..5a12142973e 100644
--- a/java/src/Ice/src/main/java/Ice/ConnectionI.java
+++ b/java/src/Ice/src/main/java/Ice/ConnectionI.java
@@ -2607,9 +2607,9 @@ public final class ConnectionI extends IceInternal.EventHandler
case IceInternal.Protocol.replyMsg:
{
-
IceInternal.TraceUtil.traceRecv(info.stream, _logger, _traceLevels);
info.requestId = info.stream.readInt();
+
IceInternal.OutgoingAsync outAsync = _asyncRequests.remove(info.requestId);
if(outAsync != null && outAsync.completed(info.stream))
{
@@ -2993,6 +2993,7 @@ public final class ConnectionI extends IceInternal.EventHandler
s.append(_endpoint.protocol());
s.append("\n");
s.append(toString());
+
_instance.initializationData().logger.trace(_instance.traceLevels().networkCat, s.toString());
}
return op;
diff --git a/java/src/Ice/src/main/java/IceInternal/EndpointHostResolver.java b/java/src/Ice/src/main/java/IceInternal/EndpointHostResolver.java
index 896eb21b8a1..e0ea6773d1b 100644
--- a/java/src/Ice/src/main/java/IceInternal/EndpointHostResolver.java
+++ b/java/src/Ice/src/main/java/IceInternal/EndpointHostResolver.java
@@ -211,7 +211,12 @@ class EndpointHostResolver
// Wait for the executor to terminate.
try
{
- _executor.awaitTermination(Long.MAX_VALUE, java.util.concurrent.TimeUnit.NANOSECONDS);
+ while(!_executor.isTerminated())
+ {
+ // A very long time.
+ _executor.awaitTermination(100000, java.util.concurrent.TimeUnit.SECONDS);
+ }
+
}
finally
{
diff --git a/java/src/Ice/src/main/java/IceInternal/Instance.java b/java/src/Ice/src/main/java/IceInternal/Instance.java
index ebe7dd118df..0fa1a9d77bc 100644
--- a/java/src/Ice/src/main/java/IceInternal/Instance.java
+++ b/java/src/Ice/src/main/java/IceInternal/Instance.java
@@ -129,7 +129,11 @@ public final class Instance
throws InterruptedException
{
shutdown();
- awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
+ while(!isTerminated())
+ {
+ // A very long time.
+ awaitTermination(100000, java.util.concurrent.TimeUnit.SECONDS);
+ }
}
private final ThreadObserverHelper _observerHelper;
@@ -727,6 +731,12 @@ public final class Instance
return Util.findClass(className, _initData.classLoader);
}
+ public ClassLoader
+ getClassLoader()
+ {
+ return _initData.classLoader;
+ }
+
public synchronized String
getClassForType(String type)
{
@@ -991,7 +1001,9 @@ public final class Instance
//
// If Ice.ThreadInterruptSafe is set or we're running on Android all
- // IO is done on the background thread.
+ // IO is done on the background thread. For Android we use the queue
+ // executor as Android doesn't allow any network invocations on the main
+ // thread even if the call is non-blocking.
//
if(_initData.properties.getPropertyAsInt("Ice.ThreadInterruptSafe") > 0 || Util.isAndroid())
{
@@ -1342,7 +1354,11 @@ public final class Instance
}
if(_timer != null)
{
- _timer.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
+ while(!_timer.isTerminated())
+ {
+ // A very long time.
+ _timer.awaitTermination(100000, java.util.concurrent.TimeUnit.SECONDS);
+ }
}
}
catch(InterruptedException ex)
diff --git a/java/src/Ice/src/main/java/IceInternal/StreamSocket.java b/java/src/Ice/src/main/java/IceInternal/StreamSocket.java
index 9ab185a42d5..c0be3b3ba61 100644
--- a/java/src/Ice/src/main/java/IceInternal/StreamSocket.java
+++ b/java/src/Ice/src/main/java/IceInternal/StreamSocket.java
@@ -11,11 +11,12 @@ package IceInternal;
public class StreamSocket
{
- public StreamSocket(ProtocolInstance instance,
+ public StreamSocket(ProtocolInstance instance,
NetworkProxy proxy,
java.net.InetSocketAddress addr,
java.net.InetSocketAddress sourceAddr)
{
+ _instance = instance;
_proxy = proxy;
_addr = addr;
_fd = Network.createTcpSocket();
@@ -23,7 +24,7 @@ public class StreamSocket
try
{
- init(instance);
+ init();
if(Network.doConnect(_fd, _proxy != null ? _proxy.getAddress() : _addr, sourceAddr))
{
_state = StateConnected;
@@ -41,6 +42,7 @@ public class StreamSocket
public StreamSocket(ProtocolInstance instance, java.nio.channels.SocketChannel fd)
{
+ _instance = instance;
_proxy = null;
_addr = null;
_fd = fd;
@@ -48,7 +50,7 @@ public class StreamSocket
try
{
- init(instance);
+ init();
}
catch(Exception ex)
{
@@ -174,11 +176,7 @@ public class StreamSocket
assert(_fd != null);
int read = 0;
- if(_buffer != null && _buffer.hasRemaining())
- {
- read = readBuffered(buf);
- }
-
+
while(buf.hasRemaining())
{
try
@@ -192,7 +190,7 @@ public class StreamSocket
{
return read;
}
-
+
read += ret;
}
catch(java.io.InterruptedIOException ex)
@@ -274,10 +272,10 @@ public class StreamSocket
return _desc;
}
- private void init(ProtocolInstance instance)
+ private void init()
{
Network.setBlock(_fd, false);
- Network.setTcpBufSize(_fd, instance.properties(), instance.logger());
+ Network.setTcpBufSize(_fd, _instance.properties(), _instance.logger());
if(System.getProperty("os.name").startsWith("Windows"))
{
@@ -294,28 +292,6 @@ public class StreamSocket
}
}
- private int readBuffered(java.nio.ByteBuffer buf)
- {
- assert(_buffer != null);
- int length = buf.remaining();
- if(length < _buffer.remaining())
- {
- int limit = _buffer.limit();
- _buffer.limit(_buffer.position() + length);
- buf.put(_buffer);
- _buffer.position(_buffer.limit());
- _buffer.limit(limit);
- return length;
- }
- else
- {
- int read = _buffer.remaining();
- buf.put(_buffer);
- _buffer.clear();
- return read;
- }
- }
-
private int toState(int operation)
{
switch(operation)
@@ -329,6 +305,8 @@ public class StreamSocket
}
}
+ private final ProtocolInstance _instance;
+
final private NetworkProxy _proxy;
final private java.net.InetSocketAddress _addr;
@@ -336,7 +314,6 @@ public class StreamSocket
private int _maxSendPacketSize;
private int _state;
private String _desc;
- private java.nio.ByteBuffer _buffer;
private static final int StateNeedConnect = 0;
private static final int StateConnectPending = 1;
diff --git a/java/src/Ice/src/main/java/IceInternal/TraceUtil.java b/java/src/Ice/src/main/java/IceInternal/TraceUtil.java
index f3c269aa9d5..6af4c41de3b 100644
--- a/java/src/Ice/src/main/java/IceInternal/TraceUtil.java
+++ b/java/src/Ice/src/main/java/IceInternal/TraceUtil.java
@@ -303,7 +303,7 @@ public final class TraceUtil
try
{
byte mode = stream.readByte();
- out.write("\nmode = " + (int)mode + ' ');
+ out.write("\nmode = " + (int) mode + ' ');
switch(Ice.OperationMode.values()[mode])
{
case Normal:
@@ -337,7 +337,7 @@ public final class TraceUtil
{
String key = stream.readString();
String value = stream.readString();
- out.write(key + '/'+ value);
+ out.write(key + '/' + value);
if(sz > 0)
{
out.write(", ");
diff --git a/java/src/Ice/src/main/java/IceSSL/SSLEngine.java b/java/src/Ice/src/main/java/IceSSL/SSLEngine.java
index 5601d3f2312..9e121635fc8 100644
--- a/java/src/Ice/src/main/java/IceSSL/SSLEngine.java
+++ b/java/src/Ice/src/main/java/IceSSL/SSLEngine.java
@@ -48,7 +48,7 @@ class SSLEngine
// Protocols selects which protocols to enable, by default we only enable TLS1.0
// TLS1.1 and TLS1.2 to avoid security issues with SSLv3
//
- String[] protocols =
+ String[] protocols =
properties.getPropertyAsListWithDefault(prefix + "Protocols", new String[]{"tls1_0", "tls1_1", "tls1_2"});
if(protocols.length != 0)
{
diff --git a/java/src/Ice/src/main/java/IceSSL/TransceiverI.java b/java/src/Ice/src/main/java/IceSSL/TransceiverI.java
index 937d6cea068..7799dcf2caa 100644
--- a/java/src/Ice/src/main/java/IceSSL/TransceiverI.java
+++ b/java/src/Ice/src/main/java/IceSSL/TransceiverI.java
@@ -184,14 +184,17 @@ final class TransceiverI implements IceInternal.Transceiver
_netInput.flip();
SSLEngineResult result = _engine.unwrap(_netInput, _appInput);
_netInput.compact();
- switch(result.getStatus())
- {
- case BUFFER_OVERFLOW:
+
+ Status status = result.getStatus();
+ assert status != Status.BUFFER_OVERFLOW;
+
+ if(status == Status.CLOSED)
{
- assert(false);
- break;
+ throw new Ice.ConnectionLostException();
}
- case BUFFER_UNDERFLOW:
+ // Android API 21 SSLEngine doesn't report underflow, so look at the absence of
+ // network data and application data to signal a network read.
+ else if(status == Status.BUFFER_UNDERFLOW || (_appInput.position() == 0 && _netInput.position() == 0))
{
if(_stream.read(_netInput) == 0)
{
@@ -199,15 +202,6 @@ final class TransceiverI implements IceInternal.Transceiver
}
continue;
}
- case CLOSED:
- {
- throw new Ice.ConnectionLostException();
- }
- case OK:
- {
- break;
- }
- }
fill(buf.b);
}
@@ -220,7 +214,8 @@ final class TransceiverI implements IceInternal.Transceiver
//
// Return a boolean to indicate whether more data is available.
//
- moreData.value = _netInput.position() > 0;
+ moreData.value = _netInput.position() > 0 || _appInput.position() > 0;
+
return IceInternal.SocketOperation.None;
}
@@ -325,7 +320,7 @@ final class TransceiverI implements IceInternal.Transceiver
try
{
HandshakeStatus status = _engine.getHandshakeStatus();
- while(true)
+ while(!_engine.isOutboundDone() && !_engine.isInboundDone())
{
SSLEngineResult result = null;
switch(status)
@@ -347,6 +342,11 @@ final class TransceiverI implements IceInternal.Transceiver
}
case NEED_UNWRAP:
{
+ if(_netInput.position() == 0 && _stream.read(_netInput) == 0)
+ {
+ return IceInternal.SocketOperation.Read;
+ }
+
//
// The engine needs more data. We might already have enough data in
// the _netInput buffer to satisfy the engine. If not, the engine
@@ -396,6 +396,7 @@ final class TransceiverI implements IceInternal.Transceiver
{
return IceInternal.SocketOperation.Write;
}
+
//
// FINISHED is only returned from wrap or unwrap, not from engine.getHandshakeResult().
//
@@ -427,6 +428,7 @@ final class TransceiverI implements IceInternal.Transceiver
{
throw new Ice.SecurityException("IceSSL: handshake error", ex);
}
+ return IceInternal.SocketOperation.None;
}
private int writeNonBlocking(ByteBuffer buf)
@@ -445,6 +447,7 @@ final class TransceiverI implements IceInternal.Transceiver
//
// Encrypt the buffer.
//
+ int position = _netOutput.position();
SSLEngineResult result = _engine.wrap(buf, _netOutput);
switch(result.getStatus())
{
diff --git a/java/test/src/main/java/test/Freeze/evictor/Client.java b/java/test/src/main/java/test/Freeze/evictor/Client.java
index 82f8c8c3265..4de8cf8b1bc 100644
--- a/java/test/src/main/java/test/Freeze/evictor/Client.java
+++ b/java/test/src/main/java/test/Freeze/evictor/Client.java
@@ -1040,7 +1040,7 @@ public class Client extends test.Util.Application
protected Ice.InitializationData
getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Freeze.evictor");
return initData;
diff --git a/java/test/src/main/java/test/Freeze/evictor/Server.java b/java/test/src/main/java/test/Freeze/evictor/Server.java
index e457fdf619e..f296e288d86 100644
--- a/java/test/src/main/java/test/Freeze/evictor/Server.java
+++ b/java/test/src/main/java/test/Freeze/evictor/Server.java
@@ -85,7 +85,7 @@ public class Server extends test.Util.Application
protected Ice.InitializationData
getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Evictor.Endpoints", "default -p 12010");
initData.properties.setProperty("Ice.Package.Test", "test.Freeze.evictor");
diff --git a/java/test/src/main/java/test/Glacier2/router/Client.java b/java/test/src/main/java/test/Glacier2/router/Client.java
index 257e81c12cd..4a05d8eb0cb 100644
--- a/java/test/src/main/java/test/Glacier2/router/Client.java
+++ b/java/test/src/main/java/test/Glacier2/router/Client.java
@@ -463,7 +463,7 @@ public class Client extends test.Util.Application
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Warn.Dispatch", "0");
initData.properties.setProperty("Ice.Warn.Connections", "0");
diff --git a/java/test/src/main/java/test/Glacier2/router/Server.java b/java/test/src/main/java/test/Glacier2/router/Server.java
index 78ad7b573ce..e2182c1a091 100644
--- a/java/test/src/main/java/test/Glacier2/router/Server.java
+++ b/java/test/src/main/java/test/Glacier2/router/Server.java
@@ -32,7 +32,7 @@ public class Server extends test.Util.Application
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Glacier2.router");
diff --git a/java/test/src/main/java/test/Glacier2/sessionHelper/Client.java b/java/test/src/main/java/test/Glacier2/sessionHelper/Client.java
index f61f84d0051..64ac7dafdf0 100644
--- a/java/test/src/main/java/test/Glacier2/sessionHelper/Client.java
+++ b/java/test/src/main/java/test/Glacier2/sessionHelper/Client.java
@@ -34,7 +34,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- _initData = new Ice.InitializationData();
+ _initData = createInitializationData();
_initData.properties = Ice.Util.createProperties(argsH);
_initData.properties.setProperty("Ice.Default.Router", "Glacier2/router:default -p 12347");
_initData.dispatcher = new Ice.Dispatcher()
diff --git a/java/test/src/main/java/test/Glacier2/sessionHelper/Server.java b/java/test/src/main/java/test/Glacier2/sessionHelper/Server.java
index d0cfd717a14..0429387cb80 100644
--- a/java/test/src/main/java/test/Glacier2/sessionHelper/Server.java
+++ b/java/test/src/main/java/test/Glacier2/sessionHelper/Server.java
@@ -25,7 +25,7 @@ public class Server extends test.Util.Application
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Glacier2.router");
diff --git a/java/test/src/main/java/test/Ice/acm/AllTests.java b/java/test/src/main/java/test/Ice/acm/AllTests.java
index a700cdb26b6..4a219511f65 100644
--- a/java/test/src/main/java/test/Ice/acm/AllTests.java
+++ b/java/test/src/main/java/test/Ice/acm/AllTests.java
@@ -16,9 +16,11 @@ import test.Ice.acm.Test.RemoteCommunicatorPrxHelper;
import test.Ice.acm.Test.RemoteObjectAdapterPrx;
import test.Ice.acm.Test.TestIntfPrx;
import test.Ice.acm.Test.TestIntfPrxHelper;
+import test.Util.Application;
public class AllTests
{
+ private static Ice.Communicator communicator;
private static void
test(boolean b)
{
@@ -118,8 +120,9 @@ public class AllTests
static abstract class TestCase implements Ice.ConnectionCallback
{
- public TestCase(String name, RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public TestCase(Application app, String name, RemoteCommunicatorPrx com, PrintWriter out)
{
+ _app = app;
_name = name;
_com = com;
_logger = new LoggerI(out);
@@ -141,7 +144,8 @@ public class AllTests
_adapter = _com.createObjectAdapter(_serverACMTimeout, _serverACMClose, _serverACMHeartbeat);
Ice.InitializationData initData = new Ice.InitializationData();
- initData.properties = _com.ice_getCommunicator().getProperties()._clone();
+ initData.classLoader = IceInternal.Util.getInstance(_app.communicator()).getClassLoader();
+ initData.properties = _app.communicator().getProperties()._clone();
initData.logger = _logger;
initData.properties.setProperty("Ice.ACM.Timeout", "1");
if(_clientACMTimeout >= 0)
@@ -158,7 +162,7 @@ public class AllTests
}
//initData.properties.setProperty("Ice.Trace.Protocol", "2");
//initData.properties.setProperty("Ice.Trace.Network", "2");
- _communicator = Ice.Util.initialize(initData);
+ _communicator = _app.initialize(initData);
_thread = new Thread(
new Runnable()
@@ -247,6 +251,7 @@ public class AllTests
_serverACMHeartbeat = heartbeat;
}
+ private final Application _app;
private String _name;
private RemoteCommunicatorPrx _com;
private String _msg;
@@ -269,9 +274,9 @@ public class AllTests
static class InvocationHeartbeatTest extends TestCase
{
- public InvocationHeartbeatTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public InvocationHeartbeatTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("invocation heartbeat", com, out);
+ super(app, "invocation heartbeat", com, out);
}
public void runTestCase(RemoteObjectAdapterPrx adapter, TestIntfPrx proxy)
@@ -279,13 +284,13 @@ public class AllTests
proxy.sleep(2);
test(_heartbeat >= 2);
}
- };
+ }
static class InvocationHeartbeatOnHoldTest extends TestCase
{
- public InvocationHeartbeatOnHoldTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public InvocationHeartbeatOnHoldTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("invocation with heartbeat on hold", com, out);
+ super(app, "invocation with heartbeat on hold", com, out);
// Use default ACM configuration.
}
@@ -310,13 +315,13 @@ public class AllTests
}
}
}
- };
+ }
static class InvocationNoHeartbeatTest extends TestCase
{
- public InvocationNoHeartbeatTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public InvocationNoHeartbeatTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("invocation with no heartbeat", com, out);
+ super(app, "invocation with no heartbeat", com, out);
setServerACM(1, 2, 0); // Disable heartbeat on invocations
}
@@ -341,13 +346,13 @@ public class AllTests
}
}
}
- };
+ }
static class InvocationHeartbeatCloseOnIdleTest extends TestCase
{
- public InvocationHeartbeatCloseOnIdleTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public InvocationHeartbeatCloseOnIdleTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("invocation with no heartbeat and close on idle", com, out);
+ super(app, "invocation with no heartbeat and close on idle", com, out);
setClientACM(1, 1, 0); // Only close on idle.
setServerACM(1, 2, 0); // Disable heartbeat on invocations
}
@@ -364,13 +369,13 @@ public class AllTests
test(!_closed);
}
}
- };
+ }
static class CloseOnIdleTest extends TestCase
{
- public CloseOnIdleTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public CloseOnIdleTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("close on idle", com, out);
+ super(app, "close on idle", com, out);
setClientACM(1, 1, 0); // Only close on idle
}
@@ -390,13 +395,13 @@ public class AllTests
test(_closed);
}
}
- };
+ }
static class CloseOnInvocationTest extends TestCase
{
- public CloseOnInvocationTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public CloseOnInvocationTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("close on invocation", com, out);
+ super(app, "close on invocation", com, out);
setClientACM(1, 2, 0); // Only close on invocation
}
@@ -416,13 +421,13 @@ public class AllTests
test(!_closed);
}
}
- };
+ }
static class CloseOnIdleAndInvocationTest extends TestCase
{
- public CloseOnIdleAndInvocationTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public CloseOnIdleAndInvocationTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("close on idle and invocation", com, out);
+ super(app, "close on idle and invocation", com, out);
setClientACM(1, 3, 0); // Only close on idle and invocation
}
@@ -462,13 +467,13 @@ public class AllTests
test(_closed); // Connection should be closed this time.
}
}
- };
+ }
static class ForcefulCloseOnIdleAndInvocationTest extends TestCase
{
- public ForcefulCloseOnIdleAndInvocationTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public ForcefulCloseOnIdleAndInvocationTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("forceful close on idle and invocation", com, out);
+ super(app, "forceful close on idle and invocation", com, out);
setClientACM(1, 4, 0); // Only close on idle and invocation
}
@@ -489,13 +494,13 @@ public class AllTests
test(_closed); // Connection closed forcefully by ACM
}
}
- };
+ }
static class HeartbeatOnIdleTest extends TestCase
{
- public HeartbeatOnIdleTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public HeartbeatOnIdleTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("heartbeat on idle", com, out);
+ super(app, "heartbeat on idle", com, out);
setServerACM(1, -1, 2); // Enable server heartbeats.
}
@@ -514,13 +519,13 @@ public class AllTests
test(_heartbeat >= 3);
}
}
- };
+ }
static class HeartbeatAlwaysTest extends TestCase
{
- public HeartbeatAlwaysTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public HeartbeatAlwaysTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("heartbeat always", com, out);
+ super(app, "heartbeat always", com, out);
setServerACM(1, -1, 3); // Enable server heartbeats.
}
@@ -543,13 +548,13 @@ public class AllTests
test(_heartbeat >= 3);
}
}
- };
+ }
static class SetACMTest extends TestCase
{
- public SetACMTest(RemoteCommunicatorPrx com, java.io.PrintWriter out)
+ public SetACMTest(Application app, RemoteCommunicatorPrx com, java.io.PrintWriter out)
{
- super("setACM/getACM", com, out);
+ super(app, "setACM/getACM", com, out);
setClientACM(15, 4, 2);
}
@@ -576,29 +581,30 @@ public class AllTests
test(acm.close == Ice.ACMClose.CloseOnInvocationAndIdle);
test(acm.heartbeat == Ice.ACMHeartbeat.HeartbeatOnInvocation);
}
- };
+ }
public static void
- allTests(Ice.Communicator communicator, PrintWriter out)
+ allTests(test.Util.Application app, PrintWriter out)
{
+ Ice.Communicator communicator = app.communicator();
String ref = "communicator:default -p 12010";
RemoteCommunicatorPrx com = RemoteCommunicatorPrxHelper.uncheckedCast(communicator.stringToProxy(ref));
java.util.List<TestCase> tests = new java.util.ArrayList<TestCase>();
- tests.add(new InvocationHeartbeatTest(com, out));
- tests.add(new InvocationHeartbeatOnHoldTest(com, out));
- tests.add(new InvocationNoHeartbeatTest(com, out));
- tests.add(new InvocationHeartbeatCloseOnIdleTest(com, out));
+ tests.add(new InvocationHeartbeatTest(app, com, out));
+ tests.add(new InvocationHeartbeatOnHoldTest(app, com, out));
+ tests.add(new InvocationNoHeartbeatTest(app, com, out));
+ tests.add(new InvocationHeartbeatCloseOnIdleTest(app, com, out));
- tests.add(new CloseOnIdleTest(com, out));
- tests.add(new CloseOnInvocationTest(com, out));
- tests.add(new CloseOnIdleAndInvocationTest(com, out));
- tests.add(new ForcefulCloseOnIdleAndInvocationTest(com, out));
+ tests.add(new CloseOnIdleTest(app, com, out));
+ tests.add(new CloseOnInvocationTest(app, com, out));
+ tests.add(new CloseOnIdleAndInvocationTest(app, com, out));
+ tests.add(new ForcefulCloseOnIdleAndInvocationTest(app, com, out));
- tests.add(new HeartbeatOnIdleTest(com, out));
- tests.add(new HeartbeatAlwaysTest(com, out));
- tests.add(new SetACMTest(com, out));
+ tests.add(new HeartbeatOnIdleTest(app, com, out));
+ tests.add(new HeartbeatAlwaysTest(app, com, out));
+ tests.add(new SetACMTest(app, com, out));
for(TestCase test : tests)
{
diff --git a/java/test/src/main/java/test/Ice/acm/Client.java b/java/test/src/main/java/test/Ice/acm/Client.java
index c6045f9a6ca..192716c7817 100644
--- a/java/test/src/main/java/test/Ice/acm/Client.java
+++ b/java/test/src/main/java/test/Ice/acm/Client.java
@@ -13,13 +13,13 @@ public class Client extends test.Util.Application
{
public int run(String[] args)
{
- AllTests.allTests(communicator(), getWriter());
+ AllTests.allTests(this, getWriter());
return 0;
}
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.acm");
initData.properties.setProperty("Ice.Warn.Connections", "0");
diff --git a/java/test/src/main/java/test/Ice/acm/Server.java b/java/test/src/main/java/test/Ice/acm/Server.java
index e267b9fa498..9b98038e083 100644
--- a/java/test/src/main/java/test/Ice/acm/Server.java
+++ b/java/test/src/main/java/test/Ice/acm/Server.java
@@ -28,7 +28,7 @@ public class Server extends test.Util.Application
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.acm");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/adapterDeactivation/AllTests.java b/java/test/src/main/java/test/Ice/adapterDeactivation/AllTests.java
index 05cbc8f3d59..09dfee83406 100644
--- a/java/test/src/main/java/test/Ice/adapterDeactivation/AllTests.java
+++ b/java/test/src/main/java/test/Ice/adapterDeactivation/AllTests.java
@@ -24,8 +24,9 @@ public class AllTests
}
public static TestIntfPrx
- allTests(Ice.Communicator communicator, java.io.PrintWriter out)
+ allTests(test.Util.Application app, java.io.PrintWriter out)
{
+ Ice.Communicator communicator = app.communicator();
out.print("testing stringToProxy... ");
out.flush();
String ref = "test:default -p 12010";
@@ -73,8 +74,9 @@ public class AllTests
for(int i = 0; i < 10; ++i)
{
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
- Ice.Communicator comm = Ice.Util.initialize(initData);
+ Ice.Communicator comm = app.initialize(initData);
comm.stringToProxy("test:default -p 12010").begin_ice_ping();
comm.destroy();
}
diff --git a/java/test/src/main/java/test/Ice/adapterDeactivation/Client.java b/java/test/src/main/java/test/Ice/adapterDeactivation/Client.java
index d5e66de93b6..98c362fa1b6 100644
--- a/java/test/src/main/java/test/Ice/adapterDeactivation/Client.java
+++ b/java/test/src/main/java/test/Ice/adapterDeactivation/Client.java
@@ -14,13 +14,13 @@ public class Client extends test.Util.Application
public int
run(String[] args)
{
- AllTests.allTests(communicator(), getWriter());
+ AllTests.allTests(this, getWriter());
return 0;
}
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.adapterDeactivation");
return initData;
diff --git a/java/test/src/main/java/test/Ice/adapterDeactivation/Collocated.java b/java/test/src/main/java/test/Ice/adapterDeactivation/Collocated.java
index 2ddd551b6ac..1b440ea3beb 100644
--- a/java/test/src/main/java/test/Ice/adapterDeactivation/Collocated.java
+++ b/java/test/src/main/java/test/Ice/adapterDeactivation/Collocated.java
@@ -18,7 +18,7 @@ public class Collocated extends test.Util.Application
Ice.ServantLocator locator = new ServantLocatorI();
adapter.addServantLocator(locator, "");
- AllTests.allTests(communicator(), getWriter());
+ AllTests.allTests(this, getWriter());
adapter.waitForDeactivate();
return 0;
@@ -26,9 +26,9 @@ public class Collocated extends test.Util.Application
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
- if(initData.properties.getPropertyAsInt("Ice.ThreadInterruptSafe") > 0)
+ if(initData.properties.getPropertyAsInt("Ice.ThreadInterruptSafe") > 0 || isAndroid())
{
initData.properties.setProperty("Ice.ThreadPool.Server.Size", "2");
}
diff --git a/java/test/src/main/java/test/Ice/adapterDeactivation/Server.java b/java/test/src/main/java/test/Ice/adapterDeactivation/Server.java
index 56d9ccd5c6b..60cdba6b7c6 100644
--- a/java/test/src/main/java/test/Ice/adapterDeactivation/Server.java
+++ b/java/test/src/main/java/test/Ice/adapterDeactivation/Server.java
@@ -26,7 +26,7 @@ public class Server extends test.Util.Application
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.adapterDeactivation");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010:udp");
diff --git a/java/test/src/main/java/test/Ice/admin/AllTests.java b/java/test/src/main/java/test/Ice/admin/AllTests.java
index abc85ce0b86..93e72d1ccd0 100644
--- a/java/test/src/main/java/test/Ice/admin/AllTests.java
+++ b/java/test/src/main/java/test/Ice/admin/AllTests.java
@@ -108,7 +108,7 @@ public class AllTests
//
// Test: Exercise addAdminFacet, findAdminFacet, removeAdminFacet with a typical configuration.
//
- Ice.InitializationData init = new Ice.InitializationData();
+ Ice.InitializationData init = app.createInitializationData();
init.properties = Ice.Util.createProperties();
init.properties.setProperty("Ice.Admin.Endpoints", "tcp -h 127.0.0.1");
init.properties.setProperty("Ice.Admin.InstanceName", "Test");
@@ -120,7 +120,7 @@ public class AllTests
//
// Test: Verify that the operations work correctly in the presence of facet filters.
//
- Ice.InitializationData init = new Ice.InitializationData();
+ Ice.InitializationData init = app.createInitializationData();
init.properties = Ice.Util.createProperties();
init.properties.setProperty("Ice.Admin.Endpoints", "tcp -h 127.0.0.1");
init.properties.setProperty("Ice.Admin.InstanceName", "Test");
@@ -141,7 +141,7 @@ public class AllTests
//
// Test: Verify that the operations work correctly when Ice.Admin.Enabled is set
//
- Ice.InitializationData init = new Ice.InitializationData();
+ Ice.InitializationData init = app.createInitializationData();
init.properties = Ice.Util.createProperties();
init.properties.setProperty("Ice.Admin.Enabled", "1");
Ice.Communicator com = Ice.Util.initialize(init);
@@ -167,7 +167,7 @@ public class AllTests
//
// Test: Verify that the operations work correctly when creation of the Admin object is delayed.
//
- Ice.InitializationData init = new Ice.InitializationData();
+ Ice.InitializationData init = app.createInitializationData();
init.properties = Ice.Util.createProperties();
init.properties.setProperty("Ice.Admin.Endpoints", "tcp -h 127.0.0.1");
init.properties.setProperty("Ice.Admin.InstanceName", "Test");
diff --git a/java/test/src/main/java/test/Ice/admin/RemoteCommunicatorFactoryI.java b/java/test/src/main/java/test/Ice/admin/RemoteCommunicatorFactoryI.java
index 3100081f816..64242e524be 100644
--- a/java/test/src/main/java/test/Ice/admin/RemoteCommunicatorFactoryI.java
+++ b/java/test/src/main/java/test/Ice/admin/RemoteCommunicatorFactoryI.java
@@ -19,16 +19,17 @@ public class RemoteCommunicatorFactoryI extends _RemoteCommunicatorFactoryDisp
//
// Prepare the property set using the given properties.
//
- Ice.InitializationData init = new Ice.InitializationData();
- init.properties = Ice.Util.createProperties();
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(current.adapter.getCommunicator()).getClassLoader();
+ initData.properties = Ice.Util.createProperties();
for(java.util.Map.Entry<String, String> e : props.entrySet())
{
- init.properties.setProperty(e.getKey(), e.getValue());
+ initData.properties.setProperty(e.getKey(), e.getValue());
}
- if(init.properties.getPropertyAsInt("NullLogger") > 0)
+ if(initData.properties.getPropertyAsInt("NullLogger") > 0)
{
- init.logger = new Ice.Logger() {
+ initData.logger = new Ice.Logger() {
@Override public void print(String message)
{
}
@@ -60,7 +61,7 @@ public class RemoteCommunicatorFactoryI extends _RemoteCommunicatorFactoryDisp
//
// Initialize a new communicator.
//
- Ice.Communicator communicator = Ice.Util.initialize(init);
+ Ice.Communicator communicator = Ice.Util.initialize(initData);
//
// Install a custom admin facet.
diff --git a/java/test/src/main/java/test/Ice/admin/Server.java b/java/test/src/main/java/test/Ice/admin/Server.java
index a29e6a6d5a2..0f9b4222509 100644
--- a/java/test/src/main/java/test/Ice/admin/Server.java
+++ b/java/test/src/main/java/test/Ice/admin/Server.java
@@ -24,7 +24,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.proxy");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010:udp");
diff --git a/java/test/src/main/java/test/Ice/ami/AMI.java b/java/test/src/main/java/test/Ice/ami/AMI.java
index 14384350c7f..4b35e6b0363 100644
--- a/java/test/src/main/java/test/Ice/ami/AMI.java
+++ b/java/test/src/main/java/test/Ice/ami/AMI.java
@@ -23,6 +23,33 @@ import test.Util.Application;
public class AMI
{
+ private static class Counter
+ {
+ private int _count = 0;
+
+ synchronized void decrement()
+ {
+ --_count;
+ if(_count == 0)
+ {
+ notifyAll();
+ }
+ }
+
+ synchronized void increment()
+ {
+ ++_count;
+ }
+
+ synchronized void waitComplete() throws InterruptedException
+ {
+ while(_count > 0)
+ {
+ wait();
+ }
+ }
+ }
+
private static void
test(boolean b)
{
@@ -1145,6 +1172,7 @@ public class AMI
if(p.ice_getConnection() != null)
{
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
Ice.Communicator ic = app.initialize(initData);
Ice.ObjectPrx o = ic.stringToProxy(p.toString());
@@ -1366,146 +1394,146 @@ public class AMI
final SentCallback cb = new SentCallback();
p.begin_ice_isA("", new Ice.Callback_Object_ice_isA()
+ {
+ @Override
+ public void
+ response(boolean r)
{
- @Override
- public void
- response(boolean r)
- {
- cb.isA(r);
- }
+ cb.isA(r);
+ }
- @Override
- public void
- exception(Ice.LocalException ex)
- {
- cb.ex(ex);
- }
+ @Override
+ public void
+ exception(Ice.LocalException ex)
+ {
+ cb.ex(ex);
+ }
- @Override
- public void
- sent(boolean ss)
- {
- cb.sent(ss);
- }
- });
+ @Override
+ public void
+ sent(boolean ss)
+ {
+ cb.sent(ss);
+ }
+ });
cb.check();
p.begin_ice_ping(new Ice.Callback_Object_ice_ping()
+ {
+ @Override
+ public void
+ response()
{
- @Override
- public void
- response()
- {
- cb.ping();
- }
+ cb.ping();
+ }
- @Override
- public void
- exception(Ice.LocalException ex)
- {
- cb.ex(ex);
- }
+ @Override
+ public void
+ exception(Ice.LocalException ex)
+ {
+ cb.ex(ex);
+ }
- @Override
- public void
- sent(boolean ss)
- {
- cb.sent(ss);
- }
- });
+ @Override
+ public void
+ sent(boolean ss)
+ {
+ cb.sent(ss);
+ }
+ });
cb.check();
p.begin_ice_id(new Ice.Callback_Object_ice_id()
+ {
+ @Override
+ public void
+ response(String id)
{
- @Override
- public void
- response(String id)
- {
- cb.id(id);
- }
+ cb.id(id);
+ }
- @Override
- public void
- exception(Ice.LocalException ex)
- {
- cb.ex(ex);
- }
+ @Override
+ public void
+ exception(Ice.LocalException ex)
+ {
+ cb.ex(ex);
+ }
- @Override
- public void
- sent(boolean ss)
- {
- cb.sent(ss);
- }
- });
+ @Override
+ public void
+ sent(boolean ss)
+ {
+ cb.sent(ss);
+ }
+ });
cb.check();
p.begin_ice_ids(new Ice.Callback_Object_ice_ids()
+ {
+ @Override
+ public void
+ response(String[] ids)
{
- @Override
- public void
- response(String[] ids)
- {
- cb.ids(ids);
- }
+ cb.ids(ids);
+ }
- @Override
- public void
- exception(Ice.LocalException ex)
- {
- cb.ex(ex);
- }
+ @Override
+ public void
+ exception(Ice.LocalException ex)
+ {
+ cb.ex(ex);
+ }
- @Override
- public void
- sent(boolean ss)
- {
- cb.sent(ss);
- }
- });
+ @Override
+ public void
+ sent(boolean ss)
+ {
+ cb.sent(ss);
+ }
+ });
cb.check();
p.begin_op(new Callback_TestIntf_op()
+ {
+ @Override
+ public void
+ response()
{
- @Override
- public void
- response()
- {
- cb.op();
- }
+ cb.op();
+ }
- @Override
- public void
- exception(Ice.LocalException ex)
- {
- cb.ex(ex);
- }
+ @Override
+ public void
+ exception(Ice.LocalException ex)
+ {
+ cb.ex(ex);
+ }
- @Override
- public void
- sent(boolean ss)
- {
- cb.sent(ss);
- }
- });
+ @Override
+ public void
+ sent(boolean ss)
+ {
+ cb.sent(ss);
+ }
+ });
cb.check();
p.begin_op(new Ice.Callback()
+ {
+ @Override
+ public void
+ completed(Ice.AsyncResult result)
{
- @Override
- public void
- completed(Ice.AsyncResult result)
- {
- cb.opAsync(result);
- }
+ cb.opAsync(result);
+ }
- @Override
- public void
- sent(Ice.AsyncResult result)
- {
- cb.sent(result);
- }
- });
+ @Override
+ public void
+ sent(Ice.AsyncResult result)
+ {
+ cb.sent(result);
+ }
+ });
cb.check();
java.util.List<SentCallback> cbs = new java.util.ArrayList<SentCallback>();
@@ -1513,33 +1541,38 @@ public class AMI
new java.util.Random().nextBytes(seq); // Make sure the request doesn't compress too well.
Ice.AsyncResult r;
testController.holdAdapter();
+
+ final Counter counter = new Counter();
try
{
do
{
final SentCallback cb2 = new SentCallback();
r = p.begin_opWithPayload(seq, new Callback_TestIntf_opWithPayload()
+ {
+ @Override
+ public void
+ response()
{
- @Override
- public void
- response()
- {
- }
-
- @Override
- public void
- exception(Ice.LocalException ex)
- {
- cb2.ex(ex);
- }
+ counter.decrement();
+ }
- @Override
- public void
- sent(boolean ss)
- {
- cb2.sent(ss);
- }
- });
+ @Override
+ public void
+ exception(Ice.LocalException ex)
+ {
+ counter.decrement();
+ cb2.ex(ex);
+ }
+
+ @Override
+ public void
+ sent(boolean ss)
+ {
+ cb2.sent(ss);
+ }
+ });
+ counter.increment();
cbs.add(cb2);
}
while(r.sentSynchronously());
@@ -1552,6 +1585,13 @@ public class AMI
{
cb3.check();
}
+ try
+ {
+ counter.waitComplete();
+ }
+ catch(InterruptedException e)
+ {
+ }
}
out.println("ok");
diff --git a/java/test/src/main/java/test/Ice/ami/Client.java b/java/test/src/main/java/test/Ice/ami/Client.java
index 3e547a17ec0..5aeff920530 100644
--- a/java/test/src/main/java/test/Ice/ami/Client.java
+++ b/java/test/src/main/java/test/Ice/ami/Client.java
@@ -21,7 +21,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.ami");
initData.properties.setProperty("Ice.Warn.AMICallback", "0");
diff --git a/java/test/src/main/java/test/Ice/ami/Collocated.java b/java/test/src/main/java/test/Ice/ami/Collocated.java
index 227ccb25457..ae593ec9cf1 100644
--- a/java/test/src/main/java/test/Ice/ami/Collocated.java
+++ b/java/test/src/main/java/test/Ice/ami/Collocated.java
@@ -29,7 +29,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.ami");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/ami/Server.java b/java/test/src/main/java/test/Ice/ami/Server.java
index b22e052fa06..3a78eb875e7 100644
--- a/java/test/src/main/java/test/Ice/ami/Server.java
+++ b/java/test/src/main/java/test/Ice/ami/Server.java
@@ -29,7 +29,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.ami");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/background/Client.java b/java/test/src/main/java/test/Ice/background/Client.java
index 1955472ebab..98aa68487b8 100644
--- a/java/test/src/main/java/test/Ice/background/Client.java
+++ b/java/test/src/main/java/test/Ice/background/Client.java
@@ -30,7 +30,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
// For this test, we want to disable retries.
@@ -41,7 +41,6 @@ public class Client extends test.Util.Application
// This test kills connections, so we don't want warnings.
//
initData.properties.setProperty("Ice.Warn.Connections", "0");
-
initData.properties.setProperty("Ice.MessageSizeMax", "50000");
//
diff --git a/java/test/src/main/java/test/Ice/background/Collocated.java b/java/test/src/main/java/test/Ice/background/Collocated.java
index 7505dfefd58..74276e20abc 100644
--- a/java/test/src/main/java/test/Ice/background/Collocated.java
+++ b/java/test/src/main/java/test/Ice/background/Collocated.java
@@ -9,16 +9,29 @@
package test.Ice.background;
-public class Collocated
+public class Collocated extends test.Util.Application
{
static Thread _clientThread;
static int result;
- public static void
- main(String[] args)
+ public static void main(String[] args)
+ {
+ Collocated app = new Collocated();
+ int result = app.main("Collocated", args);
+ System.gc();
+ System.exit(result);
+ }
+
+ @Override
+ public int
+ run(String[] args)
{
final Client client = new Client();
+ client.setClassLoader(getClassLoader());
+ client.setWriter(getWriter());
final Server server = new Server();
+ server.setClassLoader(getClassLoader());
+ server.setWriter(getWriter());
Thread t = new Thread(new Runnable()
{
@Override
@@ -80,7 +93,7 @@ public class Collocated
catch(InterruptedException ex)
{
}
- System.gc();
- System.exit(result);
+
+ return 0;
}
}
diff --git a/java/test/src/main/java/test/Ice/background/Server.java b/java/test/src/main/java/test/Ice/background/Server.java
index b93c96e5d07..e6e959c1e46 100644
--- a/java/test/src/main/java/test/Ice/background/Server.java
+++ b/java/test/src/main/java/test/Ice/background/Server.java
@@ -109,14 +109,13 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
//
// This test kills connections, so we don't want warnings.
//
initData.properties.setProperty("Ice.Warn.Connections", "0");
-
initData.properties.setProperty("Ice.MessageSizeMax", "50000");
//
diff --git a/java/test/src/main/java/test/Ice/binding/AllTests.java b/java/test/src/main/java/test/Ice/binding/AllTests.java
index 88aa196b157..2217fcb247f 100644
--- a/java/test/src/main/java/test/Ice/binding/AllTests.java
+++ b/java/test/src/main/java/test/Ice/binding/AllTests.java
@@ -906,6 +906,7 @@ public class AllTests
for(Ice.Properties p : serverProps)
{
Ice.InitializationData serverInitData = new Ice.InitializationData();
+ serverInitData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
serverInitData.properties = p;
Ice.Communicator serverCommunicator = Ice.Util.initialize(serverInitData);
Ice.ObjectAdapter oa;
@@ -933,6 +934,7 @@ public class AllTests
for(Ice.Properties q : clientProps)
{
Ice.InitializationData clientInitData = new Ice.InitializationData();
+ clientInitData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
clientInitData.properties = q;
Ice.Communicator clientCommunicator = Ice.Util.initialize(clientInitData);
Ice.ObjectPrx prx = clientCommunicator.stringToProxy(strPrx);
diff --git a/java/test/src/main/java/test/Ice/binding/Client.java b/java/test/src/main/java/test/Ice/binding/Client.java
index 30d087baac3..e566234255d 100644
--- a/java/test/src/main/java/test/Ice/binding/Client.java
+++ b/java/test/src/main/java/test/Ice/binding/Client.java
@@ -21,7 +21,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.binding");
return initData;
diff --git a/java/test/src/main/java/test/Ice/binding/Server.java b/java/test/src/main/java/test/Ice/binding/Server.java
index 9c2926cdc3b..af9d5ad2afa 100644
--- a/java/test/src/main/java/test/Ice/binding/Server.java
+++ b/java/test/src/main/java/test/Ice/binding/Server.java
@@ -27,7 +27,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.binding");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010:udp");
diff --git a/java/test/src/main/java/test/Ice/checksum/Client.java b/java/test/src/main/java/test/Ice/checksum/Client.java
index 34d4f3ab1b8..44f97f41895 100644
--- a/java/test/src/main/java/test/Ice/checksum/Client.java
+++ b/java/test/src/main/java/test/Ice/checksum/Client.java
@@ -27,7 +27,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.checksum");
return initData;
diff --git a/java/test/src/main/java/test/Ice/checksum/Server.java b/java/test/src/main/java/test/Ice/checksum/Server.java
index c64042283e4..a0c0b023379 100644
--- a/java/test/src/main/java/test/Ice/checksum/Server.java
+++ b/java/test/src/main/java/test/Ice/checksum/Server.java
@@ -27,7 +27,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.checksum.server");
return initData;
diff --git a/java/test/src/main/java/test/Ice/classLoader/AllTests.java b/java/test/src/main/java/test/Ice/classLoader/AllTests.java
index d0181cff1a6..3259d47e51d 100644
--- a/java/test/src/main/java/test/Ice/classLoader/AllTests.java
+++ b/java/test/src/main/java/test/Ice/classLoader/AllTests.java
@@ -43,6 +43,10 @@ public class AllTests
private static class MyClassLoader extends ClassLoader
{
+ MyClassLoader(ClassLoader parent) {
+ super(parent);
+ }
+
@Override
protected Class<?> loadClass(String name, boolean resolve)
throws ClassNotFoundException
@@ -86,8 +90,9 @@ public class AllTests
out.print("testing package... ");
out.flush();
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
- MyClassLoader classLoader = new MyClassLoader();
+ MyClassLoader classLoader = new MyClassLoader(initData.classLoader);
initData.classLoader = classLoader;
Ice.Communicator ic = app.initialize(initData);
test(classLoader.check("test.Ice.classLoader.Test._Marker"));
@@ -102,9 +107,10 @@ public class AllTests
out.print("testing plug-in... ");
out.flush();
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("Ice.Plugin.Test", "test.Ice.classLoader.PluginFactoryI");
- MyClassLoader classLoader = new MyClassLoader();
+ MyClassLoader classLoader = new MyClassLoader(initData.classLoader);
initData.classLoader = classLoader;
Ice.Communicator ic = app.initialize(initData);
test(classLoader.check("test.Ice.classLoader.PluginFactoryI"));
@@ -120,10 +126,11 @@ public class AllTests
out.print("testing IceSSL certificate verifier and password callback... ");
out.flush();
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("IceSSL.CertVerifier", "test.Ice.classLoader.CertificateVerifierI");
initData.properties.setProperty("IceSSL.PasswordCallback", "test.Ice.classLoader.PasswordCallbackI");
- MyClassLoader classLoader = new MyClassLoader();
+ MyClassLoader classLoader = new MyClassLoader(initData.classLoader);
initData.classLoader = classLoader;
Ice.Communicator ic = app.initialize(initData);
test(classLoader.check("test.Ice.classLoader.CertificateVerifierI"));
@@ -137,8 +144,9 @@ public class AllTests
//
{
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
- MyClassLoader classLoader = new MyClassLoader();
+ MyClassLoader classLoader = new MyClassLoader(initData.classLoader);
initData.classLoader = classLoader;
Ice.Communicator ic = app.initialize(initData);
diff --git a/java/test/src/main/java/test/Ice/classLoader/Client.java b/java/test/src/main/java/test/Ice/classLoader/Client.java
index 20152d6b598..1a546da6b9d 100644
--- a/java/test/src/main/java/test/Ice/classLoader/Client.java
+++ b/java/test/src/main/java/test/Ice/classLoader/Client.java
@@ -21,7 +21,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- _initData = new Ice.InitializationData();
+ _initData = createInitializationData();
_initData.properties = Ice.Util.createProperties(argsH);
_initData.properties.setProperty("Ice.Package.Test", "test.Ice.classLoader");
return _initData;
diff --git a/java/test/src/main/java/test/Ice/classLoader/Server.java b/java/test/src/main/java/test/Ice/classLoader/Server.java
index 79abca86364..6041e4b031c 100644
--- a/java/test/src/main/java/test/Ice/classLoader/Server.java
+++ b/java/test/src/main/java/test/Ice/classLoader/Server.java
@@ -26,7 +26,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.classLoader");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/custom/Client.java b/java/test/src/main/java/test/Ice/custom/Client.java
index 17ad54b561f..ab1e8fd6eb8 100644
--- a/java/test/src/main/java/test/Ice/custom/Client.java
+++ b/java/test/src/main/java/test/Ice/custom/Client.java
@@ -25,7 +25,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.custom");
initData.properties.setProperty("Ice.CacheMessageBuffers", "0");
diff --git a/java/test/src/main/java/test/Ice/custom/Collocated.java b/java/test/src/main/java/test/Ice/custom/Collocated.java
index 2d8fd94f500..ce4dba24deb 100644
--- a/java/test/src/main/java/test/Ice/custom/Collocated.java
+++ b/java/test/src/main/java/test/Ice/custom/Collocated.java
@@ -27,7 +27,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.custom");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/custom/Server.java b/java/test/src/main/java/test/Ice/custom/Server.java
index fe959c086ff..db5f69378b8 100644
--- a/java/test/src/main/java/test/Ice/custom/Server.java
+++ b/java/test/src/main/java/test/Ice/custom/Server.java
@@ -27,7 +27,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.custom");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/dispatcher/Client.java b/java/test/src/main/java/test/Ice/dispatcher/Client.java
index 9b490d763c1..66074ff8205 100644
--- a/java/test/src/main/java/test/Ice/dispatcher/Client.java
+++ b/java/test/src/main/java/test/Ice/dispatcher/Client.java
@@ -23,7 +23,7 @@ public class Client extends test.Util.Application
{
assert(_dispatcher == null);
_dispatcher = new Dispatcher();
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.dispatcher");
initData.dispatcher = _dispatcher;
diff --git a/java/test/src/main/java/test/Ice/dispatcher/Collocated.java b/java/test/src/main/java/test/Ice/dispatcher/Collocated.java
index dfeb2f674a8..37e37db8d74 100644
--- a/java/test/src/main/java/test/Ice/dispatcher/Collocated.java
+++ b/java/test/src/main/java/test/Ice/dispatcher/Collocated.java
@@ -32,7 +32,7 @@ public class Collocated extends test.Util.Application
{
assert(_dispatcher == null);
_dispatcher = new Dispatcher();
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.dispatcher");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/dispatcher/Server.java b/java/test/src/main/java/test/Ice/dispatcher/Server.java
index c4ef87e7451..217823dad85 100644
--- a/java/test/src/main/java/test/Ice/dispatcher/Server.java
+++ b/java/test/src/main/java/test/Ice/dispatcher/Server.java
@@ -32,7 +32,7 @@ public class Server extends test.Util.Application
{
assert(_dispatcher == null);
_dispatcher = new Dispatcher();
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.dispatcher");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/echo/Server.java b/java/test/src/main/java/test/Ice/echo/Server.java
index 88daf466e01..63bc52202dd 100644
--- a/java/test/src/main/java/test/Ice/echo/Server.java
+++ b/java/test/src/main/java/test/Ice/echo/Server.java
@@ -54,7 +54,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.echo");
return initData;
diff --git a/java/test/src/main/java/test/Ice/enums/Client.java b/java/test/src/main/java/test/Ice/enums/Client.java
index f27ee458960..6f7c349a7b2 100644
--- a/java/test/src/main/java/test/Ice/enums/Client.java
+++ b/java/test/src/main/java/test/Ice/enums/Client.java
@@ -25,7 +25,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.enums");
return initData;
diff --git a/java/test/src/main/java/test/Ice/enums/Server.java b/java/test/src/main/java/test/Ice/enums/Server.java
index 24ef6d00730..943b65703a5 100644
--- a/java/test/src/main/java/test/Ice/enums/Server.java
+++ b/java/test/src/main/java/test/Ice/enums/Server.java
@@ -27,7 +27,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.enums");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/exceptions/AMDServer.java b/java/test/src/main/java/test/Ice/exceptions/AMDServer.java
index 0ee384ac865..89e6d819db0 100644
--- a/java/test/src/main/java/test/Ice/exceptions/AMDServer.java
+++ b/java/test/src/main/java/test/Ice/exceptions/AMDServer.java
@@ -31,7 +31,7 @@ public class AMDServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
//
// For this test, we need a dummy logger, otherwise the
// assertion test will print an error message.
diff --git a/java/test/src/main/java/test/Ice/exceptions/Client.java b/java/test/src/main/java/test/Ice/exceptions/Client.java
index ef66546fa26..d055648d7ca 100644
--- a/java/test/src/main/java/test/Ice/exceptions/Client.java
+++ b/java/test/src/main/java/test/Ice/exceptions/Client.java
@@ -25,7 +25,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.exceptions");
initData.properties.setProperty("Ice.Warn.Connections", "0");
diff --git a/java/test/src/main/java/test/Ice/exceptions/Collocated.java b/java/test/src/main/java/test/Ice/exceptions/Collocated.java
index 2ba65669947..05b34266f0c 100644
--- a/java/test/src/main/java/test/Ice/exceptions/Collocated.java
+++ b/java/test/src/main/java/test/Ice/exceptions/Collocated.java
@@ -28,7 +28,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
//
// For this test, we need a dummy logger, otherwise the
// assertion test will print an error message.
diff --git a/java/test/src/main/java/test/Ice/exceptions/Server.java b/java/test/src/main/java/test/Ice/exceptions/Server.java
index bb0140e0a5d..a999e44e15e 100644
--- a/java/test/src/main/java/test/Ice/exceptions/Server.java
+++ b/java/test/src/main/java/test/Ice/exceptions/Server.java
@@ -31,7 +31,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
//
// For this test, we need a dummy logger, otherwise the
// assertion test will print an error message.
diff --git a/java/test/src/main/java/test/Ice/facets/Client.java b/java/test/src/main/java/test/Ice/facets/Client.java
index 22867839eb7..b18db1e6123 100644
--- a/java/test/src/main/java/test/Ice/facets/Client.java
+++ b/java/test/src/main/java/test/Ice/facets/Client.java
@@ -25,7 +25,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.binding");
return initData;
diff --git a/java/test/src/main/java/test/Ice/facets/Collocated.java b/java/test/src/main/java/test/Ice/facets/Collocated.java
index 9503a7e7748..054c870eb90 100644
--- a/java/test/src/main/java/test/Ice/facets/Collocated.java
+++ b/java/test/src/main/java/test/Ice/facets/Collocated.java
@@ -33,7 +33,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.facets");
return initData;
diff --git a/java/test/src/main/java/test/Ice/facets/Server.java b/java/test/src/main/java/test/Ice/facets/Server.java
index 0bba8b89cdf..f3fcd0dcad4 100644
--- a/java/test/src/main/java/test/Ice/facets/Server.java
+++ b/java/test/src/main/java/test/Ice/facets/Server.java
@@ -32,7 +32,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.facets");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/faultTolerance/Client.java b/java/test/src/main/java/test/Ice/faultTolerance/Client.java
index 7f2fb23b80e..deae605df01 100644
--- a/java/test/src/main/java/test/Ice/faultTolerance/Client.java
+++ b/java/test/src/main/java/test/Ice/faultTolerance/Client.java
@@ -84,7 +84,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.faultTolerance");
//
diff --git a/java/test/src/main/java/test/Ice/faultTolerance/Server.java b/java/test/src/main/java/test/Ice/faultTolerance/Server.java
index 18d113fdeae..efcd3dd29ea 100644
--- a/java/test/src/main/java/test/Ice/faultTolerance/Server.java
+++ b/java/test/src/main/java/test/Ice/faultTolerance/Server.java
@@ -73,7 +73,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.faultTolerance");
// Two minutes.
diff --git a/java/test/src/main/java/test/Ice/hash/Client.java b/java/test/src/main/java/test/Ice/hash/Client.java
index 6a01bf62285..dadc30f6644 100644
--- a/java/test/src/main/java/test/Ice/hash/Client.java
+++ b/java/test/src/main/java/test/Ice/hash/Client.java
@@ -48,7 +48,7 @@ public class Client extends test.Util.Application
int maxCollisions = 10;
int maxIterations = 10000;
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(args);
initData.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
Ice.Communicator communicator = Ice.Util.initialize(args, initData);
diff --git a/java/test/src/main/java/test/Ice/hold/AllTests.java b/java/test/src/main/java/test/Ice/hold/AllTests.java
index 77d0c84b066..6eeb43704b4 100644
--- a/java/test/src/main/java/test/Ice/hold/AllTests.java
+++ b/java/test/src/main/java/test/Ice/hold/AllTests.java
@@ -84,8 +84,9 @@ public class AllTests
};
public static void
- allTests(Ice.Communicator communicator, PrintWriter out)
+ allTests(test.Util.Application app, PrintWriter out)
{
+ Ice.Communicator communicator = app.communicator();
out.print("testing stringToProxy... ");
out.flush();
String ref = "hold:default -p 12010";
@@ -193,7 +194,8 @@ public class AllTests
int value = 0;
holdSerialized.set(value, 0);
Ice.AsyncResult result = null;
- for(int i = 0; i < 10000; ++i)
+ int max = app.isAndroid() ? 5000 : 10000;
+ for(int i = 0; i < max; ++i)
{
// Create a new proxy for each request
result = ((HoldPrx)holdSerialized.ice_oneway()).begin_setOneway(value + 1, value);
diff --git a/java/test/src/main/java/test/Ice/hold/Client.java b/java/test/src/main/java/test/Ice/hold/Client.java
index 58e4e1abd32..5e4f2b41d83 100644
--- a/java/test/src/main/java/test/Ice/hold/Client.java
+++ b/java/test/src/main/java/test/Ice/hold/Client.java
@@ -14,15 +14,14 @@ public class Client extends test.Util.Application
@Override
public int run(String[] args)
{
- Ice.Communicator communicator = communicator();
- AllTests.allTests(communicator, getWriter());
+ AllTests.allTests(this, getWriter());
return 0;
}
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.hold");
return initData;
diff --git a/java/test/src/main/java/test/Ice/hold/Server.java b/java/test/src/main/java/test/Ice/hold/Server.java
index 97019f8021e..c97b28d3844 100644
--- a/java/test/src/main/java/test/Ice/hold/Server.java
+++ b/java/test/src/main/java/test/Ice/hold/Server.java
@@ -37,7 +37,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.hold");
initData.properties.setProperty("TestAdapter1.Endpoints", "default -p 12010:udp");
diff --git a/java/test/src/main/java/test/Ice/info/Client.java b/java/test/src/main/java/test/Ice/info/Client.java
index 2cd0d5b1f8b..69af1c600fd 100644
--- a/java/test/src/main/java/test/Ice/info/Client.java
+++ b/java/test/src/main/java/test/Ice/info/Client.java
@@ -21,7 +21,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.info");
return initData;
diff --git a/java/test/src/main/java/test/Ice/info/Server.java b/java/test/src/main/java/test/Ice/info/Server.java
index ebb4046e721..3baa7a452ad 100644
--- a/java/test/src/main/java/test/Ice/info/Server.java
+++ b/java/test/src/main/java/test/Ice/info/Server.java
@@ -24,7 +24,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.proxy");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010:udp -p 12010");
diff --git a/java/test/src/main/java/test/Ice/inheritance/Client.java b/java/test/src/main/java/test/Ice/inheritance/Client.java
index 1fc5bdb3214..6b929e0d949 100644
--- a/java/test/src/main/java/test/Ice/inheritance/Client.java
+++ b/java/test/src/main/java/test/Ice/inheritance/Client.java
@@ -25,7 +25,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.inheritance");
return initData;
diff --git a/java/test/src/main/java/test/Ice/inheritance/Collocated.java b/java/test/src/main/java/test/Ice/inheritance/Collocated.java
index 3c92c35545c..f05f3317d4e 100644
--- a/java/test/src/main/java/test/Ice/inheritance/Collocated.java
+++ b/java/test/src/main/java/test/Ice/inheritance/Collocated.java
@@ -27,7 +27,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.inheritance");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/inheritance/Server.java b/java/test/src/main/java/test/Ice/inheritance/Server.java
index 7ff0278c2a6..9fd81d5329d 100644
--- a/java/test/src/main/java/test/Ice/inheritance/Server.java
+++ b/java/test/src/main/java/test/Ice/inheritance/Server.java
@@ -25,7 +25,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.inheritance");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/interceptor/Client.java b/java/test/src/main/java/test/Ice/interceptor/Client.java
index 12c913296b0..58cb7bb80e4 100644
--- a/java/test/src/main/java/test/Ice/interceptor/Client.java
+++ b/java/test/src/main/java/test/Ice/interceptor/Client.java
@@ -251,7 +251,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.interceptor");
return initData;
diff --git a/java/test/src/main/java/test/Ice/interrupt/AllTests.java b/java/test/src/main/java/test/Ice/interrupt/AllTests.java
index 14286ea6896..c768ea171da 100644
--- a/java/test/src/main/java/test/Ice/interrupt/AllTests.java
+++ b/java/test/src/main/java/test/Ice/interrupt/AllTests.java
@@ -337,8 +337,10 @@ public class AllTests
testController.holdAdapter();
Ice.AsyncResult r = null;
+
// The sequence needs to be large enough to fill the write/recv buffers
- byte[] seq = new byte[20000000];
+ int bufSize = (test.Util.Application.isAndroid()) ? 2500000 : 20000000;
+ byte[] seq = new byte[bufSize];
r = p.begin_opWithPayload(seq);
try
{
@@ -362,7 +364,10 @@ public class AllTests
// The executor is all done.
//
executor.shutdown();
- executor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
+ while(!executor.isTerminated())
+ {
+ executor.awaitTermination(1000, TimeUnit.SECONDS);
+ }
}
out.println("ok");
@@ -564,6 +569,7 @@ public class AllTests
// Check that CommunicatorDestroyedException is raised directly.
//
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
Ice.Communicator ic = app.initialize(initData);
@@ -652,7 +658,10 @@ public class AllTests
cb.check();
executor.shutdown();
- executor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
+ while(!executor.isTerminated())
+ {
+ executor.awaitTermination(1000, TimeUnit.SECONDS);
+ }
}
out.println("ok");
@@ -707,6 +716,7 @@ public class AllTests
final Thread mainThread = Thread.currentThread();
ExecutorService executor = java.util.concurrent.Executors.newFixedThreadPool(1);
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("ClientTestAdapter.Endpoints", "default -p 12030");
Ice.Communicator ic = app.initialize(initData);
@@ -798,7 +808,10 @@ public class AllTests
ic.destroy();
executor.shutdown();
- executor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
+ while(!executor.isTerminated())
+ {
+ executor.awaitTermination(1000, TimeUnit.SECONDS);
+ }
}
out.println("ok");
diff --git a/java/test/src/main/java/test/Ice/interrupt/Client.java b/java/test/src/main/java/test/Ice/interrupt/Client.java
index edd6dfaa6ae..028e21b7862 100644
--- a/java/test/src/main/java/test/Ice/interrupt/Client.java
+++ b/java/test/src/main/java/test/Ice/interrupt/Client.java
@@ -29,7 +29,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.interrupt");
//
diff --git a/java/test/src/main/java/test/Ice/interrupt/Collocated.java b/java/test/src/main/java/test/Ice/interrupt/Collocated.java
index 8f82f8de45d..9f72490974c 100644
--- a/java/test/src/main/java/test/Ice/interrupt/Collocated.java
+++ b/java/test/src/main/java/test/Ice/interrupt/Collocated.java
@@ -38,7 +38,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.interrupt");
//
diff --git a/java/test/src/main/java/test/Ice/interrupt/Server.java b/java/test/src/main/java/test/Ice/interrupt/Server.java
index 9ec7a725d77..9421572f466 100644
--- a/java/test/src/main/java/test/Ice/interrupt/Server.java
+++ b/java/test/src/main/java/test/Ice/interrupt/Server.java
@@ -30,7 +30,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.interrupt");
//
diff --git a/java/test/src/main/java/test/Ice/invoke/Client.java b/java/test/src/main/java/test/Ice/invoke/Client.java
index e589d32075c..1952815d7fc 100644
--- a/java/test/src/main/java/test/Ice/invoke/Client.java
+++ b/java/test/src/main/java/test/Ice/invoke/Client.java
@@ -52,7 +52,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.invoke");
return initData;
diff --git a/java/test/src/main/java/test/Ice/invoke/Server.java b/java/test/src/main/java/test/Ice/invoke/Server.java
index a6f315d5cf9..17547c44807 100644
--- a/java/test/src/main/java/test/Ice/invoke/Server.java
+++ b/java/test/src/main/java/test/Ice/invoke/Server.java
@@ -33,7 +33,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.invoke");
return initData;
diff --git a/java/test/src/main/java/test/Ice/location/AllTests.java b/java/test/src/main/java/test/Ice/location/AllTests.java
index 636376a0253..da933f4cf17 100644
--- a/java/test/src/main/java/test/Ice/location/AllTests.java
+++ b/java/test/src/main/java/test/Ice/location/AllTests.java
@@ -547,6 +547,7 @@ public class AllTests
out.flush();
{
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("Ice.BackgroundLocatorCacheUpdates", "1");
Ice.Communicator ic = app.initialize(initData);
diff --git a/java/test/src/main/java/test/Ice/location/Client.java b/java/test/src/main/java/test/Ice/location/Client.java
index 4fc8e67893b..93339add7db 100644
--- a/java/test/src/main/java/test/Ice/location/Client.java
+++ b/java/test/src/main/java/test/Ice/location/Client.java
@@ -40,7 +40,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.location");
initData.properties.setProperty("Ice.Default.Locator", "locator:default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/location/Server.java b/java/test/src/main/java/test/Ice/location/Server.java
index 4b09338d2ee..89fece45324 100644
--- a/java/test/src/main/java/test/Ice/location/Server.java
+++ b/java/test/src/main/java/test/Ice/location/Server.java
@@ -49,7 +49,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.location");
initData.properties.setProperty("Ice.ThreadPool.Server.Size", "2");
diff --git a/java/test/src/main/java/test/Ice/metrics/AMDServer.java b/java/test/src/main/java/test/Ice/metrics/AMDServer.java
index dc559764811..e567faed6a6 100644
--- a/java/test/src/main/java/test/Ice/metrics/AMDServer.java
+++ b/java/test/src/main/java/test/Ice/metrics/AMDServer.java
@@ -30,7 +30,7 @@ public class AMDServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.retry");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/metrics/Client.java b/java/test/src/main/java/test/Ice/metrics/Client.java
index 48acc9244b1..edf9767b951 100644
--- a/java/test/src/main/java/test/Ice/metrics/Client.java
+++ b/java/test/src/main/java/test/Ice/metrics/Client.java
@@ -34,7 +34,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.metrics");
initData.properties.setProperty("Ice.Admin.Endpoints", "tcp");
diff --git a/java/test/src/main/java/test/Ice/metrics/Collocated.java b/java/test/src/main/java/test/Ice/metrics/Collocated.java
index ad2446563d1..726f545c05a 100644
--- a/java/test/src/main/java/test/Ice/metrics/Collocated.java
+++ b/java/test/src/main/java/test/Ice/metrics/Collocated.java
@@ -44,7 +44,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
if(initData.properties.getPropertyAsInt("Ice.ThreadInterruptSafe") > 0)
{
diff --git a/java/test/src/main/java/test/Ice/metrics/Server.java b/java/test/src/main/java/test/Ice/metrics/Server.java
index 70788ea876f..71712c6d021 100644
--- a/java/test/src/main/java/test/Ice/metrics/Server.java
+++ b/java/test/src/main/java/test/Ice/metrics/Server.java
@@ -30,7 +30,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.retry");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/networkProxy/Client.java b/java/test/src/main/java/test/Ice/networkProxy/Client.java
index 411b276ac9a..0694da90466 100644
--- a/java/test/src/main/java/test/Ice/networkProxy/Client.java
+++ b/java/test/src/main/java/test/Ice/networkProxy/Client.java
@@ -23,7 +23,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.networkProxy");
return initData;
diff --git a/java/test/src/main/java/test/Ice/networkProxy/Server.java b/java/test/src/main/java/test/Ice/networkProxy/Server.java
index fe6e7c04ea9..58100d7fb44 100644
--- a/java/test/src/main/java/test/Ice/networkProxy/Server.java
+++ b/java/test/src/main/java/test/Ice/networkProxy/Server.java
@@ -34,7 +34,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.networkProxy");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/objects/Client.java b/java/test/src/main/java/test/Ice/objects/Client.java
index 3d9f3803bc5..73a83143f75 100644
--- a/java/test/src/main/java/test/Ice/objects/Client.java
+++ b/java/test/src/main/java/test/Ice/objects/Client.java
@@ -84,7 +84,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.objects");
return initData;
diff --git a/java/test/src/main/java/test/Ice/objects/Collocated.java b/java/test/src/main/java/test/Ice/objects/Collocated.java
index 06d1f4bf5fd..37c67949785 100644
--- a/java/test/src/main/java/test/Ice/objects/Collocated.java
+++ b/java/test/src/main/java/test/Ice/objects/Collocated.java
@@ -92,7 +92,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.objects");
return initData;
diff --git a/java/test/src/main/java/test/Ice/objects/Server.java b/java/test/src/main/java/test/Ice/objects/Server.java
index d327e7d5b53..1230290db13 100644
--- a/java/test/src/main/java/test/Ice/objects/Server.java
+++ b/java/test/src/main/java/test/Ice/objects/Server.java
@@ -62,7 +62,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.objects");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/operations/AMDServer.java b/java/test/src/main/java/test/Ice/operations/AMDServer.java
index 063af513e84..23aa19cc091 100644
--- a/java/test/src/main/java/test/Ice/operations/AMDServer.java
+++ b/java/test/src/main/java/test/Ice/operations/AMDServer.java
@@ -24,7 +24,7 @@ public class AMDServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
//
// It's possible to have batch oneway requests dispatched
diff --git a/java/test/src/main/java/test/Ice/operations/AMDTieServer.java b/java/test/src/main/java/test/Ice/operations/AMDTieServer.java
index af88539eb00..b9e2bf066eb 100644
--- a/java/test/src/main/java/test/Ice/operations/AMDTieServer.java
+++ b/java/test/src/main/java/test/Ice/operations/AMDTieServer.java
@@ -26,7 +26,7 @@ public class AMDTieServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
//
// It's possible to have batch oneway requests dispatched
diff --git a/java/test/src/main/java/test/Ice/operations/Client.java b/java/test/src/main/java/test/Ice/operations/Client.java
index f0177c41adb..d6cc946dcd5 100644
--- a/java/test/src/main/java/test/Ice/operations/Client.java
+++ b/java/test/src/main/java/test/Ice/operations/Client.java
@@ -38,7 +38,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.ThreadPool.Client.Size", "2");
initData.properties.setProperty("Ice.ThreadPool.Client.SizeWarn", "0");
diff --git a/java/test/src/main/java/test/Ice/operations/Collocated.java b/java/test/src/main/java/test/Ice/operations/Collocated.java
index 276eed6e03a..2539ffca0e2 100644
--- a/java/test/src/main/java/test/Ice/operations/Collocated.java
+++ b/java/test/src/main/java/test/Ice/operations/Collocated.java
@@ -33,9 +33,9 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
- if(initData.properties.getPropertyAsInt("Ice.ThreadInterruptSafe") > 0)
+ if(initData.properties.getPropertyAsInt("Ice.ThreadInterruptSafe") > 0 || isAndroid())
{
initData.properties.setProperty("Ice.ThreadPool.Server.Size", "2");
}
diff --git a/java/test/src/main/java/test/Ice/operations/Server.java b/java/test/src/main/java/test/Ice/operations/Server.java
index 22dba1da02b..a45912deabd 100644
--- a/java/test/src/main/java/test/Ice/operations/Server.java
+++ b/java/test/src/main/java/test/Ice/operations/Server.java
@@ -24,7 +24,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
//
// It's possible to have batch oneway requests dispatched
diff --git a/java/test/src/main/java/test/Ice/operations/TieServer.java b/java/test/src/main/java/test/Ice/operations/TieServer.java
index 26bbdc7b7b5..61a6ff50710 100644
--- a/java/test/src/main/java/test/Ice/operations/TieServer.java
+++ b/java/test/src/main/java/test/Ice/operations/TieServer.java
@@ -26,7 +26,7 @@ public class TieServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
//
// It's possible to have batch oneway requests dispatched
diff --git a/java/test/src/main/java/test/Ice/operations/Twoways.java b/java/test/src/main/java/test/Ice/operations/Twoways.java
index 4c99870b32b..0a2fba2ed99 100644
--- a/java/test/src/main/java/test/Ice/operations/Twoways.java
+++ b/java/test/src/main/java/test/Ice/operations/Twoways.java
@@ -844,6 +844,7 @@ class Twoways
for(int i = 0; i < 2; i++)
{
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("Ice.ImplicitContext", impls[i]);
diff --git a/java/test/src/main/java/test/Ice/operations/TwowaysAMI.java b/java/test/src/main/java/test/Ice/operations/TwowaysAMI.java
index 4fa98529216..df5a224a008 100644
--- a/java/test/src/main/java/test/Ice/operations/TwowaysAMI.java
+++ b/java/test/src/main/java/test/Ice/operations/TwowaysAMI.java
@@ -1679,6 +1679,7 @@ class TwowaysAMI
for(int i = 0; i < 2; i++)
{
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("Ice.ImplicitContext", impls[i]);
diff --git a/java/test/src/main/java/test/Ice/optional/AMDServer.java b/java/test/src/main/java/test/Ice/optional/AMDServer.java
index b05e5b28f3c..3dacb84a760 100644
--- a/java/test/src/main/java/test/Ice/optional/AMDServer.java
+++ b/java/test/src/main/java/test/Ice/optional/AMDServer.java
@@ -24,7 +24,7 @@ public class AMDServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.optional.AMD");
return initData;
diff --git a/java/test/src/main/java/test/Ice/optional/Client.java b/java/test/src/main/java/test/Ice/optional/Client.java
index 22f05e262bc..a9178497d0b 100644
--- a/java/test/src/main/java/test/Ice/optional/Client.java
+++ b/java/test/src/main/java/test/Ice/optional/Client.java
@@ -25,7 +25,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.optional");
return initData;
diff --git a/java/test/src/main/java/test/Ice/optional/Server.java b/java/test/src/main/java/test/Ice/optional/Server.java
index 15446ac47b5..e9bfa491ea5 100644
--- a/java/test/src/main/java/test/Ice/optional/Server.java
+++ b/java/test/src/main/java/test/Ice/optional/Server.java
@@ -24,7 +24,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.optional");
return initData;
diff --git a/java/test/src/main/java/test/Ice/packagemd/Client.java b/java/test/src/main/java/test/Ice/packagemd/Client.java
index 8081a790e76..7f6bf0cab98 100644
--- a/java/test/src/main/java/test/Ice/packagemd/Client.java
+++ b/java/test/src/main/java/test/Ice/packagemd/Client.java
@@ -24,7 +24,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Warn.Dispatch", "0");
initData.properties.setProperty("Ice.Package.Test", "test.Ice.packagemd");
diff --git a/java/test/src/main/java/test/Ice/packagemd/Server.java b/java/test/src/main/java/test/Ice/packagemd/Server.java
index 61bbb0dd2c6..0e3f61ab09e 100644
--- a/java/test/src/main/java/test/Ice/packagemd/Server.java
+++ b/java/test/src/main/java/test/Ice/packagemd/Server.java
@@ -25,7 +25,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.packagemd");
initData.properties.setProperty("Ice.Package.Test1", "test.Ice.packagemd");
diff --git a/java/test/src/main/java/test/Ice/plugin/Client.java b/java/test/src/main/java/test/Ice/plugin/Client.java
index 19dd8aa30f7..52e1c615250 100644
--- a/java/test/src/main/java/test/Ice/plugin/Client.java
+++ b/java/test/src/main/java/test/Ice/plugin/Client.java
@@ -16,7 +16,17 @@ public class Client extends test.Util.Application
@Override
public int run(String[] args)
{
- String libDir = "../../../../../../../lib/";
+ // Under Android the class comes from the communicators classloader which
+ // is setup in the android test driver.
+ String jarFile;
+ if(isAndroid())
+ {
+ jarFile = "";
+ }
+ else
+ {
+ jarFile = "../../../../../../../lib/IceTestPlugins.jar";
+ }
Ice.Communicator communicator = communicator();
PrintWriter printWriter = getWriter();
@@ -24,10 +34,9 @@ public class Client extends test.Util.Application
printWriter.flush();
try
{
- Ice.InitializationData initData = new Ice.InitializationData();
- initData.properties = Ice.Util.createProperties();
+ Ice.InitializationData initData = createInitData();
initData.properties.setProperty("Ice.Plugin.Test",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginFactory " +
+ jarFile + ":test.Ice.plugin.plugins.PluginFactory " +
"'C:\\Program Files\\' --DatabasePath 'C:\\Program Files\\Application\\db'");
communicator = Ice.Util.initialize(args, initData);
communicator.destroy();
@@ -44,10 +53,9 @@ public class Client extends test.Util.Application
communicator = null;
try
{
- Ice.InitializationData initData = new Ice.InitializationData();
- initData.properties = Ice.Util.createProperties();
+ Ice.InitializationData initData = createInitData();
initData.properties.setProperty("Ice.Plugin.Test",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginInitializeFailFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginInitializeFailFactory");
communicator = Ice.Util.initialize(args, initData);
test(false);
}
@@ -62,14 +70,13 @@ public class Client extends test.Util.Application
printWriter.flush();
try
{
- Ice.InitializationData initData = new Ice.InitializationData();
- initData.properties = Ice.Util.createProperties();
+ Ice.InitializationData initData = createInitData();
initData.properties.setProperty("Ice.Plugin.PluginOne",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginOneFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginOneFactory");
initData.properties.setProperty("Ice.Plugin.PluginTwo",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginTwoFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginTwoFactory");
initData.properties.setProperty("Ice.Plugin.PluginThree",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginThreeFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginThreeFactory");
initData.properties.setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo"); // Exclude PluginThree
communicator = Ice.Util.initialize(args, initData);
communicator.destroy();
@@ -85,14 +92,13 @@ public class Client extends test.Util.Application
printWriter.flush();
try
{
- Ice.InitializationData initData = new Ice.InitializationData();
- initData.properties = Ice.Util.createProperties();
+ Ice.InitializationData initData = createInitData();
initData.properties.setProperty("Ice.Plugin.PluginOne",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginOneFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginOneFactory");
initData.properties.setProperty("Ice.Plugin.PluginTwo",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginTwoFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginTwoFactory");
initData.properties.setProperty("Ice.Plugin.PluginThree",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginThreeFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginThreeFactory");
initData.properties.setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo");
initData.properties.setProperty("Ice.InitPlugins", "0");
communicator = Ice.Util.initialize(args, initData);
@@ -126,14 +132,13 @@ public class Client extends test.Util.Application
communicator = null;
try
{
- Ice.InitializationData initData = new Ice.InitializationData();
- initData.properties = Ice.Util.createProperties();
+ Ice.InitializationData initData = createInitData();
initData.properties.setProperty("Ice.Plugin.PluginOneFail",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginOneFailFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginOneFailFactory");
initData.properties.setProperty("Ice.Plugin.PluginTwoFail",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginTwoFailFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginTwoFailFactory");
initData.properties.setProperty("Ice.Plugin.PluginThreeFail",
- libDir + "IceTestPlugins.jar:test.Ice.plugin.plugins.PluginThreeFailFactory");
+ jarFile + ":test.Ice.plugin.plugins.PluginThreeFailFactory");
initData.properties.setProperty("Ice.PluginLoadOrder", "PluginOneFail, PluginTwoFail, PluginThreeFail");
communicator = Ice.Util.initialize(args, initData);
}
@@ -152,11 +157,22 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
return initData;
}
+ private Ice.InitializationData createInitData()
+ {
+ Ice.InitializationData initData = createInitializationData() ;
+ if(classLoader() != null)
+ {
+ initData.classLoader = classLoader();
+ }
+ initData.properties = Ice.Util.createProperties();
+ return initData;
+ }
+
private static void test(boolean b)
{
if(!b)
diff --git a/java/test/src/main/java/test/Ice/proxy/AMDServer.java b/java/test/src/main/java/test/Ice/proxy/AMDServer.java
index 3629cf905b0..0633df18bda 100644
--- a/java/test/src/main/java/test/Ice/proxy/AMDServer.java
+++ b/java/test/src/main/java/test/Ice/proxy/AMDServer.java
@@ -25,7 +25,7 @@ public class AMDServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.proxy.AMD");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010:udp");
diff --git a/java/test/src/main/java/test/Ice/proxy/Client.java b/java/test/src/main/java/test/Ice/proxy/Client.java
index 1ad397216c9..54ab8ae6d1b 100644
--- a/java/test/src/main/java/test/Ice/proxy/Client.java
+++ b/java/test/src/main/java/test/Ice/proxy/Client.java
@@ -25,7 +25,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.proxy");
return initData;
diff --git a/java/test/src/main/java/test/Ice/proxy/Collocated.java b/java/test/src/main/java/test/Ice/proxy/Collocated.java
index 103451157d0..d47a3a0a721 100644
--- a/java/test/src/main/java/test/Ice/proxy/Collocated.java
+++ b/java/test/src/main/java/test/Ice/proxy/Collocated.java
@@ -28,7 +28,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.proxy");
initData.properties.setProperty("Ice.Warn.Dispatch", "0");
diff --git a/java/test/src/main/java/test/Ice/proxy/Server.java b/java/test/src/main/java/test/Ice/proxy/Server.java
index ae09627cfe5..0ceaf40550f 100644
--- a/java/test/src/main/java/test/Ice/proxy/Server.java
+++ b/java/test/src/main/java/test/Ice/proxy/Server.java
@@ -24,7 +24,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.proxy");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010:udp");
diff --git a/java/test/src/main/java/test/Ice/retry/AllTests.java b/java/test/src/main/java/test/Ice/retry/AllTests.java
index 3a0b7b1ceff..8686e56d67b 100644
--- a/java/test/src/main/java/test/Ice/retry/AllTests.java
+++ b/java/test/src/main/java/test/Ice/retry/AllTests.java
@@ -113,7 +113,7 @@ public class AllTests
}
public static RetryPrx
- allTests(Ice.Communicator communicator, PrintWriter out)
+ allTests(Ice.Communicator communicator, PrintWriter out, Instrumentation instrumentation)
{
out.print("testing stringToProxy... ");
out.flush();
@@ -139,7 +139,7 @@ public class AllTests
retry1.op(false);
out.println("ok");
- Instrumentation.testInvocationCount(3);
+ instrumentation.testInvocationCount(3);
out.print("calling operation to kill connection with second proxy... ");
out.flush();
@@ -155,17 +155,17 @@ public class AllTests
catch(Ice.ConnectionLostException ex)
{
}
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(1);
- Instrumentation.testRetryCount(0);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(1);
+ instrumentation.testRetryCount(0);
out.println("ok");
out.print("calling regular operation with first proxy again... ");
out.flush();
retry1.op(false);
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(0);
- Instrumentation.testRetryCount(0);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(0);
+ instrumentation.testRetryCount(0);
out.println("ok");
AMIRegular cb1 = new AMIRegular();
@@ -174,36 +174,36 @@ public class AllTests
out.print("calling regular AMI operation with first proxy... ");
retry1.begin_op(false, cb1);
cb1.check();
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(0);
- Instrumentation.testRetryCount(0);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(0);
+ instrumentation.testRetryCount(0);
out.println("ok");
out.print("calling AMI operation to kill connection with second proxy... ");
retry2.begin_op(true, cb2);
cb2.check();
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(1);
- Instrumentation.testRetryCount(0);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(1);
+ instrumentation.testRetryCount(0);
out.println("ok");
out.print("calling regular AMI operation with first proxy again... ");
retry1.begin_op(false, cb1);
cb1.check();
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(0);
- Instrumentation.testRetryCount(0);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(0);
+ instrumentation.testRetryCount(0);
out.println("ok");
out.print("testing idempotent operation... ");
test(retry1.opIdempotent(4) == 4);
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(0);
- Instrumentation.testRetryCount(4);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(0);
+ instrumentation.testRetryCount(4);
test(retry1.end_opIdempotent(retry1.begin_opIdempotent(4)) == 4);
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(0);
- Instrumentation.testRetryCount(4);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(0);
+ instrumentation.testRetryCount(4);
out.println("ok");
out.print("testing non-idempotent operation... ");
@@ -215,9 +215,9 @@ public class AllTests
catch(Ice.LocalException ex)
{
}
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(1);
- Instrumentation.testRetryCount(0);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(1);
+ instrumentation.testRetryCount(0);
try
{
retry1.end_opNotIdempotent(retry1.begin_opNotIdempotent());
@@ -226,14 +226,14 @@ public class AllTests
catch(Ice.LocalException ex)
{
}
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(1);
- Instrumentation.testRetryCount(0);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(1);
+ instrumentation.testRetryCount(0);
out.println("ok");
if(retry1.ice_getConnection() == null)
{
- Instrumentation.testInvocationCount(1);
+ instrumentation.testInvocationCount(1);
out.print("testing system exception... ");
try
@@ -244,9 +244,9 @@ public class AllTests
catch(SystemFailure ex)
{
}
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(1);
- Instrumentation.testRetryCount(0);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(1);
+ instrumentation.testRetryCount(0);
try
{
retry1.end_opSystemException(retry1.begin_opSystemException());
@@ -255,9 +255,9 @@ public class AllTests
catch(SystemFailure ex)
{
}
- Instrumentation.testInvocationCount(1);
- Instrumentation.testFailureCount(1);
- Instrumentation.testRetryCount(0);
+ instrumentation.testInvocationCount(1);
+ instrumentation.testFailureCount(1);
+ instrumentation.testRetryCount(0);
out.println("ok");
}
@@ -271,9 +271,9 @@ public class AllTests
}
catch(Ice.InvocationTimeoutException ex)
{
- Instrumentation.testRetryCount(2);
+ instrumentation.testRetryCount(2);
retry1.opIdempotent(-1); // Reset the counter
- Instrumentation.testRetryCount(-1);
+ instrumentation.testRetryCount(-1);
}
try
{
@@ -284,9 +284,9 @@ public class AllTests
}
catch(Ice.InvocationTimeoutException ex)
{
- Instrumentation.testRetryCount(2);
+ instrumentation.testRetryCount(2);
retry1.opIdempotent(-1); // Reset the counter
- Instrumentation.testRetryCount(-1);
+ instrumentation.testRetryCount(-1);
}
out.println("ok");
diff --git a/java/test/src/main/java/test/Ice/retry/Client.java b/java/test/src/main/java/test/Ice/retry/Client.java
index 0ed2b3c0bfd..f3cc1455550 100644
--- a/java/test/src/main/java/test/Ice/retry/Client.java
+++ b/java/test/src/main/java/test/Ice/retry/Client.java
@@ -13,11 +13,13 @@ import test.Ice.retry.Test.RetryPrx;
public class Client extends test.Util.Application
{
+ private Instrumentation instrumentation = new Instrumentation();
+
@Override
public int run(String[] args)
{
Ice.Communicator communicator = communicator();
- RetryPrx retry = AllTests.allTests(communicator, getWriter());
+ RetryPrx retry = AllTests.allTests(communicator, getWriter(), instrumentation);
retry.shutdown();
return 0;
}
@@ -25,9 +27,9 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
- initData.observer = Instrumentation.getObserver();
+ initData.observer = instrumentation.getObserver();
initData.properties.setProperty("Ice.Package.Test", "test.Ice.retry");
diff --git a/java/test/src/main/java/test/Ice/retry/Collocated.java b/java/test/src/main/java/test/Ice/retry/Collocated.java
index 481c1f6c661..61f5dcf0f5b 100644
--- a/java/test/src/main/java/test/Ice/retry/Collocated.java
+++ b/java/test/src/main/java/test/Ice/retry/Collocated.java
@@ -13,6 +13,8 @@ import test.Ice.retry.Test.RetryPrx;
public class Collocated extends test.Util.Application
{
+ private Instrumentation instrumentation = new Instrumentation();
+
@Override
public int run(String[] args)
{
@@ -21,7 +23,7 @@ public class Collocated extends test.Util.Application
adapter.add(new RetryI(), communicator.stringToIdentity("retry"));
//adapter.activate(); // Don't activate OA to ensure collocation is used.
- RetryPrx retry = AllTests.allTests(communicator, getWriter());
+ RetryPrx retry = AllTests.allTests(communicator, getWriter(), instrumentation);
retry.shutdown();
return 0;
}
@@ -29,9 +31,9 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
- initData.observer = Instrumentation.getObserver();
+ initData.observer = instrumentation.getObserver();
initData.properties.setProperty("Ice.Package.Test", "test.Ice.retry");
@@ -51,7 +53,7 @@ public class Collocated extends test.Util.Application
public static void main(String[] args)
{
Collocated app = new Collocated();
- int result = app.main("Client", args);
+ int result = app.main("Collocated", args);
System.gc();
System.exit(result);
}
diff --git a/java/test/src/main/java/test/Ice/retry/Instrumentation.java b/java/test/src/main/java/test/Ice/retry/Instrumentation.java
index 609a8225ef2..2a756d3d34b 100644
--- a/java/test/src/main/java/test/Ice/retry/Instrumentation.java
+++ b/java/test/src/main/java/test/Ice/retry/Instrumentation.java
@@ -20,7 +20,7 @@ public class Instrumentation
}
}
- static class InvocationObserverI implements Ice.Instrumentation.InvocationObserver
+ class InvocationObserverI implements Ice.Instrumentation.InvocationObserver
{
@Override
public void
@@ -79,9 +79,9 @@ public class Instrumentation
}
};
- static private Ice.Instrumentation.InvocationObserver invocationObserver = new InvocationObserverI();
+ private Ice.Instrumentation.InvocationObserver invocationObserver = new InvocationObserverI();
- static class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorObserver
+ class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorObserver
{
@Override
public Ice.Instrumentation.Observer
@@ -138,9 +138,9 @@ public class Instrumentation
}
};
- static private Ice.Instrumentation.CommunicatorObserver communicatorObserver = new CommunicatorObserverI();
+ private Ice.Instrumentation.CommunicatorObserver communicatorObserver = new CommunicatorObserverI();
- static public Ice.Instrumentation.CommunicatorObserver
+ public Ice.Instrumentation.CommunicatorObserver
getObserver()
{
return communicatorObserver;
@@ -181,25 +181,25 @@ public class Instrumentation
value.value = 0;
}
- static public void
+ public void
testRetryCount(int expected)
{
testEqual(nRetry, expected);
}
- static public void
+ public void
testFailureCount(int expected)
{
testEqual(nFailure, expected);
}
- static public void
+ public void
testInvocationCount(int expected)
{
testEqual(nInvocation, expected);
}
- static private Ice.IntHolder nRetry = new Ice.IntHolder(0);
- static private Ice.IntHolder nFailure = new Ice.IntHolder(0);
- static private Ice.IntHolder nInvocation = new Ice.IntHolder(0);
+ private Ice.IntHolder nRetry = new Ice.IntHolder(0);
+ private Ice.IntHolder nFailure = new Ice.IntHolder(0);
+ private Ice.IntHolder nInvocation = new Ice.IntHolder(0);
};
diff --git a/java/test/src/main/java/test/Ice/retry/Server.java b/java/test/src/main/java/test/Ice/retry/Server.java
index 678839b36a5..a744748958b 100644
--- a/java/test/src/main/java/test/Ice/retry/Server.java
+++ b/java/test/src/main/java/test/Ice/retry/Server.java
@@ -24,7 +24,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.retry");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/seqMapping/AMDServer.java b/java/test/src/main/java/test/Ice/seqMapping/AMDServer.java
index 5c3e9bc5fc0..a8649ee3648 100644
--- a/java/test/src/main/java/test/Ice/seqMapping/AMDServer.java
+++ b/java/test/src/main/java/test/Ice/seqMapping/AMDServer.java
@@ -25,7 +25,7 @@ public class AMDServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.seqMapping.AMD");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010:udp");
diff --git a/java/test/src/main/java/test/Ice/seqMapping/Client.java b/java/test/src/main/java/test/Ice/seqMapping/Client.java
index 2124aefda4d..893a2b13806 100644
--- a/java/test/src/main/java/test/Ice/seqMapping/Client.java
+++ b/java/test/src/main/java/test/Ice/seqMapping/Client.java
@@ -32,7 +32,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.seqMapping");
return initData;
diff --git a/java/test/src/main/java/test/Ice/seqMapping/Collocated.java b/java/test/src/main/java/test/Ice/seqMapping/Collocated.java
index bf83972f114..90cb687b9db 100644
--- a/java/test/src/main/java/test/Ice/seqMapping/Collocated.java
+++ b/java/test/src/main/java/test/Ice/seqMapping/Collocated.java
@@ -28,7 +28,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.seqMapping");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/seqMapping/Server.java b/java/test/src/main/java/test/Ice/seqMapping/Server.java
index eea5e6536dd..3aacb34f3ba 100644
--- a/java/test/src/main/java/test/Ice/seqMapping/Server.java
+++ b/java/test/src/main/java/test/Ice/seqMapping/Server.java
@@ -25,7 +25,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.seqMapping");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010:udp");
diff --git a/java/test/src/main/java/test/Ice/serialize/Client.java b/java/test/src/main/java/test/Ice/serialize/Client.java
index ffa339ba2ca..39b32270c57 100644
--- a/java/test/src/main/java/test/Ice/serialize/Client.java
+++ b/java/test/src/main/java/test/Ice/serialize/Client.java
@@ -25,7 +25,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.serialize");
return initData;
diff --git a/java/test/src/main/java/test/Ice/serialize/Server.java b/java/test/src/main/java/test/Ice/serialize/Server.java
index 19346017593..8b786c3280e 100644
--- a/java/test/src/main/java/test/Ice/serialize/Server.java
+++ b/java/test/src/main/java/test/Ice/serialize/Server.java
@@ -27,7 +27,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.serialize");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/servantLocator/AMDServer.java b/java/test/src/main/java/test/Ice/servantLocator/AMDServer.java
index 29f8754170a..080dc5452fa 100644
--- a/java/test/src/main/java/test/Ice/servantLocator/AMDServer.java
+++ b/java/test/src/main/java/test/Ice/servantLocator/AMDServer.java
@@ -27,7 +27,7 @@ public class AMDServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.servantLocator.AMD");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/servantLocator/Client.java b/java/test/src/main/java/test/Ice/servantLocator/Client.java
index c781cb5ac50..40a8551aae9 100644
--- a/java/test/src/main/java/test/Ice/servantLocator/Client.java
+++ b/java/test/src/main/java/test/Ice/servantLocator/Client.java
@@ -24,7 +24,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.servantLocator");
return initData;
diff --git a/java/test/src/main/java/test/Ice/servantLocator/Collocated.java b/java/test/src/main/java/test/Ice/servantLocator/Collocated.java
index 612602d933d..d1f9c9cf5df 100644
--- a/java/test/src/main/java/test/Ice/servantLocator/Collocated.java
+++ b/java/test/src/main/java/test/Ice/servantLocator/Collocated.java
@@ -27,7 +27,7 @@ public class Collocated extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.servantLocator");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/servantLocator/Server.java b/java/test/src/main/java/test/Ice/servantLocator/Server.java
index bd3dfdc7288..053ce4d6648 100644
--- a/java/test/src/main/java/test/Ice/servantLocator/Server.java
+++ b/java/test/src/main/java/test/Ice/servantLocator/Server.java
@@ -26,7 +26,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.servantLocator");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/slicing/exceptions/AMDServer.java b/java/test/src/main/java/test/Ice/slicing/exceptions/AMDServer.java
index acca7cf53e8..ad02ce47c79 100644
--- a/java/test/src/main/java/test/Ice/slicing/exceptions/AMDServer.java
+++ b/java/test/src/main/java/test/Ice/slicing/exceptions/AMDServer.java
@@ -24,7 +24,7 @@ public class AMDServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.slicing.exceptions.serverAMD");
initData.properties.setProperty("Ice.Warn.Dispatch", "0");
diff --git a/java/test/src/main/java/test/Ice/slicing/exceptions/Client.java b/java/test/src/main/java/test/Ice/slicing/exceptions/Client.java
index bee392fe3b3..f52615b2901 100644
--- a/java/test/src/main/java/test/Ice/slicing/exceptions/Client.java
+++ b/java/test/src/main/java/test/Ice/slicing/exceptions/Client.java
@@ -16,7 +16,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.slicing.exceptions.client");
return initData;
diff --git a/java/test/src/main/java/test/Ice/slicing/exceptions/Server.java b/java/test/src/main/java/test/Ice/slicing/exceptions/Server.java
index 0844dd92275..899aedfa165 100644
--- a/java/test/src/main/java/test/Ice/slicing/exceptions/Server.java
+++ b/java/test/src/main/java/test/Ice/slicing/exceptions/Server.java
@@ -24,7 +24,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.slicing.exceptions.server");
initData.properties.setProperty("Ice.Warn.Dispatch", "0");
diff --git a/java/test/src/main/java/test/Ice/slicing/objects/AMDServer.java b/java/test/src/main/java/test/Ice/slicing/objects/AMDServer.java
index c905976b193..37cc88cfb47 100644
--- a/java/test/src/main/java/test/Ice/slicing/objects/AMDServer.java
+++ b/java/test/src/main/java/test/Ice/slicing/objects/AMDServer.java
@@ -25,7 +25,7 @@ public class AMDServer extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData();
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.slicing.objects.serverAMD");
initData.properties.setProperty("Ice.Warn.Dispatch", "0");
diff --git a/java/test/src/main/java/test/Ice/slicing/objects/Client.java b/java/test/src/main/java/test/Ice/slicing/objects/Client.java
index e725c725339..c0cd30ccaab 100644
--- a/java/test/src/main/java/test/Ice/slicing/objects/Client.java
+++ b/java/test/src/main/java/test/Ice/slicing/objects/Client.java
@@ -25,7 +25,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.slicing.objects.client");
return initData;
diff --git a/java/test/src/main/java/test/Ice/slicing/objects/Server.java b/java/test/src/main/java/test/Ice/slicing/objects/Server.java
index fded6895de1..82f1d71e73f 100644
--- a/java/test/src/main/java/test/Ice/slicing/objects/Server.java
+++ b/java/test/src/main/java/test/Ice/slicing/objects/Server.java
@@ -25,7 +25,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.slicing.objects.server");
initData.properties.setProperty("Ice.Warn.Dispatch", "0");
diff --git a/java/test/src/main/java/test/Ice/stream/Client.java b/java/test/src/main/java/test/Ice/stream/Client.java
index 5d88f303e5d..b43c3de47f1 100644
--- a/java/test/src/main/java/test/Ice/stream/Client.java
+++ b/java/test/src/main/java/test/Ice/stream/Client.java
@@ -944,7 +944,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.stream");
return initData;
diff --git a/java/test/src/main/java/test/Ice/threadPoolPriority/Server.java b/java/test/src/main/java/test/Ice/threadPoolPriority/Server.java
index a1bdc6a0a31..f311b3f3b61 100644
--- a/java/test/src/main/java/test/Ice/threadPoolPriority/Server.java
+++ b/java/test/src/main/java/test/Ice/threadPoolPriority/Server.java
@@ -19,14 +19,13 @@ public class Server extends test.Util.Application
adapter.add(new PriorityI(), communicator().stringToIdentity("test"));
adapter.activate();
- communicator().waitForShutdown();
- return 0;
+ return WAIT;
}
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.ThreadPool.Server.ThreadPriority", "10");
return initData;
diff --git a/java/test/src/main/java/test/Ice/throughput/Client.java b/java/test/src/main/java/test/Ice/throughput/Client.java
index b508b11bc96..cf6b390d085 100644
--- a/java/test/src/main/java/test/Ice/throughput/Client.java
+++ b/java/test/src/main/java/test/Ice/throughput/Client.java
@@ -476,7 +476,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Demo", "test.Ice.throughput");
initData.properties.setProperty("Throughput.Proxy", "throughput:default -p 10000 -h 127.0.0.1");
diff --git a/java/test/src/main/java/test/Ice/throughput/Server.java b/java/test/src/main/java/test/Ice/throughput/Server.java
index 95737f3dc10..6d2df86a930 100644
--- a/java/test/src/main/java/test/Ice/throughput/Server.java
+++ b/java/test/src/main/java/test/Ice/throughput/Server.java
@@ -24,7 +24,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Demo", "test.Ice.throughput");
initData.properties.setProperty("Throughput.Endpoints", "default -p 10000 -h 127.0.0.1");
diff --git a/java/test/src/main/java/test/Ice/timeout/AllTests.java b/java/test/src/main/java/test/Ice/timeout/AllTests.java
index 7f0239f32c5..eb9a2c94e99 100644
--- a/java/test/src/main/java/test/Ice/timeout/AllTests.java
+++ b/java/test/src/main/java/test/Ice/timeout/AllTests.java
@@ -189,8 +189,9 @@ public class AllTests
}
out.println("ok");
- // The sequence needs to be large enough to fill the write/recv buffers
- byte[] seq = new byte[20000000];
+ // The sequence needs to be large enough to fill the write/recv buffers
+ int bufSize = (test.Util.Application.isAndroid()) ? 10000000 : 20000000;
+ byte[] seq = new byte[bufSize];
out.print("testing connection timeout... ");
out.flush();
@@ -363,6 +364,7 @@ public class AllTests
// endpoint timeouts.
//
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("Ice.Override.Timeout", "250");
Ice.Communicator comm = app.initialize(initData);
@@ -399,6 +401,7 @@ public class AllTests
// Test Ice.Override.ConnectTimeout.
//
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("Ice.Override.ConnectTimeout", "250");
@@ -452,6 +455,7 @@ public class AllTests
// Test Ice.Override.CloseTimeout.
//
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("Ice.Override.CloseTimeout", "200");
Ice.Communicator comm = app.initialize(initData);
diff --git a/java/test/src/main/java/test/Ice/timeout/Client.java b/java/test/src/main/java/test/Ice/timeout/Client.java
index 7476eb5c0e8..f963c6bf0c6 100644
--- a/java/test/src/main/java/test/Ice/timeout/Client.java
+++ b/java/test/src/main/java/test/Ice/timeout/Client.java
@@ -24,7 +24,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.timeout");
diff --git a/java/test/src/main/java/test/Ice/timeout/Server.java b/java/test/src/main/java/test/Ice/timeout/Server.java
index b4006770863..8451ab4c5fa 100644
--- a/java/test/src/main/java/test/Ice/timeout/Server.java
+++ b/java/test/src/main/java/test/Ice/timeout/Server.java
@@ -24,7 +24,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.timeout");
initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010");
diff --git a/java/test/src/main/java/test/Ice/udp/AllTests.java b/java/test/src/main/java/test/Ice/udp/AllTests.java
index 49e8b91de29..2db68f5f54a 100644
--- a/java/test/src/main/java/test/Ice/udp/AllTests.java
+++ b/java/test/src/main/java/test/Ice/udp/AllTests.java
@@ -11,6 +11,8 @@ package test.Ice.udp;
import test.Ice.udp.Test.*;
+import java.io.PrintWriter;
+
public class AllTests
{
private static void
@@ -67,8 +69,11 @@ public class AllTests
}
public static void
- allTests(Ice.Communicator communicator)
+ allTests(test.Util.Application app)
{
+ Ice.Communicator communicator = app.communicator();
+ PrintWriter out = app.getWriter();
+
communicator.getProperties().setProperty("ReplyAdapter.Endpoints", "udp -p 12030");
Ice.ObjectAdapter adapter = communicator.createObjectAdapter("ReplyAdapter");
PingReplyI replyI = new PingReplyI();
@@ -77,8 +82,8 @@ public class AllTests
(PingReplyPrx)PingReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI)).ice_datagram();
adapter.activate();
- System.out.print("testing udp... ");
- System.out.flush();
+ out.print("testing udp... ");
+ out.flush();
Ice.ObjectPrx base = communicator.stringToProxy("test -d:udp -p 12010");
TestIntfPrx obj = TestIntfPrxHelper.uncheckedCast(base);
@@ -141,72 +146,75 @@ public class AllTests
}
}
- System.out.println("ok");
+ out.println("ok");
- System.out.print("testing udp multicast... ");
- System.out.flush();
- String endpoint;
- if(communicator.getProperties().getProperty("Ice.IPv6").equals("1"))
+ if(!app.isAndroid())
{
- if(System.getProperty("os.name").contains("OS X"))
+ out.print("testing udp multicast... ");
+ out.flush();
+ String endpoint;
+ if(communicator.getProperties().getProperty("Ice.IPv6").equals("1"))
{
- endpoint = "udp -h \"ff15::1:1\" -p 12020 --interface \"::1\"";
+ if(System.getProperty("os.name").contains("OS X"))
+ {
+ endpoint = "udp -h \"ff02::1:1\" -p 12020 --interface \"lo0\"";
+ }
+ else
+ {
+ endpoint = "udp -h \"ff01::1:1\" -p 12020";
+ }
}
else
{
- endpoint = "udp -h \"ff15::1:1\" -p 12020";
+ endpoint = "udp -h 239.255.1.1 -p 12020";
}
- }
- else
- {
- endpoint = "udp -h 239.255.1.1 -p 12020";
- }
- base = communicator.stringToProxy("test -d:" + endpoint);
- TestIntfPrx objMcast = TestIntfPrxHelper.uncheckedCast(base);
+ base = communicator.stringToProxy("test -d:" + endpoint);
+ TestIntfPrx objMcast = TestIntfPrxHelper.uncheckedCast(base);
- nRetry = 5;
- while(nRetry-- > 0)
- {
- replyI.reset();
- objMcast.ping(reply);
- ret = replyI.waitReply(5, 2000);
- if(ret)
+ nRetry = 5;
+ while(nRetry-- > 0)
{
- break; // Success
+ replyI.reset();
+ objMcast.ping(reply);
+ ret = replyI.waitReply(5, 2000);
+ if(ret)
+ {
+ break; // Success
+ }
+ replyI = new PingReplyI();
+ reply = (PingReplyPrx) PingReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI)).ice_datagram();
+ }
+ if(!ret)
+ {
+ out.println("failed (is a firewall enabled?)");
+ }
+ else
+ {
+ out.println("ok");
}
- replyI = new PingReplyI();
- reply = (PingReplyPrx)PingReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI)).ice_datagram();
- }
- if(!ret)
- {
- System.out.println("failed (is a firewall enabled?)");
- }
- else
- {
- System.out.println("ok");
- }
- System.out.print("testing udp bi-dir connection... ");
- System.out.flush();
- obj.ice_getConnection().setAdapter(adapter);
- objMcast.ice_getConnection().setAdapter(adapter);
- nRetry = 5;
- while(nRetry-- > 0)
- {
- replyI.reset();
- obj.pingBiDir(reply.ice_getIdentity());
- obj.pingBiDir(reply.ice_getIdentity());
- obj.pingBiDir(reply.ice_getIdentity());
- ret = replyI.waitReply(3, 2000);
- if(ret)
+ out.print("testing udp bi-dir connection... ");
+ out.flush();
+ obj.ice_getConnection().setAdapter(adapter);
+ objMcast.ice_getConnection().setAdapter(adapter);
+ nRetry = 5;
+ while(nRetry-- > 0)
{
- break; // Success
+ replyI.reset();
+ obj.pingBiDir(reply.ice_getIdentity());
+ obj.pingBiDir(reply.ice_getIdentity());
+ obj.pingBiDir(reply.ice_getIdentity());
+ ret = replyI.waitReply(3, 2000);
+ if(ret)
+ {
+ break; // Success
+ }
+ replyI = new PingReplyI();
+ reply = (PingReplyPrx) PingReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI)).ice_datagram();
}
- replyI = new PingReplyI();
- reply = (PingReplyPrx)PingReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI)).ice_datagram();
+ test(ret);
+ out.println("ok");
}
- test(ret);
- System.out.println("ok");
//
// Sending the replies back on the multicast UDP connection doesn't work for most
@@ -214,7 +222,7 @@ public class AllTests
// Windows...). For Windows, see UdpTransceiver constructor for the details. So
// we don't run this test.
//
-// System.out.print("testing udp bi-dir connection... ");
+// out.print("testing udp bi-dir connection... ");
// nRetry = 5;
// while(nRetry-- > 0)
// {
@@ -231,11 +239,11 @@ public class AllTests
// if(!ret)
// {
-// System.out.println("failed (is a firewall enabled?)");
+// out.println("failed (is a firewall enabled?)");
// }
// else
// {
-// System.out.println("ok");
+// out.println("ok");
// }
}
}
diff --git a/java/test/src/main/java/test/Ice/udp/Client.java b/java/test/src/main/java/test/Ice/udp/Client.java
index afd4927a470..8f787b40751 100644
--- a/java/test/src/main/java/test/Ice/udp/Client.java
+++ b/java/test/src/main/java/test/Ice/udp/Client.java
@@ -16,16 +16,16 @@ public class Client extends test.Util.Application
@Override
public int run(String[] args)
{
- AllTests.allTests(communicator());
+ AllTests.allTests(this);
int num;
try
{
- num = args.length == 1 ? Integer.parseInt(args[0]) : 0;
+ num = args.length == 1 ? Integer.parseInt(args[0]) : 1;
}
catch(NumberFormatException ex)
{
- num = 0;
+ num = 1;
}
for(int i = 0; i < num; ++i)
{
@@ -37,7 +37,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.udp");
initData.properties.setProperty("Ice.Warn.Connections", "0");
diff --git a/java/test/src/main/java/test/Ice/udp/Server.java b/java/test/src/main/java/test/Ice/udp/Server.java
index 2664d3147bf..b7aecab21b8 100644
--- a/java/test/src/main/java/test/Ice/udp/Server.java
+++ b/java/test/src/main/java/test/Ice/udp/Server.java
@@ -37,9 +37,12 @@ public class Server extends test.Util.Application
adapter2.activate();
}
- Ice.ObjectAdapter mcastAdapter = communicator().createObjectAdapter("McastTestAdapter");
- mcastAdapter.add(new TestIntfI(), communicator().stringToIdentity("test"));
- mcastAdapter.activate();
+ if(!isAndroid())
+ {
+ Ice.ObjectAdapter mcastAdapter = communicator().createObjectAdapter("McastTestAdapter");
+ mcastAdapter.add(new TestIntfI(), communicator().stringToIdentity("test"));
+ mcastAdapter.activate();
+ }
return WAIT;
}
@@ -47,30 +50,33 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.Ice.udp");
initData.properties.setProperty("Ice.Warn.Connections", "0");
initData.properties.setProperty("Ice.UDP.RcvSize", "16384");
initData.properties.setProperty("Ice.UDP.SndSize", "16384");
- String endpoint;
- if(initData.properties.getProperty("Ice.IPv6").equals("1"))
+ if(!isAndroid())
{
- if(System.getProperty("os.name").contains("OS X"))
+ String endpoint;
+ if(initData.properties.getProperty("Ice.IPv6").equals("1"))
{
- endpoint = "udp -h \"ff15::1:1\" -p 12020 --interface \"::1\"";
+ if(System.getProperty("os.name").contains("OS X"))
+ {
+ endpoint = "udp -h \"ff15::1:1\" -p 12020 --interface \"::1\"";
+ }
+ else
+ {
+ endpoint = "udp -h \"ff15::1:1\" -p 12020";
+ }
}
else
{
- endpoint = "udp -h \"ff15::1:1\" -p 12020";
+ endpoint = "udp -h 239.255.1.1 -p 12020";
}
+ initData.properties.setProperty("McastTestAdapter.Endpoints", endpoint);
}
- else
- {
- endpoint = "udp -h 239.255.1.1 -p 12020";
- }
- initData.properties.setProperty("McastTestAdapter.Endpoints", endpoint);
return initData;
}
diff --git a/java/test/src/main/java/test/IceBox/configuration/Client.java b/java/test/src/main/java/test/IceBox/configuration/Client.java
index 39785e9de8a..c693f2ad179 100644
--- a/java/test/src/main/java/test/IceBox/configuration/Client.java
+++ b/java/test/src/main/java/test/IceBox/configuration/Client.java
@@ -28,7 +28,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.IceBox.configuration");
return initData;
diff --git a/java/test/src/main/java/test/IceGrid/simple/AllTests.java b/java/test/src/main/java/test/IceGrid/simple/AllTests.java
index d18a5da35fa..0288b56a179 100644
--- a/java/test/src/main/java/test/IceGrid/simple/AllTests.java
+++ b/java/test/src/main/java/test/IceGrid/simple/AllTests.java
@@ -84,6 +84,7 @@ public class AllTests
// registries and make sure locator requests are forwarded.
//
Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = IceInternal.Util.getInstance(communicator).getClassLoader();
initData.properties = communicator.getProperties()._clone();
initData.properties.setProperty("Ice.Default.Locator", "");
initData.properties.setProperty("Ice.Plugin.IceGridDiscovery", "IceGrid:IceGrid.DiscoveryPluginFactoryI");
diff --git a/java/test/src/main/java/test/IceGrid/simple/Client.java b/java/test/src/main/java/test/IceGrid/simple/Client.java
index 0da92bbeffe..9fd18b7967e 100644
--- a/java/test/src/main/java/test/IceGrid/simple/Client.java
+++ b/java/test/src/main/java/test/IceGrid/simple/Client.java
@@ -40,7 +40,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.IceGrid.simple");
return initData;
diff --git a/java/test/src/main/java/test/IceGrid/simple/Server.java b/java/test/src/main/java/test/IceGrid/simple/Server.java
index 1b349a70773..67c58c19479 100644
--- a/java/test/src/main/java/test/IceGrid/simple/Server.java
+++ b/java/test/src/main/java/test/IceGrid/simple/Server.java
@@ -38,7 +38,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
//
// Its possible to have batch oneway requests dispatched
diff --git a/java/test/src/main/java/test/IceSSL/configuration/AllTests.java b/java/test/src/main/java/test/IceSSL/configuration/AllTests.java
index 1e955c8c1f5..c19dbe0f2e5 100644
--- a/java/test/src/main/java/test/IceSSL/configuration/AllTests.java
+++ b/java/test/src/main/java/test/IceSSL/configuration/AllTests.java
@@ -32,21 +32,21 @@ public class AllTests
private static Ice.InitializationData
createClientProps(Ice.Properties defaultProperties, String defaultDir, String defaultHost)
{
- Ice.InitializationData result = new Ice.InitializationData();
- result.properties = Ice.Util.createProperties();
- result.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
if(defaultProperties.getProperty("Ice.IPv6").length() > 0)
{
- result.properties.setProperty("Ice.IPv6", defaultProperties.getProperty("Ice.IPv6"));
+ initData.properties.setProperty("Ice.IPv6", defaultProperties.getProperty("Ice.IPv6"));
}
- result.properties.setProperty("Ice.RetryIntervals", "-1");
- result.properties.setProperty("IceSSL.DefaultDir", defaultDir);
- result.properties.setProperty("IceSSL.Random", "seed.dat");
+ initData.properties.setProperty("Ice.RetryIntervals", "-1");
+ initData.properties.setProperty("IceSSL.DefaultDir", defaultDir);
+ initData.properties.setProperty("IceSSL.Random", "seed.dat");
if(defaultHost.length() > 0)
{
- result.properties.setProperty("Ice.Default.Host", defaultHost);
+ initData.properties.setProperty("Ice.Default.Host", defaultHost);
}
- return result;
+ return initData;
}
private static java.util.Map<String, String>
diff --git a/java/test/src/main/java/test/IceSSL/configuration/Client.java b/java/test/src/main/java/test/IceSSL/configuration/Client.java
index 36ecfde860d..3894ec17ef7 100644
--- a/java/test/src/main/java/test/IceSSL/configuration/Client.java
+++ b/java/test/src/main/java/test/IceSSL/configuration/Client.java
@@ -34,7 +34,7 @@ public class Client extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.IceSSL.configuration");
return initData;
diff --git a/java/test/src/main/java/test/IceSSL/configuration/Server.java b/java/test/src/main/java/test/IceSSL/configuration/Server.java
index 9438f73d419..60de476a19a 100644
--- a/java/test/src/main/java/test/IceSSL/configuration/Server.java
+++ b/java/test/src/main/java/test/IceSSL/configuration/Server.java
@@ -29,7 +29,7 @@ public class Server extends test.Util.Application
@Override
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- Ice.InitializationData initData = new Ice.InitializationData();
+ Ice.InitializationData initData = createInitializationData() ;
initData.properties = Ice.Util.createProperties(argsH);
initData.properties.setProperty("Ice.Package.Test", "test.IceSSL.configuration");
return initData;
diff --git a/java/test/src/main/java/test/Util/Application.java b/java/test/src/main/java/test/Util/Application.java
index 07c7d28b54e..97e39644391 100644
--- a/java/test/src/main/java/test/Util/Application.java
+++ b/java/test/src/main/java/test/Util/Application.java
@@ -9,17 +9,14 @@
package test.Util;
-import Ice.Communicator;
-import Ice.InitializationData;
-import Ice.LocalException;
-import Ice.LoggerI;
-import Ice.StringSeqHolder;
-import Ice.Util;
+import Ice.*;
public abstract class Application
{
public final int WAIT = 2;
+
+
public interface ServerReadyListener
{
void serverReady();
@@ -48,6 +45,7 @@ public abstract class Application
{
Ice.StringSeqHolder argsH = new Ice.StringSeqHolder(args);
Ice.InitializationData initData = getInitData(argsH);
+ initData.classLoader = _classLoader;
return main(appName, argsH.value, initData);
}
@@ -181,6 +179,16 @@ public abstract class Application
return communicator;
}
+ public Ice.Communicator initialize()
+ {
+ Ice.Communicator communicator = Util.initialize();
+ if(_communicatorListener != null)
+ {
+ _communicatorListener.communicatorInitialized(communicator);
+ }
+ return communicator;
+ }
+
public abstract int run(String[] args);
//
@@ -190,7 +198,7 @@ public abstract class Application
//
protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH)
{
- return null;
+ return createInitializationData();
}
public java.io.PrintWriter getWriter()
@@ -203,6 +211,11 @@ public abstract class Application
_printWriter = new java.io.PrintWriter(writer);
}
+ public void setLogger(Ice.Logger logger)
+ {
+ _logger = logger;
+ }
+
public void setServerReadyListener(ServerReadyListener cb)
{
_cb = cb;
@@ -221,23 +234,50 @@ public abstract class Application
}
}
+ static public boolean isAndroid()
+ {
+ return IceInternal.Util.isAndroid();
+ }
//
// Return the application name, i.e., argv[0].
//
- public String
- appName()
+ public String appName()
{
return _testName;
}
- public Communicator
- communicator()
+ public Communicator communicator()
{
return _communicator;
}
+ public void setClassLoader(ClassLoader c)
+ {
+ _classLoader = c;
+ }
+
+ public ClassLoader getClassLoader()
+ {
+ return _classLoader;
+ }
+
+ public InitializationData createInitializationData()
+ {
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.classLoader = _classLoader;
+ initData.logger = _logger;
+ return initData;
+ }
+
+ public ClassLoader classLoader()
+ {
+ return _classLoader;
+ }
+
+ private ClassLoader _classLoader;
private String _testName;
private Communicator _communicator;
+ private Ice.Logger _logger = null;
private java.io.PrintWriter _printWriter = new java.io.PrintWriter(new java.io.OutputStreamWriter(System.out));
private ServerReadyListener _cb = null;
private CommunicatorListener _communicatorListener = null;