curcuru     01/11/27 10:31:17

  Modified:    test/java/src/org/apache/qetest/xalanj2
                        TraceListenerTest.java
  Log:
  Split up testcases so they're somewhat more atomic;
  vary logging levels and also do more add/remove testing
  
  Revision  Changes    Path
  1.4       +181 -15   
xml-xalan/test/java/src/org/apache/qetest/xalanj2/TraceListenerTest.java
  
  Index: TraceListenerTest.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/test/java/src/org/apache/qetest/xalanj2/TraceListenerTest.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TraceListenerTest.java    2001/07/27 17:28:18     1.3
  +++ TraceListenerTest.java    2001/11/27 18:31:17     1.4
  @@ -89,7 +89,7 @@
   /**
    * Basic functionality testing of TraceListener interface and etc.
    * @author [EMAIL PROTECTED]
  - * @version $Id: TraceListenerTest.java,v 1.3 2001/07/27 17:28:18 curcuru 
Exp $
  + * @version $Id: TraceListenerTest.java,v 1.4 2001/11/27 18:31:17 curcuru 
Exp $
    */
   public class TraceListenerTest extends XSLProcessorTestBase
   {
  @@ -110,7 +110,7 @@
       /** Just initialize test name, comment, numTestCases. */
       public TraceListenerTest()
       {
  -        numTestCases = 2;  // REPLACE_num
  +        numTestCases = 4;  // REPLACE_num
           testName = "TraceListenerTest";
           testComment = "Basic functionality testing of TraceListener 
interface and etc";
       }
  @@ -185,8 +185,8 @@
           }
           catch (Throwable t)
           {
  -            reporter.checkFail("testCase1a threw: " + t.toString());
               reporter.logThrowable(Logger.ERRORMSG, t, "testCase1a threw: ");
  +            reporter.checkFail("testCase1a threw: " + t.toString());
           }
   
           try
  @@ -220,8 +220,8 @@
           }
           catch (Throwable t)
           {
  -            reporter.checkFail("testCase1b threw: " + t.toString());
               reporter.logThrowable(Logger.ERRORMSG, t, "testCase1b threw: ");
  +            reporter.checkFail("testCase1b threw: " + t.toString());
           }
   
           reporter.testCaseClose();
  @@ -300,28 +300,194 @@
               
reporter.check(tracedEvents3[LoggingTraceListenerEx.TYPE_SELECTED], 3, 
                              "LTLE Correct number of selected events for 
testfile " + testFileInfo.getDescription());
               
  -            // Verify removing some doesn't affect the others  //@todo add 
separate test
  +        }
  +        catch (Throwable t)
  +        {
  +            reporter.logThrowable(Logger.ERRORMSG, t, "testCase2 threw: ");
  +            reporter.checkFail("testCase2 threw: " + t.toString());
  +        }
  +
  +        reporter.testCaseClose();
  +        return true;
  +    }
  +
  +
  +    /**
  +     * Test adding and removing multiple simultaneous trace listeners.
  +     *
  +     * @return false if we should abort the test; true otherwise
  +     */
  +    public boolean testCase3()
  +    {
  +        reporter.testCaseInit("Test adding and removing multiple 
simultaneous trace listeners");
  +        reporter.logWarningMsg("Note: limited validation: partly just a 
crash test so far.");
  +
  +        try
  +        {
  +            TransformerFactory factory = TransformerFactory.newInstance();
  +            Transformer transformer = 
factory.newTransformer(testFileInfo.getXSLSource());
  +
  +            TraceManager traceManager = 
((TransformerImpl)transformer).getTraceManager();
  +            reporter.check((null != traceManager), true, "getTraceManager is 
non-null");
  +            reporter.check(traceManager.hasTraceListeners(), false, 
"traceManager.hasTraceListeners() false before adding");
  +
  +            LoggingTraceListener ltl = new LoggingTraceListener(reporter);
  +            LoggingPrintTraceListener ltl2 = new 
LoggingPrintTraceListener(reporter);
  +            LoggingTraceListenerEx ltl3 = new 
LoggingTraceListenerEx(reporter);
  +            
  +            // Add one trace listener
  +            reporter.logInfoMsg("Transformer created, 
addTraceListener(LoggingTraceListener)..."); 
  +            traceManager.addTraceListener((TraceListener)ltl);
  +            reporter.check(traceManager.hasTraceListeners(), true, 
"traceManager.hasTraceListeners() true after adding1");
  +
  +            // Remove one
  +            traceManager.removeTraceListener((TraceListener)ltl);
  +            reporter.check(traceManager.hasTraceListeners(), false, 
"traceManager.hasTraceListeners() false after removing1");
  +
  +            // Add multiple 
  +            traceManager.addTraceListener((TraceListener)ltl);
  +            reporter.check(traceManager.hasTraceListeners(), true, 
"traceManager.hasTraceListeners() true after adding1b");
  +            
  +            traceManager.addTraceListener((TraceListener)ltl2);
  +            reporter.check(traceManager.hasTraceListeners(), true, 
"traceManager.hasTraceListeners() true after adding2");
  +
  +            traceManager.addTraceListener((TraceListener)ltl3);
  +            reporter.check(traceManager.hasTraceListeners(), true, 
"traceManager.hasTraceListeners() true after adding3");
  +            
  +            // Remove one
  +            traceManager.removeTraceListener((TraceListener)ltl2);
  +            reporter.check(traceManager.hasTraceListeners(), true, 
"traceManager.hasTraceListeners() true after adding3 removing1");
  +
  +            // Remove all
               traceManager.removeTraceListener((TraceListener)ltl);
               traceManager.removeTraceListener((TraceListener)ltl3);
  -            ltl2.reset();
  +            reporter.check(traceManager.hasTraceListeners(), false, 
"traceManager.hasTraceListeners() false after adding3 removing3");
  +
  +            // Add one back and check transform
  +            traceManager.addTraceListener((TraceListener)ltl);
  +            reporter.check(traceManager.hasTraceListeners(), true, 
"traceManager.hasTraceListeners() true after adding1c");
  +         
  +            // Force trace listener to not bother logging, just capture 
statistics
  +            ltl.setLoggingLevel(100); // HACK - happens to be above 99, 
which is what we usually set max level tofs
  +            reporter.logInfoMsg("About to create output: " + 
outNames.nextName()); 
  +            transformer.transform(testFileInfo.getXMLSource(),
  +                                  new StreamResult(outNames.currentName()));
  +            reporter.checkPass("Crash test only: returned from transform() 
call");
               
  -            // Verify new Xalan-J 2.x specific property
  +            // Now ask each listener how many events it traced
  +            int[] tracedEvents = ltl.getCounters();
  +            reporter.logStatusMsg("Last event traced(LTL):" + ltl.getLast());
  +            reporter.logStatusMsg("Events traced(LTL):" + 
tracedEvents[LoggingTraceListener.TYPE_TRACE]
  +                                  + " events generated:" + 
tracedEvents[LoggingTraceListener.TYPE_GENERATED]
  +                                  + " events selected:" + 
tracedEvents[LoggingTraceListener.TYPE_SELECTED]);
  +            reporter.check(tracedEvents[LoggingTraceListener.TYPE_SELECTED], 
3, 
  +                           "LTL Correct number of selected events for 
testfile " + testFileInfo.getDescription());
  +        }
  +        catch (Throwable t)
  +        {
  +            reporter.logThrowable(Logger.ERRORMSG, t, "testCase3-add/remove 
threw: ");
  +            reporter.checkFail("testCase3-add/remove threw: " + 
t.toString());
  +        }
  +
  +        reporter.testCaseClose();
  +        return true;
  +    }
  +
  +
  +    /**
  +     * Test TraceListener with XalanProperties.SOURCE_LOCATION.
  +     *
  +     * @return false if we should abort the test; true otherwise
  +     */
  +    public boolean testCase4()
  +    {
  +        reporter.testCaseInit("Test TraceListener with 
XalanProperties.SOURCE_LOCATION");
  +        reporter.logWarningMsg("Note: limited validation: partly just a 
crash test so far.");
  +
  +        try
  +        {
  +            TransformerFactory factory = TransformerFactory.newInstance();
  +            Transformer transformer = 
factory.newTransformer(testFileInfo.getXSLSource());
  +
  +            TraceManager traceManager = 
((TransformerImpl)transformer).getTraceManager();
  +            reporter.logTraceMsg("getTraceManager is:" + traceManager);
  +
  +            LoggingTraceListener ltl = new LoggingTraceListener(reporter);
  +            ltl.setLoggingLevel(Logger.INFOMSG + 1);
  +            
  +            reporter.logInfoMsg("Transformer created, 
addTraceListener(LoggingTraceListener)..."); 
  +            traceManager.addTraceListener((TraceListener)ltl);
  +            
  +            // Verify new Xalan-J 2.x specific property as true (non-default 
value)
               reporter.logInfoMsg("About to run with Source Location Property 
ON"); 
  -            reporter.logInfoMsg("About to create output: " + 
outNames.nextName()); 
               
((TransformerImpl)transformer).setProperty(XalanProperties.SOURCE_LOCATION, 
Boolean.TRUE);
  +            reporter.logInfoMsg("About to create output: " + 
outNames.nextName()); 
               transformer.transform(testFileInfo.getXMLSource(),
                                     new StreamResult(outNames.currentName()));
  +            reporter.logInfoMsg("Done creating output: " + 
outNames.currentName());
  +
  +            int[] tracedEvents = ltl.getCounters();
  +            reporter.logStatusMsg("Last event traced(LPTL):" + 
ltl.getLast());
  +            reporter.logStatusMsg("Events traced(LPTL):" + 
tracedEvents[LoggingPrintTraceListener.TYPE_TRACE]
  +                                  + " events generated:" + 
tracedEvents[LoggingPrintTraceListener.TYPE_GENERATED]
  +                                  + " events selected:" + 
tracedEvents[LoggingPrintTraceListener.TYPE_SELECTED]);
  +            reporter.checkPass("Crash test: completed transformations with 
SOURCE_LOCATION just ON");
  +        }
  +        catch (Throwable t)
  +        {
  +            reporter.logThrowable(Logger.ERRORMSG, t, 
"testCase4a-XalanProperties.SOURCE_LOCATION threw: ");
  +            reporter.checkFail("testCase4a-XalanProperties.SOURCE_LOCATION 
threw: " + t.toString());
  +        }
  +
  +        try
  +        {
  +            TransformerFactory factory = TransformerFactory.newInstance();
  +            Transformer transformer = 
factory.newTransformer(testFileInfo.getXSLSource());
  +
  +            TraceManager traceManager = 
((TransformerImpl)transformer).getTraceManager();
  +            reporter.logTraceMsg("getTraceManager is:" + traceManager);
  +
  +            LoggingTraceListener ltl = new LoggingTraceListener(reporter);
  +            ltl.setLoggingLevel(Logger.INFOMSG + 1);
               
  -            int[] tracedEvents4 = ltl2.getCounters();
  -            reporter.logStatusMsg("Last event traced(LPTL):" + 
ltl2.getLast());
  -            reporter.logStatusMsg("Events traced(LPTL):" + 
tracedEvents4[LoggingPrintTraceListener.TYPE_TRACE]
  -                                  + " events generated:" + 
tracedEvents4[LoggingPrintTraceListener.TYPE_GENERATED]
  -                                  + " events selected:" + 
tracedEvents4[LoggingPrintTraceListener.TYPE_SELECTED]);
  +            reporter.logInfoMsg("Transformer created, 
addTraceListener(LoggingTraceListener)..."); 
  +            traceManager.addTraceListener((TraceListener)ltl);
  +            
  +            // Verify new Xalan-J 2.x specific property; false then true
  +            reporter.logInfoMsg("About to run with Source Location Property 
OFF"); 
  +            
((TransformerImpl)transformer).setProperty(XalanProperties.SOURCE_LOCATION, 
Boolean.FALSE);
  +            reporter.logInfoMsg("About to create output: " + 
outNames.nextName()); 
  +            transformer.transform(testFileInfo.getXMLSource(),
  +                                  new StreamResult(outNames.currentName()));
  +            reporter.logInfoMsg("Done creating output: " + 
outNames.currentName());
  +
  +            int[] tracedEvents1 = ltl.getCounters();
  +            reporter.logStatusMsg("Last event traced(LPTL):" + 
ltl.getLast());
  +            reporter.logStatusMsg("Events traced(LPTL):" + 
tracedEvents1[LoggingPrintTraceListener.TYPE_TRACE]
  +                                  + " events generated:" + 
tracedEvents1[LoggingPrintTraceListener.TYPE_GENERATED]
  +                                  + " events selected:" + 
tracedEvents1[LoggingPrintTraceListener.TYPE_SELECTED]);
  +
  +            ltl.reset();
  +
  +            // Verify new Xalan-J 2.x specific property; false then true
  +            reporter.logInfoMsg("About to run with Source Location Property 
ON"); 
  +            
((TransformerImpl)transformer).setProperty(XalanProperties.SOURCE_LOCATION, 
Boolean.TRUE);
  +            reporter.logInfoMsg("About to create output: " + 
outNames.nextName()); 
  +            transformer.transform(testFileInfo.getXMLSource(),
  +                                  new StreamResult(outNames.currentName()));
  +            reporter.logInfoMsg("Done creating output: " + 
outNames.currentName());
  +
  +            int[] tracedEvents2 = ltl.getCounters();
  +            reporter.logStatusMsg("Last event traced(LPTL):" + 
ltl.getLast());
  +            reporter.logStatusMsg("Events traced(LPTL):" + 
tracedEvents2[LoggingPrintTraceListener.TYPE_TRACE]
  +                                  + " events generated:" + 
tracedEvents2[LoggingPrintTraceListener.TYPE_GENERATED]
  +                                  + " events selected:" + 
tracedEvents2[LoggingPrintTraceListener.TYPE_SELECTED]);
  +            reporter.checkPass("Crash test: completed transformations with 
SOURCE_LOCATION OFF and ON");
           }
           catch (Throwable t)
           {
  -            reporter.checkFail("testCase2 threw: " + t.toString());
  -            reporter.logThrowable(Logger.ERRORMSG, t, "testCase2 threw: ");
  +            reporter.logThrowable(Logger.ERRORMSG, t, 
"testCase4b-XalanProperties.SOURCE_LOCATION threw: ");
  +            reporter.checkFail("testCase4b-XalanProperties.SOURCE_LOCATION 
threw: " + t.toString());
           }
   
           reporter.testCaseClose();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to