javacommons/utils/tsrc/javasrc/com/nokia/mj/impl/rt/support/JvmPortBasicTest.java
author hgs
Fri, 15 Oct 2010 12:29:39 +0300
changeset 80 d6dafc5d983f
permissions -rw-r--r--
v2.2.19_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
80
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     1
/*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     3
* All rights reserved.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     8
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    11
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    12
* Contributors:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    13
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    14
* Description:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    15
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    16
*/
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    17
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    18
package com.nokia.mj.impl.rt.support;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    19
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    20
import com.nokia.mj.impl.rt.test.UnitTestSuiteCreator;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    21
import com.nokia.mj.impl.rt.test.JvmPortTest;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    22
import com.nokia.mj.impl.rt.support.Jvm;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    23
import com.nokia.mj.impl.rt.support.JvmInternal;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    24
import j2meunit.framework.Test;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    25
import j2meunit.framework.TestCase;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    26
import j2meunit.framework.TestMethod;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    27
import j2meunit.framework.TestSuite;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    28
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    29
/**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    30
 * JvmPort basic unit tests. Testing that the delegation works.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    31
 */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    32
public class JvmPortBasicTest extends TestCase implements UnitTestSuiteCreator
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    33
{
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    34
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    35
    // Begin j2meunit test framework setup
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    36
    public TestSuite createTestSuite(String[] args)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    37
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    38
        TestSuite suite = new TestSuite(this.getClass().getName());
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    39
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    40
        suite.addTest(new JvmPortBasicTest("testJvm", new TestMethod()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    41
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    42
            public void run(TestCase tc)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    43
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    44
                ((JvmPortBasicTest)tc).testJvm();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    45
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    46
        }));
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    47
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    48
        suite.addTest(new JvmPortBasicTest("testVmPortNotExist", new TestMethod()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    49
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    50
            public void run(TestCase tc)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    51
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    52
                ((JvmPortBasicTest)tc).testVmPortNotExist();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    53
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    54
        }));
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    55
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    56
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    57
        return suite;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    58
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    59
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    60
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    61
    public JvmPortBasicTest()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    62
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    63
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    64
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    65
    public JvmPortBasicTest(String aTestName, TestMethod aTestMethod)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    66
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    67
        super(aTestName, aTestMethod);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    68
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    69
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    70
    // End j2meunit test framework setup
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    71
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    72
    protected void setUp()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    73
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    74
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    75
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    76
    protected void tearDown()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    77
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    78
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    79
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    80
    private void checkCallCounts(String info, int ind)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    81
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    82
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    83
        assertTrue(info + " failed " + JvmPortTest.print(),
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    84
                   JvmPortTest.checkCalls(ind));
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    85
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    86
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    87
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    88
    private void checkObjects(String info, Object obj1, Object obj2, Object res)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    89
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    90
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    91
        boolean ok = JvmPortTest.mObj1 == obj1;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    92
        if (!ok && obj1 != null)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    93
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    94
            ok = obj1.equals(JvmPortTest.mObj1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    95
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    96
        assertTrue(info + " failed. obj1 " + obj1 + " != " + " mObj1 " + JvmPortTest.mObj1, ok);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    97
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    98
        ok = JvmPortTest.mObj2 == obj2;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    99
        if (!ok && obj2 != null)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   100
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   101
            ok = obj2.equals(JvmPortTest.mObj2);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   102
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   103
        assertTrue(info + " failed. obj2 " + obj2 + " != " + " mObj2 " + JvmPortTest.mObj2, ok);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   104
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   105
        ok = JvmPortTest.mReturnObj == res;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   106
        if (!ok && res != null)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   107
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   108
            ok = res.equals(JvmPortTest.mReturnObj);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   109
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   110
        assertTrue(info + " failed. res " + res + " != " + " mReturnObj " + JvmPortTest.mReturnObj, ok);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   111
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   112
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   113
    // Test cases
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   114
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   115
    private static final String sysProp = "com.nokia.jvm.port";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   116
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   117
    private void setPort(String port)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   118
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   119
        JvmPortTest.setSystemPropertyImpl(sysProp, port);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   120
        JvmPortTest.resetInstance();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   121
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   122
    private void testJvm()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   123
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   124
        final String testProp = "test.JvmPortTest";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   125
        String origPort = System.getProperty(sysProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   126
        try
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   127
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   128
            Object testObject1 = new String("testlib");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   129
            Object testObject2 = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   130
            Object returnObject = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   131
            String methodName;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   132
            //************ Jvm.loadSystemLibrary ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   133
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   134
            Jvm.loadSystemLibrary((String)testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   135
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   136
            methodName = "Jvm.loadSystemLibrary()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   137
            checkCallCounts(methodName, JvmPortTest.LOADSYSTEMLIBRARY_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   138
            checkObjects(methodName, testObject1, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   139
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   140
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   141
            //************ Jvm.loadApplicationClass ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   142
            testObject1 = new String("testClass");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   143
            JvmPortTest.mReturnObj = getClass();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   144
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   145
            returnObject = Jvm.loadApplicationClass((String)testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   146
            methodName = "Jvm.loadApplicationClass()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   147
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   148
            checkCallCounts(methodName, JvmPortTest.LOADAPPLICATIONCLASS_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   149
            checkObjects(methodName, testObject1, null, returnObject);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   150
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   151
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   152
            JvmPortTest.mThrowable = new ClassNotFoundException();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   153
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   154
            try
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   155
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   156
                returnObject = Jvm.loadApplicationClass((String)testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   157
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   158
                assertTrue(methodName + ", no Excpetion", false);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   159
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   160
            catch (ClassNotFoundException cnfe)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   161
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   162
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   163
                assertTrue(methodName + ", wrong exception: " + cnfe,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   164
                           cnfe == JvmPortTest.mThrowable);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   165
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   166
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   167
            checkCallCounts(methodName, JvmPortTest.LOADAPPLICATIONCLASS_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   168
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   169
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   170
            //************ Jvm.setThreadAsDaemon ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   171
            testObject1 = new Thread(new Runnable()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   172
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   173
                public void run() {}
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   174
            });
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   175
            testObject2 = new Boolean(true);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   176
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   177
            Jvm.setThreadAsDaemon((Thread)testObject1, ((Boolean)testObject2).booleanValue());
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   178
            methodName = "Jvm.setThreadAsDaemon()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   179
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   180
            checkCallCounts(methodName, JvmPortTest.SETTHREADASDAEMON_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   181
            checkObjects(methodName, testObject1, testObject2, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   182
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   183
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   184
            JvmPortTest.mThrowable = new IllegalThreadStateException();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   185
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   186
            try
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   187
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   188
                Jvm.setThreadAsDaemon((Thread)testObject1, ((Boolean)testObject2).booleanValue());
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   189
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   190
                assertTrue(methodName + ", no Excpetion", false);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   191
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   192
            catch (IllegalThreadStateException itse)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   193
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   194
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   195
                assertTrue(methodName + ", wrong exception: " + itse,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   196
                           itse == JvmPortTest.mThrowable);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   197
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   198
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   199
            checkCallCounts(methodName, JvmPortTest.SETTHREADASDAEMON_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   200
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   201
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   202
            JvmPortTest.mThrowable = new SecurityException();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   203
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   204
            try
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   205
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   206
                Jvm.setThreadAsDaemon((Thread)testObject1, ((Boolean)testObject2).booleanValue());
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   207
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   208
                assertTrue(methodName + ", no Excpetion", false);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   209
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   210
            catch (SecurityException se)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   211
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   212
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   213
                assertTrue(methodName + ", wrong exception: " + se,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   214
                           se == JvmPortTest.mThrowable);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   215
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   216
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   217
            checkCallCounts(methodName, JvmPortTest.SETTHREADASDAEMON_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   218
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   219
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   220
            //************ Jvm.getResourceAsNativeMemory ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   221
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   222
            testObject1 = new String("jarPath");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   223
            testObject2 = new String("resName");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   224
            JvmPortTest.mReturnObj = new NativeMemoryBlock()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   225
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   226
                public long getPointer()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   227
                {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   228
                    return 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   229
                }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   230
                public int getSize()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   231
                {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   232
                    return 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   233
                }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   234
                public void freeMemory() {}
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   235
            };
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   236
            returnObject = Jvm.getResourceAsNativeMemory((String)testObject1, (String)testObject2);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   237
            methodName = "Jvm.getResourceAsNativeMemory()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   238
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   239
            checkCallCounts(methodName, JvmPortTest.GETRESOURCEASNATIVEMEMORY_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   240
            checkObjects(methodName, testObject1, testObject2, returnObject);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   241
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   242
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   243
            //************ JvmInternal.enableRuntimeExit ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   244
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   245
            JvmInternal.enableRuntimeExit();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   246
            methodName = "JvmInternal.enableRuntimeExit()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   247
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   248
            checkCallCounts(methodName, JvmPortTest.ENABLERUNTIMEEXIT_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   249
            checkObjects(methodName, null, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   250
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   251
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   252
            //************ JvmInternal.disableRuntimeExit ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   253
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   254
            JvmInternal.disableRuntimeExit();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   255
            methodName = "JvmInternal.disableRuntimeExit()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   256
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   257
            checkCallCounts(methodName, JvmPortTest.DISABLERUNTIMEEXIT_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   258
            checkObjects(methodName, null, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   259
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   260
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   261
            //************ JvmInternal.exitVm ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   262
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   263
            testObject1 = new Integer(42);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   264
            JvmInternal.exitVm(((Integer)testObject1).intValue());
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   265
            methodName = "JvmInternal.exitVm()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   266
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   267
            checkCallCounts(methodName, JvmPortTest.EXITVM_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   268
            checkObjects(methodName, testObject1, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   269
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   270
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   271
            //************ JvmInternal.enableFinalization ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   272
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   273
            testObject1 = getClass();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   274
            JvmInternal.enableFinalization((Class)testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   275
            methodName = "JvmInternal.enableFinalization()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   276
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   277
            checkCallCounts(methodName, JvmPortTest.ENABLEFINALIZATION_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   278
            checkObjects(methodName, testObject1, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   279
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   280
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   281
            //************ JvmInternal.runFinalization ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   282
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   283
            JvmInternal.runFinalization();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   284
            methodName = "JvmInternal.runFinalization()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   285
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   286
            checkCallCounts(methodName, JvmPortTest.RUNFINALIZATION_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   287
            checkObjects(methodName, null, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   288
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   289
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   290
            //************ JvmInternal.runYoungGenerationGc ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   291
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   292
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   293
            JvmPortTest.mReturnObj = new Boolean(true);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   294
            boolean res = JvmInternal.runYoungGenerationGc();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   295
            returnObject = new Boolean(res);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   296
            methodName = "JvmInternal.runYoungGenerationGc()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   297
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   298
            checkCallCounts(methodName, JvmPortTest.RUNYOUNGGENERATIONGC_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   299
            checkObjects(methodName, null, null, returnObject);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   300
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   301
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   302
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   303
            //************ JvmInternal.setThreadEventListener ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   304
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   305
            testObject1 = new ThreadEventListener()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   306
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   307
                public void threadStarting(Thread newThread, Thread parentThread) {}
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   308
                public void threadDied(Thread thread) {}
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   309
                public void uncaughtException(Thread thread, Throwable e) {}
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   310
            };
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   311
            JvmInternal.setThreadEventListener((ThreadEventListener)testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   312
            methodName = "JvmInternal.setThreadEventListener()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   313
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   314
            checkCallCounts(methodName, JvmPortTest.SETTHREADEVENTLISTENER_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   315
            checkObjects(methodName, testObject1, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   316
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   317
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   318
            //************ JvmInternal.addRestrictedPackagePrefixes ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   319
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   320
            testObject1 = new String[] {"package1, package2, package3"};
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   321
            JvmInternal.addRestrictedPackagePrefixes((String[])testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   322
            methodName = "JvmInternal.addRestrictedPackagePrefixes()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   323
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   324
            checkCallCounts(methodName, JvmPortTest.ADDRESTRICTEDPACKAGEPREFIXES_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   325
            checkObjects(methodName, testObject1, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   326
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   327
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   328
            JvmPortTest.mThrowable = new SecurityException();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   329
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   330
            try
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   331
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   332
                JvmInternal.addRestrictedPackagePrefixes((String[])testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   333
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   334
                assertTrue(methodName + ", no Excpetion", false);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   335
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   336
            catch (SecurityException se)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   337
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   338
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   339
                assertTrue(methodName + ", wrong exception: " + se,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   340
                           se == JvmPortTest.mThrowable);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   341
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   342
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   343
            checkCallCounts(methodName, JvmPortTest.ADDRESTRICTEDPACKAGEPREFIXES_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   344
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   345
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   346
            //************ JvmInternal.addProtectedPackagePrefixes ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   347
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   348
            testObject1 = new String[] {"package4, package5, package6"};
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   349
            JvmInternal.addProtectedPackagePrefixes((String[])testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   350
            methodName = "JvmInternal.addProtectedPackagePrefixes()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   351
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   352
            checkCallCounts(methodName, JvmPortTest.ADDPROTECTEDPACKAGEPREFIXES_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   353
            checkObjects(methodName, testObject1, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   354
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   355
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   356
            JvmPortTest.mThrowable = new SecurityException();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   357
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   358
            try
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   359
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   360
                JvmInternal.addProtectedPackagePrefixes((String[])testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   361
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   362
                assertTrue(methodName + ", no Excpetion", false);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   363
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   364
            catch (SecurityException se)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   365
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   366
                setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   367
                assertTrue(methodName + ", wrong exception: " + se,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   368
                           se == JvmPortTest.mThrowable);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   369
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   370
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   371
            checkCallCounts(methodName, JvmPortTest.ADDPROTECTEDPACKAGEPREFIXES_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   372
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   373
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   374
            //************ JvmInternal.appendToClassPath ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   375
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   376
            testObject1 = new String("class to append");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   377
            JvmInternal.appendToClassPath((String)testObject1);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   378
            methodName = "JvmInternal.appendToClassPath()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   379
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   380
            checkCallCounts(methodName, JvmPortTest.APPENDTOCLASSPATH_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   381
            checkObjects(methodName, testObject1, null, null);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   382
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   383
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   384
            //************ JvmInternal.shrinkJavaHeapToMinimum ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   385
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   386
            JvmPortTest.mReturnObj = new Integer(22);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   387
            int res2 = JvmInternal.shrinkJavaHeapToMinimum();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   388
            returnObject = new Integer(res2);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   389
            methodName = "JvmInternal.shrinkJavaHeapToMinimum()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   390
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   391
            checkCallCounts(methodName, JvmPortTest.SHRINKJAVAHEAPTOMINIMUM_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   392
            checkObjects(methodName, null, null, returnObject);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   393
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   394
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   395
            //************ JvmInternal.expandJavaHeap ***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   396
            setPort(testProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   397
            testObject1 = new Integer(33);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   398
            JvmPortTest.mReturnObj = new Integer(44);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   399
            int res3 = JvmInternal.expandJavaHeap(((Integer)testObject1).intValue());
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   400
            returnObject = new Integer(res3);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   401
            methodName = "JvmInternal.expandJavaHeap()";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   402
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   403
            checkCallCounts(methodName, JvmPortTest.EXPANDJAVAHEAP_CALL);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   404
            checkObjects(methodName, testObject1, null, returnObject);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   405
            JvmPortTest.clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   406
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   407
            //************ END***************************
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   408
            assertTrue("Calls missed", JvmPortTest.allCalled());
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   409
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   410
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   411
        catch (Throwable t)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   412
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   413
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   414
            t.printStackTrace();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   415
            assertTrue(t.toString(), false);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   416
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   417
        setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   418
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   419
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   420
    private void testVmPortNotExist()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   421
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   422
        System.out.println("NOTE!! IT IS EXPECTED THAT THIS TEST WILL LEAD TO SOME ERROR LOGS.");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   423
        final String testProp = "test.JvmPortTest";
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   424
        String origPort = System.getProperty(sysProp);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   425
        try
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   426
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   427
            setPort("TestPort");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   428
            JvmInternal.enableRuntimeExit();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   429
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   430
            assertTrue("No exception.", false);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   431
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   432
        catch (RuntimeException re)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   433
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   434
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   435
            int ind = re.toString().indexOf("Not able to instantiate class com.nokia.mj.impl.rt.TestPort");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   436
            boolean ok = ind >= 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   437
            if (!ok)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   438
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   439
                // Accept also java.lang.ExceptionInInitializerError.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   440
                ok = re.toString().equals("java.lang.ExceptionInInitializerError");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   441
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   442
            assertTrue(re.toString(),  ok);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   443
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   444
        catch (Throwable t)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   445
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   446
            t.printStackTrace();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   447
            assertTrue(t.toString(), false);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   448
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   449
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   450
        try
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   451
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   452
            setPort(origPort);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   453
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   454
        catch (Throwable t)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   455
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   456
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   457
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   458
}