Index of /files/apache-ant-1.7.0-quiet

Index of /files/apache-ant-1.7.0-quiet

Apache Ant Quiet/Oneline are modifications of Apache Ant 1.7.0 (revision 503170) and 1.8.0alpha (revision 638724) that supports the JUnit formatters "quiet" and "oneline". "quiet" only prints output for test cases that have failures or errors, while "oneline" prints out one brief summary line per test when it succeeds, and full output on failures.

These enhancements have been filed as Bugzilla Issue 41534. and are now being considered for Apache Ant version 1.8.0. Therefore, I have produced new distributions and patches based on revision 638724. Comlete binary distributions and source distributions have been provided here; source distributions containing only the modified files and patch files (output from svn diff) are also available. When using this software, please respect Apache Ant's original license.

Apache Ant 1.8.0alpha (revision 638724):
  • Binary distribution:
apache-ant-1.8.0alpha-r638724-bin-quiet-oneline.tar.gz
  • Source distribution:
apache-ant-1.8.0alpha-r638724-src-quiet-oneline.tar.gz
  • Modified source files:
apache-ant-1.8.0alpha-r638724-src-quiet-oneline-diff.tar.gz
  • Patch file:
quiet-oneline-patch-r638724
Apache Ant 1.7.0 (revision 503170):
  • Binary distribution:
apache-ant-1.7.0-bin-quiet.tar.gz
  • Source distribution:
apache-ant-1.7.0-src-quiet.tar.gz
  • Modified source files:
apache-ant-1.7.0-src-quiet-diff.tar.gz
  • Patch file:
quiet-patch-r503170


      Name                                                        Last modified       Size  

[DIR] Parent Directory 02-Feb-2007 20:42 - [   ] apache-ant-1.7.0-bin-quiet.tar.gz 05-Feb-2007 17:45 8.5M [   ] apache-ant-1.7.0-src-quiet-diff.tar.gz 05-Feb-2007 17:45 18k [   ] apache-ant-1.7.0-src-quiet.tar.gz 05-Feb-2007 17:45 10.2M [   ] apache-ant-1.8.0alpha-r638724-bin-quiet-oneline.tar.gz 19-Mar-2008 02:16 8.8M [   ] apache-ant-1.8.0alpha-r638724-src-quiet-oneline-diff.tar.gz 19-Mar-2008 02:40 23k [   ] apache-ant-1.8.0alpha-r638724-src-quiet-oneline.tar.gz 19-Mar-2008 02:50 19.1M [   ] quiet-oneline-patch-r638724 19-Mar-2008 02:50 21k [   ] quiet-patch-r503170 02-Feb-2007 23:26 11k



Here is a comparison of the "brief" and the new "quiet" abd "oneline" formatters. The "brief" formatter still generates a lot of output. There's only one failure, but it's hard to spot:

     [echo] Running all 5.0 tests matching 'util' under Java 5.0
    [junit] Testsuite: edu.rice.cs.util.ArgumentTokenizerTest
    [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.011 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.BidirectionalHashMapTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.011 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.ClassPathVectorTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.017 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.CompletionMonitorTest
    [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.06 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.FileOpsTest
    [junit] Tests run: 9, Failures: 0, Errors: 0, Time elapsed: 0.058 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.LogTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 2.142 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.OrderedBidirectionalHashMapTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.014 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.OrderedHashSetTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.028 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.PreventExitSecurityManagerTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.032 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.ReaderWriterLockTest
    [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 0.161 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.StreamRedirectorTest
    [junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.012 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.StringOpsTest
    [junit] Tests run: 15, Failures: 1, Errors: 0, Time elapsed: 0.039 sec
    [junit] 
    [junit] Testcase: testReplace(edu.rice.cs.util.StringOpsTest):      FAILED
    [junit] null
    [junit] junit.framework.AssertionFailedError
    [junit]     at edu.rice.cs.util.StringOpsTest.testReplace(StringOpsTest.java:49)
    [junit] 
    [junit] 
    [junit] Test edu.rice.cs.util.StringOpsTest FAILED
    [junit] Testsuite: edu.rice.cs.util.classloader.StickyClassLoaderTest
    [junit] Tests run: 6, Failures: 0, Errors: 0, Time elapsed: 0.105 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.classloader.StrictURLClassLoaderTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.057 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.classloader.ToolsJarClassLoaderTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.008 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.docnavigation.JListSortNavigatorTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 1.123 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.docnavigation.JTreeSortNavigatorTest
    [junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.604 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.jar.JarCreationTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.04 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.newjvm.ExecJVMTest
    [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.766 sec
    [junit] 
    [junit] ------------- Standard Output ---------------
    [junit] Configuration Error: Working directory does not exist:
    [junit] /private/tmp/drjava-test18611.tmp
    [junit] The setting will be ignored. Press OK to continue.
    [junit] ------------- ---------------- ---------------
    [junit] Testsuite: edu.rice.cs.util.newjvm.IntegratedMasterSlaveTest
    [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 4.825 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.sexp.SExpParserTest
    [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.058 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.sexp.TokensTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.007 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.swing.HighlightManagerTest
    [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.456 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.text.ConsoleDocumentTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.322 sec
    [junit] 
    [junit] Testsuite: edu.rice.cs.util.text.SwingDocumentTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.244 sec
    [junit] 

BUILD FAILED

The new "quiet" formatter outputs the bare minimum, exactly what we want to know:

     [echo] Running all 5.0 tests matching 'util' under Java 5.0
    [junit] Testsuite: edu.rice.cs.util.StringOpsTest
    [junit] Tests run: 15, Failures: 1, Errors: 0, Time elapsed: 0.033 sec
    [junit] 
    [junit] Testcase: testReplace(edu.rice.cs.util.StringOpsTest):      FAILED
    [junit] null
    [junit] junit.framework.AssertionFailedError
    [junit]     at edu.rice.cs.util.StringOpsTest.testReplace(StringOpsTest.java:49)
    [junit] 
    [junit] 
    [junit] Test edu.rice.cs.util.StringOpsTest FAILED

BUILD FAILED

This reduction of distracting noise now also enables us to set haltonfailure="no" and instead set a property with failureproperty="junitfailed", which we can later check to make the build fail: <fail if="junitfailed" message="One or more unit tests failed."/>. This will let JUnit process all tests, and not stop at the first failure.

There was a request for something between the entirely silent "quiet" formatter and the verbose "brief", so I created the "oneline" formatter. It prints out one summary line per test if the test succeeds; if the test fails, the output is the same as with the other two formatters:

     [echo] Running all 5.0 tests matching 'util' under Java 5.0
    [junit] ArgumentTokenizerTest                        0.045 sec
    [junit] BidirectionalHashMapTest                     0.033 sec
    [junit] ClassPathVectorTest                          0.065 sec
    [junit] CompletionMonitorTest                        0.077 sec
    [junit] FileOpsTest                                  0.163 sec
    [junit] LogTest                                      0.572 sec
    [junit] OrderedBidirectionalHashMapTest              0.03 sec
    [junit] OrderedHashSetTest                           0.043 sec
    [junit] PreventExitSecurityManagerTest               0.073 sec
    [junit] ReaderWriterLockTest                         0.217 sec
    [junit] StreamRedirectorTest                         0.036 sec
    [junit] StringOpsTest                                0.11 sec
    [junit] Tests run: 15, Failures: 1, Errors: 0
    [junit] 
    [junit] Testcase: testReplace(edu.rice.cs.util.StringOpsTest):      FAILED
    [junit] null
    [junit] junit.framework.AssertionFailedError
    [junit]     at edu.rice.cs.util.StringOpsTest.testReplace(StringOpsTest.java:49)
    [junit] 
    [junit] 
    [junit] Test edu.rice.cs.util.StringOpsTest FAILED
    [junit] StickyClassLoaderTest                        0.161 sec
    [junit] StrictURLClassLoaderTest                     0.229 sec
    [junit] ToolsJarClassLoaderTest                      0.019 sec
    [junit] JListSortNavigatorTest                       0.391 sec
    [junit] JTreeSortNavigatorTest                       0.54 sec
    [junit] JarCreationTest                              0.145 sec
    [junit] ExecJVMTest                                  0.77 sec
    [junit] IntegratedMasterSlaveTest                    6.43 sec
    [junit] SExpParserTest                               0.098 sec
    [junit] TokensTest                                   0.024 sec
    [junit] HighlightManagerTest                         0.271 sec
    [junit] ConsoleDocumentTest                          0.123 sec
    [junit] SwingDocumentTest                            0.122 sec

The output by "oneline" is still condensed by a factor of three when compared to "brief", but it gives good, reassuring feedback about the tests that were actually run.