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

????-??-?? Ahven 1.9
====================

Changes
-------
    * Manual was added to 'doc/manual/en' directory. It includes
          User's Guide section and API documentation. The documentation
          is written using reStructuredText and Sphinx 1.0, so Python
          and py-sphinx is required for building. API documentation
          generation via Adabrowse is still supported, but it will be
          deprecated and dropped later.
         

Internal
--------
    * Package Ahven.VStrings was replaced with an instantiation of
      Ada.Strings.Bounded.Generic_Bounded_Length. This allowed us to
      remove over 100 lines of code.

2010-06-02 Ahven 1.8
====================

Changes
-------
    * The dynamic library support with GNAT was removed since
      it did not work automatically in a trouble-free way on
      Debian, Fedora, and Windows.

    * Ada.Calendar dependency was removed from Ahven.Framework.
      Equivalent functionality is now implemented in
      the test runners.

    * Support for TAP 1.3 was dropped. TAP 1.2 is supported
      normally.
    
    * Janus/Ada 3.1.1d support was dropped. Ahven now requires
      Janus/Ada 3.1.2beta or newer.

    * There is now ahven.spec file in contrib/fedora to
      make packaging and installing Ahven easier on Fedora.

Bugs fixed
----------
    * If user placed a dynamically allocated Test_Case into
      a statically allocated Test_Suite the finalization
      procedure tried to release the same memory twice.
      This is now fixed by implementing Adjust for the
      Test_Suite type. (Bug bitbucket#2)

    * Many Some_Type'(initial values) expressions were
      changed into more simpler (initial values) form.
      This was done to avoid Janus/Ada bug no 73.

Internal
--------
    * Code cleanup: style fixes, removal of compiler warnings
      and comment clarifications.

    * Remove_All procedure from Ahven.SList package was renamed
      to Clear. The new name is more consistent with Ada.Containers
      naming style.

    * Ahven.VStrings package now depends on Ada.Strings.Fixed.

    * Ahven.Framework.Indefinite_Test_List has no longer
      procedures or functions for Cursors. Same functionality
      can be now achieved using generic For_Each procedure.

2009-09-14 Ahven 1.7
====================

Changes
-------
    * The source code repository and the issue tracker are
      now hosted at Bitbucket, http://bitbucket.org/tkoskine/ahven

    * The usage of Unbounded_String was completely removed
      from all packages. Now Ahven.Framework.Get_Name function
      returns String.

    * GNAT project files (.gpr) were moved to the 'gnat' directory.

    * The upper limit (Count_Type'Last) of Ahven.SList
      is now documented.

    * A PDF report generation example from XML result files
      was added to 'contrib/docbook-testreport'. From Reto Buerki.

Bugs fixed
----------
    * Fix Contraint_Error when one tries to truncate
      overlong string. Bug report and patch from Reto Buerki.
      (Bug bitbucket#1)

    * XML_Runner now filters special characters like space or /
      from the filenames. Patch from Reto Buerki.

Internal
--------
    * Makefile now has 'tags' target for generating 'tags' file.
      It assumes that ctags utility has support for Ada.

    * It is no longer necessary to have procedure or function
      declarations for all procedures and functions. The purpose
      is to allow somewhat shorter code.

    * User's Guide has seen some progress, but it is still not
      completely ready. (=one should not rely on it.)

    * In the test code, some Assert calls were converted to
      more compact Assert_Equal calls.

2009-02-28 Ahven 1.6
====================

Bugs fixed
----------
    * Installation scripts for GNAT were fixed.
      Bug report and patch from Reto Buerki.

2009-02-23 Ahven 1.5
====================

Changes
-------
    * Ahven is now hosted at sourceforge.net. New URLs are:
      Project page: http://sourceforge.net/projects/ahven
      Home page:    http://ahven.sourceforge.net/

    * Janus/Ada build system was rewritten. See README for details.
      Also, some minor changes were done to GNAT build scripts.

Bug fixed
---------
    * API documentation was not generated for the Ahven.SList package.

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).
      Idea from Pawel Plazienski.

    * 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.
      This was done for better Janus/Ada 3.1.1d compatibility.

Bugs fixed
-----------
    * Text-based test runner results are now aligned in a better way.
      Fix for bug #12220.

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>