User: juhalindfors
  Date: 02/02/28 12:08:51

  Modified:    src/main/test/compliance/server MBeanServerTEST.java
  Log:
  three trivial invocation tests that are tricky for the optimized dispatcher:
  handling of double word primitives and calculating the correct operand stack size
  
  Revision  Changes    Path
  1.6       +174 -1    jmx/src/main/test/compliance/server/MBeanServerTEST.java
  
  Index: MBeanServerTEST.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/test/compliance/server/MBeanServerTEST.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MBeanServerTEST.java      22 Feb 2002 16:44:33 -0000      1.5
  +++ MBeanServerTEST.java      28 Feb 2002 20:08:51 -0000      1.6
  @@ -33,7 +33,7 @@
    * Tests the MBean server impl. through the <tt>MBeanServer</tt> interface.
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Juha Lindfors</a>.
  - * @version $Revision: 1.5 $
  + * @version $Revision: 1.6 $
    *   
    */
   public class MBeanServerTEST
  @@ -46,6 +46,179 @@
   
      
      // MBeanServer invoke --------------------------------------------
  +   
  +   /**
  +    * Tests invoke with primitive boolean return type
  +    */
  +   public void testInvokeWithPrimitiveBooleanReturn()
  +   {
  +      try
  +      {
  +         MBeanServer server = MBeanServerFactory.createMBeanServer();
  +         ObjectName name = new ObjectName(":test=test");
  +         server.registerMBean(new Test(), name);
  +         
  +         Boolean bool = (Boolean)server.invoke(name, "opWithPrimBooleanReturn", 
null, null);
  +         
  +         assertTrue(bool.booleanValue() == true);
  +         
  +         System.setProperty("jbossmx.optimized.dispatcher", "true");
  +
  +         server = MBeanServerFactory.createMBeanServer();
  +         name = new ObjectName(":test=test");
  +         server.registerMBean(new Test(), name);
  +         
  +         bool = (Boolean)server.invoke(name, "opWithPrimBooleanReturn", null, null);
  +         
  +         assertTrue(bool.booleanValue() == true);
  +
  +      }
  +      catch (AssertionFailedError e)
  +      {
  +         throw e;
  +      }
  +      catch (Throwable t)
  +      {
  +         t.printStackTrace();
  +         fail("Unexpected error: " + t.toString());
  +      }
  +      finally
  +      {
  +            System.setProperty("jbossmx.optimized.dispatcher", "false");
  +      }      
  +   }
  +
  +   /**
  +    * Tests invoke with primitive long return type
  +    */
  +   public void testInvokeWithPrimitiveLongReturn()
  +   {
  +      try
  +      {
  +         MBeanServer server = MBeanServerFactory.createMBeanServer();
  +         ObjectName name = new ObjectName(":test=test");
  +         server.registerMBean(new Test(), name);
  +         
  +         Long l = (Long)server.invoke(name, "opWithPrimLongReturn", null, null);
  +         
  +         assertTrue(l.longValue() == 1234567890123l);
  +         
  +         System.setProperty("jbossmx.optimized.dispatcher", "true");
  +
  +         server = MBeanServerFactory.createMBeanServer();
  +         name = new ObjectName(":test=test");
  +         server.registerMBean(new Test(), name);
  +         
  +         l = (Long)server.invoke(name, "opWithPrimLongReturn", null, null);
  +         
  +         assertTrue(l.longValue() == 1234567890123l);
  +
  +      }
  +      catch (AssertionFailedError e)
  +      {
  +         throw e;
  +      }
  +      catch (Throwable t)
  +      {
  +         t.printStackTrace();
  +         fail("Unexpected error: " + t.toString());
  +      }
  +      finally
  +      {
  +            System.setProperty("jbossmx.optimized.dispatcher", "false");
  +      }      
  +   }
  +
  +   /**
  +    * Tests invoke with primitive double return type
  +    */
  +   public void testInvokeWithPrimitiveDoubleReturn()
  +   {
  +      try
  +      {
  +         MBeanServer server = MBeanServerFactory.createMBeanServer();
  +         ObjectName name = new ObjectName(":test=test");
  +         server.registerMBean(new Test(), name);
  +         
  +         Double d = (Double)server.invoke(name, "opWithPrimDoubleReturn", null, 
null);
  +         
  +         assertTrue(d.doubleValue() == 0.1234567890123d);
  +         
  +         System.setProperty("jbossmx.optimized.dispatcher", "true");
  +
  +         server = MBeanServerFactory.createMBeanServer();
  +         name = new ObjectName(":test=test");
  +         server.registerMBean(new Test(), name);
  +         
  +         d = (Double)server.invoke(name, "opWithPrimDoubleReturn", null, null);
  +         
  +         assertTrue(d.doubleValue() == 0.1234567890123d);
  +
  +      }
  +      catch (AssertionFailedError e)
  +      {
  +         throw e;
  +      }
  +      catch (Throwable t)
  +      {
  +         t.printStackTrace();
  +         fail("Unexpected error: " + t.toString());
  +      }
  +      finally
  +      {
  +            System.setProperty("jbossmx.optimized.dispatcher", "false");
  +      }      
  +   }
  +   
  +   /**
  +    * Tests invoke with long signature
  +    */
  +   public void testInvokeWithLongSignature()
  +   {
  +      try
  +      {
  +         MBeanServer server = MBeanServerFactory.createMBeanServer();
  +         ObjectName name = new ObjectName(":test=test");
  +         server.registerMBean(new Test(), name);
  +         
  +         server.invoke(name, "opWithLongSignature", 
  +         new Object[] { new Integer(1), new Integer(2), new Integer(3), new 
Integer(4), new Integer(5),
  +                        new Integer(6), new Integer(7), new Integer(8), new 
Integer(9), new Integer(10),
  +                        new Integer(11), new Integer(12), new Integer(13), new 
Integer(14), new Integer(15),
  +                        new Integer(16), new Integer(17), new Integer(18), new 
Integer(19), new Integer(20) },
  +         new String[] { "int", "int", "int", "int", "int", "int", "int", "int", 
"int", "int",
  +                        "int", "int", "int", "int", "int", "int", "int", "int", 
"int", "int" }
  +         );
  +         
  +         System.setProperty("jbossmx.optimized.dispatcher", "true");
  +
  +         server = MBeanServerFactory.createMBeanServer();
  +         name = new ObjectName(":test=test");
  +         server.registerMBean(new Test(), name);
  +         
  +         server.invoke(name, "opWithLongSignature",
  +         new Object[] { new Integer(1), new Integer(2), new Integer(3), new 
Integer(4), new Integer(5),
  +                        new Integer(6), new Integer(7), new Integer(8), new 
Integer(9), new Integer(10),
  +                        new Integer(11), new Integer(12), new Integer(13), new 
Integer(14), new Integer(15),
  +                        new Integer(16), new Integer(17), new Integer(18), new 
Integer(19), new Integer(20) },
  +         new String[] { "int", "int", "int", "int", "int", "int", "int", "int", 
"int", "int",
  +                        "int", "int", "int", "int", "int", "int", "int", "int", 
"int", "int" }
  +         );
  +      }
  +      catch (AssertionFailedError e)
  +      {
  +         throw e;
  +      }
  +      catch (Throwable t)
  +      {
  +         t.printStackTrace();
  +         fail("Unexpected error: " + t.toString());
  +      }
  +      finally
  +      {
  +            System.setProperty("jbossmx.optimized.dispatcher", "false");
  +      }      
  +   }
      
      /**
       * Attempts to invoke a method on an unregistered MBean; 
<tt>InstanceNotFoundException</tt> should occur.
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to