Tero Koskinen is sharing code with you

Bitbucket is a code hosting site. Unlimited public and private repositories. Free for small teams.

Don't show this again

tkoskine / Ahven http://ahven.stronglytyped.org/

Unit test library for Ada 95

Clone this repository (size: 741.2 KB): HTTPS / SSH
hg clone https://bitbucket.org/tkoskine/ahven
hg clone ssh://hg@bitbucket.org/tkoskine/ahven

Ahven / NEWS

Tag
ahven-1.4
2009-01-22 Ahven 1.4
====================

Changes
-------
    * Type Ahven.Framework.Test_Result and related code was removed.
      Ahven.Framework.Execute now takes Listeners.Result_Listener'Class
      directly instead of Test_Result object.

    * New abstract function Test_Count was added to the Test type.
      The function returns the amount of test routines which will
      be executed when the Run procedure is called.

    * Test Anything Protocol (TAP) support: There is now a new
      Ahven.Tap_Runner package, which outputs test results in
      TAP format (versions 1.2 and 1.3 are supported).

    * Get_Message and Get_Long_Message functions now return String
      instead of Unbounded_String.

    * The GNAT project files for GNAT 3.15p were synchronised
      with the GNAT GPL versions.

    * Janus/Ada build scripts are now in the 'janusada' directory
      instead of 'contrib\janusada'.

    * New (generic) assertion procedure:
        Assert_Equal (Expected, Actual, Message).
      Suggestion and the source code from Pawel Plazienski.

    * New procedure for inserting stack-allocated tests into test suites:
        Add_Static_Test (Suite, T).

    * Internally, almost all Unbounded_Strings were converted into
      VStrings. This limits the maximum length of test names and
      failure messages to 160 characters. Constraint_Error is
      raised for overlong test names and too long failure messages
      are silently truncated into 160 characters.

Bugs fixed
----------
    * Text-based test runner results are now aligned in a better way.

Internal
--------
    * All lists were converted into singly linked lists. Lists were
      made generic wherever possible.

    * Listeners.Output_Capture was combined into Listeners.Basic.

2008-08-13 Ahven 1.3
====================

Changes
-------
    * Example configuration for Cruisecontrol was added.

    * The GNAT project file for GNAT 3.15p was added. 

    * Fix for bug #12165 and make test suite to work
      with Janus/Ada 3.1.x.

Bugs fixed
----------
    * The API documentation is now generated also for
      the Ahven.Compat and Ahven.XML_Runner packages.

    * The use of System.Address_To_Access_Conversions was removed.
      This allows Ahven to be compiled with Janus/Ada.
      At the same time, Ahven.Framework.Run (T : Test;...)
      was changed back to Ahven.Framework.Run (T : in out Test;...).
      Sorry for the inconvenience.

    * Non-standard pragmas were removed. The code should compile
      now on multiple Ada compilers without warnings about
      unrecognised pragmas.

Internal
--------
    * Variable "OS" in Makefile and GNAT project files was renamed
      to "OS_Version".

    * New tests:
        Result_Tests.Test_Add_{Pass,Failure,Error},
        Framework_Tests.Test_Tear_Down,
        Ahven.Result_Listener_List.Test_Append.

    * Removed tests: List_Tests.*.

    * Code cleanups:
      + Duplicate code from Text_Runner.Run and XML_Runner.Run
        moved into Runner.Run_Suite.
      + Duplicate code from various Framework.Run procedures was
        moved into Framework.Run_Internal.

    * Ahven.Doubly_Linked_List was removed. This is related
      to bug #12165.

2008-05-12 Ahven 1.2
====================

Changes
-------
    * New XML_Runner which generates JUnit compatible XML test results.
      XML_Runner can be either run explicitly or via Text_Runner
      using the '-x' parameter.

    * Unused access types Test_Access, Test_Case_Class_Access,
      Test_Case_Access, Test_Suite_Class_Access, Result_Listener_Access,
      Test_Command_Access, Test_Object_Command_Access,
      Basic_Listener_Access, and Output_Capture_Listener_Access removed.

    * Ahven.Framework.Run (T : in out Test;...) is changed to
      Ahven.Framework.Run (T : Test;...), because 'in out' mode
      was not necessary.

    * New procedures/functions:
        Ahven.Text_Runner.Run (Suite : Framework.Test_Suite'Class);
        Ahven.Framework.Create_Suite return Test_Suite;
      With these, the suite can be created on stack and one does not
      need to play with access types.

Bugs fixed
----------
    * Ahven can be now compiled with GNAT 3.15p.

    * The GNAT project file should work on Windows again.

Internal
--------
    * XML_Runner introduced a need for some platform specific files.
      Therefore, 'src' directory now contains subdirectories 'unix'
      and 'windows'.

    * New tests: Result_Tests.Test_*

    * Next_* procedures for in the Results package were replaced
      with proper iterators.

2008-01-30 Ahven 1.1
====================

Changes
-------
    * The Ahven.Framework and the test runners are able to optionally
      run only the tests which match the given name.

    * The default Text_Runner is able to capture Ada.Text_IO output
      from a test into a temporary file and show the output if
      the test does not pass.
      Option '-c' turns the capture feature on.

    * The default Text_Runner shows the exception message in addition
      to the exception name when the test ends in error.
      (Idea and original patch from Alexander Senier)

    * The default Text_Runner is now able to provide a short summary
      instead of full test report.
      Use option '-q' to get the test summary.

    * The GNAT project file is now called 'ahven.gpr' instead of
      old 'ahven_lib.gpr'.

    * ALI files (*.ali) are now installed read-only, so GNAT
      does not try to rebuild the library.
      (Patch from Alexander Senier)

    * Function Ahven.Framework.Name is renamed
      to Ahven.Framework.Get_Name.

    * Shared library produced by GNAT now includes the version number.

Internal
--------
    * New listener: Output_Capture_Listener, which will
      forward Ada.Text_IO output into a temporary file.

    * Type Ahven.Results.Result_Place is renamed to
      Ahven.Results.Result_Info.

    * Ahven.Double_Linked_List is renamed to Ahven.Doubly_Linked_List,
      because other Ada linked list implementations also use
      similar naming scheme.

    * AdaControl is used to enforce some parts of the coding style.
      This caused some API changes, but in most cases the changes
      are invisible.

2007-10-24 Ahven 1.0
====================
Initial release.

Ahven is a simple unit test library for Ada 95.
It is modeled after JUnit and some ideas are
taken from AUnit. Ahven 1.0 is distributed under
ISC license.

Features
========
* Test, Test_Case, and Test_Suite classes (tagged types)
* Assert and Fail procedures for triggering assertion failures
* Text-based test runner

Tero Koskinen <tero.koskinen@iki.fi>