History of Changes



Version 0.9.16 (2003-04-12)

  • fix Fix followRedirects so that it works with ports other than 80. Thanks to igor.pascual @ for reporting. (JT)
  • add Added fileRequest action task, which lets one apply Anteater tests to a local file. (JT) Thanks to James Gessling.
  • add Add filename-format property and setFilenameFormat attribute for loggers, which allows users to specify a template name for log files. The default is TEST-${groupid}_${taskname}_${url}_line-${lineno}_test-${vm-count}${_run-:run}.xml (JT) Thanks to James Gessling.
  • fix Fixed a bug where when haltonerror is true (the default), the last failing test does not generate a log file. (JT) Thanks to James Gessling.
  • add Added a overwrite property for loggers. If set to false, log files won't be overwritten across Anteater runs. (JT)
  • fix Fixed a bug where HTTP BASIC authentication failed due to a corrupted socket outputstream. Thanks to Dan Dexter for reporting, and Brian Robinson for the fix. (JT)
  • fix Fixed major bug where <contentEquals href="..."> would always pass. (JT) Thanks to James Gessling.
  • fix Include antRun and antRun.bat scripts, so exec can be called from Anteater scripts. Thanks to Ying-Yi Huang. (JT)
  • fix Fix a bug where if a 302 redirect is encountered with a server-relative Location: path (not absolute), Anteater would die with a 'No protocol' error. Thanks to Ying-Yi Huang for reporting. (JT)
  • fix Attempt to fix a problem with anteater-update.bat, reported under Win2k, where the update script is downloaded but not applied. (JT)
  • fix When a connection error occurs, throw a proper BuildException to cause a non-zero exit code. Thanks to Dan Dexter. (JT)
  • fix Fix a stupid oversight, where the 'description' attribute of a group was not used, but a 'description' property was. Thanks to Shane Taylor for pointing this out. (JT)
  • fix Fixed a bug where tests would have incorrect 'package' attribute in the TESTS XML file. Thanks for Shane Taylor for reporting. (JT)

Version 0.9.15 (2002-11-16)

  • fix Update the jelly 'update' to use commons-beanutils-1.5.jar instead of the SNAPSHOT. (JT)
  • fix Get the 'validate' target (and webapp) working again with the latest Forrest. (JT)
  • add HTML reports now display the task description. In frames, each record displays the task @description, or if not available, the target @description. Categories and various other URLs also have rollover descriptions. In noframes, the task @description is printed above each test, and group description property (if any) in the category table. This is all overridable by users. (JT)
  • fix Rationalize the set of description properties made available to reporters. For each testcase, the following properties are made available:
    1. project.description - project description
    2. group.description - Any description property set in groups. Inheritable
    3. target.description - Target @description attributen
    4. task.description - Task @description attribute
    5. description - First of the above which is non-blank, from task to project.
  • add Fixed SSL to support unsigned certificates, which are commonly encountered in development environments. (II)
  • fix JTidy error message are now captured and included in the HTML reports. (JT)
  • fix Reduce duplicate error messages in logs. Matcher test errors (not just failures) now trigger an immediate end to that matcher, rather than going through the other tests. (JT)

Version 0.9.14 (2002-10-25)

  • add Added a 'followRedirects' flag to httpRequest. If set to true, HTTP 302 redirects will be transparently followed, and the redirected-to page tested. (JT)
  • add Add support for HTTPS URLs. Requires JSSE jars, which are included in JDK 1.4 and above. (JT)
  • fix Fixed annoying bug where text logs misreported the URL being tested:
    Starting http://unset_host:0/...
  • add Added an 'enable' flag which, when set to false, lets one 'switch off' certain tests in certain groups. The use-case is to allows tests to be grouped into 'profiles' (normal, strict, extra-strict), and then unwanted profiles can be disabled at runtime. (JT)
  • add Request params can now be specified as part of the URL query string, as an alternative to the existing <parameter> tag. (JT)
  • fix JTidy now no longer replaces <i>, <b> etc with CSS. (JT)
  • fix Text logger: print headers in an easier to read format. (JT)
  • add Print a warning when an unused regexp group (...) is the probable cause of a failed match. (JT)
  • add Add 'ignoreSpaces' property to regexp and xpath matchers. This allows an easy way to ignore whitespace differences in dynamically produced HTML. It is automatically set if 'usetidy' is true (and not explicitly overridden). (JT)
  • fix Switch off JTidy's clean-up-HTML feature, which was converting tags to CSS. (JT)
  • add Added <uses> tag, which allows scripts to specify what Anteater version and features the script requires. (JT)
  • fix Fix bug where it was impossible to add a data type to the default group with the 'group' attribute, eg <logger group="default"> (JT)
  • fix Fix bug where <httpRequest href=""> wouldn't work, it needed a trailing '/'. This is now automatically added. (JT)
  • update When a matcher test throws an error (not a failure), don't evaluate other tests. (JT)
  • fix Fixed bug in <image> tag, which would die with a NullPointerException if the HTTP response body was empty. (JT)
  • fix Better 'xpath' error messages. When JTidy parsing fails, fall back to the raw content, causing the XPath parser to reports a more meaningful error. (JT)
  • fix Small XML logger fix; previously, blank exceptions would cause an Anteater stacktrace. (JT)
  • fix Header names are now case-insensitive, as per the HTTP spec. (JT)
  • fix Binary response data is no longer printed to the terminal when debuggin, which used to mess up the terminal. Instead a message like Got body: <<binary data. type='image/svg-xml' length=531>> is printed. (JT)
  • fix Examples now all use the <waitfor> task to wait for the Tomcat server to start, rather than sleeping for X seconds and hoping for the best. This reduces execution time too. (JT)
  • fix Fixed a bug where 'match' elements wouldn't exit after the first had succeeded. (JT)

Version 0.9.13 (2002-10-11)

  • add Added anteate-update scripts. These allow extensions to Anteater to be automatically downloaded and applied. Current optional features include 'jelly' (Jelly support), 'xhtml-schema' (Relax NG xhtml schemas) and 'rng-schemas' (general RNG schemas). (JT)
  • add Anteater scripts now have a set of anteater.* properties automatically defined. With these, they can determine the Anteater version and Anteater optional features present. (JT)
  • fix Fixed anteater.bat, which was completely broken after the Ant 1.5.1 upgrade. (JT) Thanks to Robert Leftwich.
  • fix Fixed build.bat in source distribution, which wouldn't work if ANT_OPTS wasn't set. (JT) Thanks to Robert Leftwich.
  • fix Fixed small cookie parsing bug. (JT)

Version 0.9.12 (2002-10-8)

  • update Updated jars and scripts to those from Ant 1.5.1 (JT)
  • add Added install-jelly.jelly.{bat,sh} scripts for easy installation of Jelly. (JT)
  • add 'sendResponse' can now contain nested 'responseCode', 'contentEquals' and 'header' elements. (JT)
  • fix Fixed text logger output for 'header' tests. (JT)
  • fix In the text log, the '..done' message is printed on the same line as the rest of the test message. (JT)
  • fix Fix bug where matchers with dynamically generated contents don't print it in the text logger. (JT)

Version 0.9.11 (2002-10-5)

  • fix Make session cookie parsing much more robust, fixing a bug reported by Reinhard Poetz. (JT)
  • fix Fixed a bug where the parameter matcher could break if there were multiple values for a single parameter. (JT)
  • add sendResponse (used to send HTTP responses) can now have it's body content specified as nested text. It may also be generated dynamically by a nested jelly tag. (JT)
  • add

    Added Jelly support. All matcher tasks may now take a nested <jelly> element. The specified jelly script will be run, and it's output used as the body contents of the nesting element. This allows us to dynamically create HTTP responses and requests.

    Jelly support is optional; the jars can be automatically downloaded by invoking the ${anteater.resources}/scripts/install-jelly.xml script.

  • fix Fixed a bug where a POSTed message with no body would not generate a correct request (no content-length) (JT)
  • fix Fixed a bug in the XPath matcher, where tests like <xpath select="/html/body//p" value="abc"/> would ignore the 'value' and succeed if any of the selected nodes were present. (JT)
  • fix It is now possible to have nested 'contentEquals' and 'method' elements directly below an action task. These are used to set the HTTP body contents, and HTTP method respectively. Previously, these had to be done via attributes, which aren't flexible enough (but still supported). (JT)
  • fix Fix a serious bug with the DOS script, where Anteater would report Target `' does not exist in this project.. (JT) Thanks to Ivelin Ivanov.

Version 0.9.10 (2002-09-28)

  • add Added the 'blob' (aka 'image') matcher, which allows one to validate binary file formats. Currently, a selection of images (including jpg, png, gif and swf) can be detected, courtesy of Marco Schmidt's ImageInfo class. (JT)
  • fix Fixed a bug where if we had:
            <group id="a">
              <logger type="xml"/>
              <group id="b"/>
            <httpRequest group="b" ... />
    Then the XML log reported the httpRequest's log as belonging to group 'a', not 'b'. This was because the logger belongs to group a. Now the ownership gets propagated down to 'b'. (JT)
  • remove Commented out the example banner in the frames HTML reports. (JT)
  • add The location of each test is now stored as part of the test properties (see 'Properties > > ' link in the frames HTML). (JT)
  • fix Fixed a large reporting bug, where tests with the same base URL but different parameters were overwriting each other's HTML report files. As a result, the frames HTML would have a bunch of links to the same test. (JT)
  • fix Fix a JTidy problem, where if a HTML resource has a DOCTYPE declaration, it would leave us with invalid XML. The adopted solution is to always strip the DOCTYPE declaration. (JT)
  • add Add a 'pattern' attribute to the XPath matcher. This allows one to match a regexp pattern against the string value of a node identified by an XPath pattern. (JT)
  • fix Fix bug where if more than one 'parameter' or 'header' element was specified underneath an action task, only the last was picked up. (JT)
  • fix Fix regexp and contentEquals matchers so that text body content has expressions substituted. Eg: <regexp>${someProperty}</regexp> (JT)
  • update When invoking the report target, the log.dir property may now be omitted. It will default to 'logs', same as the XML logger does. (JT)

Version (2002-09-19)

  • fix Cleaned up some build problems, verified samples work in preparation for release. (JT)
  • fix Fixed bug where examples/resources/sessiondemo.war was corrupt in binary distributions. (JT)
  • fix Fixed bug in the 'haltonerror' logic. Previously, haltonerror only worked if the last (or only) test gave an error. Now, any test in the matcher triggers haltonerror. (JT) Thanks to Ivelin Ivanov.
  • fix Fixed bug where XML files with DTDs specified in their DOCTYPE declarations didn't parse. (JT) Thanks to Ivelin Ivanov.
  • update Replaced the yucky PNG logo with an equally yucky SVG logo :) An excuse to exploit Cocoon's svg2png serializer, and now changing the logo can be done by anyone. (JT)
  • add Created a website, built with Forrest and Cocoon. See (JT)

Version 0.9.9 (2002-08-22)

  • add Wrote DTDs, XSLT and XSL:FO stylesheets for Anteater's user manual. Docs are written a derivative of Apache's XML DTD with custom additions for documenting an XML framework, thus keeping the doc source semantically rich. Stylesheets then convert this to HTML or PDF. PDF results can be seen at HTML results at (OP)
  • add Wrote first draft of the user manual. (OP)
  • update Additions to user manual. (JT)
  • add Added an examples/ directory with 25-odd demonstration scripts. (JT)
  • add Beginnings of "metadata" model started, with inheritable "description" property that can be attached to a project, group or action task. (JT)
  • add New grouping system, whereby tasks can be grouped together and collectively assigned loggers, sessions, namespaces, and config properties. This makes writing large test scripts much simpler. Groups are hierarchical and inherit/override objects from their ancestor. There is an implicit default group. Group properties can be specified from the command-line, so for example one can set a global debug level with -Ddefault.debug=10 (JT)
  • add Anteater is now fully configurable by properties, and this is integrated with the grouping system. Configurable settings include default host, port, timeout, debug level, logger, HTTP protocol, error handling (haltonerror) and use of JTidy. (JT)
  • add Pluggable logging system implemented via <logger type=".."/>. Text, color (default), 'minimal' and XML loggers implemented. XML logger outputs XML extending that produced by JUnit's formatter. (JT)
  • add XML-to-HTML reporting implemented. This is an adaptation of the XSLTs used in <junitreport>. Both frames and non-frames HTML implemented. Tests are grouped by 'group' (see above). HTML reporting target now built into Anteater; can be invoked via <ant antfile="${}"/>. See examples/report.xml (JT)
  • add Improved ability to do conditional logic in the matchers of action tasks. Added a 'value' attribute to <match>. We can now have <match assign="someprop" value="someval">, and if that matcher's tests all succeed, then 'someprop' is set to value 'someval'. Typical use-case: a number of matchers will set a variable to different values if they match, allowing us to determine after the action task what happened. See examples/logic_*.xml (JT)
  • add <deploy> task added for deploying webapps or wars. See examples/deploy.xml (JT)
  • fix <http> element removed in favour of <group> (JT)
  • fix Method matcher now ignores case. (JT)
  • add Regexp matcher now uses Jakarta ORO, fixing an infinite loop bug. Regexp 'group' values, eg (.*), can now be assigned to Ant properties. (JT)
  • add Add regexp capabilities to header and responseCode matchers. Eg, one can now do: <header name="Content-Type" pattern="text/*"/> to match all text responses, or: <responseCode pattern="3.."/> to match all 'redirect' responses. One can also assign a regexp group to a value with: <header name="Content-Type" assign="texttype" pattern="text/(.*)"/>. See examples/header.xml (JT)
  • add New Relax NG matcher added. See examples/relaxng.xml (JT)
  • add XPath matcher substantially upgraded. Can now specify boolean '/foo/bar=baz' tests. (JT)
  • add Namespace support added for XPath matcher. See examples/xpath.xml (JT)
  • add Session support added. See examples/session.xml (JT)
  • add Fix bug where a HTTP keepalive response by servers could seemingly hang Anteater. (JT)
  • fix The 'href' and 'content' attributes now resolve properly from the Ant basedir. (JT)
  • fix Anteater now reports an error when offline, instead of hanging. (JT)
  • fix URLs now need not specify port. (JT)

Version 0.9.3 (2002-04-15)

  • Released version 0.9.3 (OP)