Tero's profileSpace: TeroBlogLists Tools Help

Blog


    October 11

    New website layout for Ahven

    I had some extra time, so I decided to redo Ahven's website layout.
    I am not a graphics designer and therefore I used a free CSS template
    from oswd.org.
    October 03

    Ahven 1.7 released

    I recently released Ahven 1.7. Please see the SourceForge download page for the source code.

    June 25

    Ahven: Source code and issue tracker now at Bitbucket

    I decided to move Ahven’s source code repository and issue tracker to Bitbucket. This is because during a last few months I haven’t been able to access Sourceforge’s Mercurial repositories occasionally.

    All this time I have maintained mirror of the repository at Bitbucket and so far it has been more stable to me. In addition, it was easier to setup commit notifications for Bitbucket repositories.

    I apologize all the trouble with the constant change of Ahven’s services, but hopefully things stabilize at some point.

    March 18

    Mercurial used for Ahven source code

    I made yet another change to Ahven's hosting settings.
    Since Sourceforge added support for Mercurial, I took advantage of the change
    and started using Mercurial instead of CVS.

    Now I need to install/update Mercurial separately every time when I (re)install
    or upgrade my OS, but Mercurial is much easier to use than Subversion or CVS,
    so it is worth the trouble.
    February 28

    Ahven now hosted at SourceForge.net

    I changed the hosting of Ahven from Gna to SourceForge.net.
    While SourceForge is pretty slow to use, it is generally more
    reliable than Gna.

    I also changed version control from SVN to CVS. This is because
    OpenBSD comes with CVS installed by default and I have one
    program less to install when I am developing Ahven.

    Unfortunately, I messed up the first sf.net release of Ahven (version 1.5)
    and I had to release Ahven 1.6 quickly after 1.5.
    February 16

    Ahven: Website down

    Gna's homepages at http://home.gna.org and downloads
    at http://download.gna.org seem to be down at the moment.

    Hopefully, the administrators will get them back up soon.

    Because of various problems with Gna I have also been considered
    other places to host Ahven, but so far I haven't found anything better
    than it.

    The service should be preferably in West/East Europe, Canada, or
    South America and offer CVS/Subversion/Mercurial hosting, plain
    file downloads, space for a home page, and a bug tracker.
    Wiki is a bonus. Bitbucket has been promising, but it doesn't
    offer a home page or plain file downloads yet.

    January 24

    Ahven 1.4 released

    I released Ahven 1.4 two days ago. You can get it from the normal place.
    December 16

    Ahven: Experimental Mercurial repository

    To play around with Mercurial, I converted Ahven's Subversion repository
    into Mercurial repository and placed it at bitbucket.org. This repository
    is not official by any means and it is kept in sync manually, so there is
    a high propability that the repositories are somewhat out of sync now and then.

    Ahven: Converting Unbounded_Strings to VStrings

    I recently converted almost all Unbounded_String elements to Ahven.VStrings.VString elements.
    The change preserves the API signatures, but changes the semantics a little. From now on,
    all (test/routine) names longer than 160 characters will be rejected and Constraint_Error
    is thrown when the test cases are ran.

    This might cause some problems, but the change was done because Janus/Ada 3.1.1d had
    some problems with Unbounded_Strings and I wanted to allow Ahven to be used with Janus/Ada.
    Most likely the problems will be fixed in the next stable release Janus/Ada, but until then
    I will use my VString type.

    Btw, the VString type looks like this:
       subtype VString_Size is Integer range 0 .. VString_Max_Size;

       type VString (Len : VString_Size := VString_Size'Last) is private;
       ...
    private
       type VString (Len : VString_Size := VString_Size'Last) is record
          Data : String (1 .. Len) := (others => ' ');
       end record;

    Google reveals that similar type is used in quite a many places.
    November 01

    Ahven: Support for Test Anything Protocol

    I added a new runner which output test results in Test Anything Protocol (TAP) format.
    In addition, the new runner does not (explicitly) use heap memory, so it behaves better
    with Janus/Ada 3.1.1d (which sometimes causes strange heap overflow errors for heap
    memory allocations).

    Example output:
    1..23
    ok 1 Ahven: Test Assert_Equal
    ok 2 Ahven: Test Assert
    ok 3 Ahven: Test Fail
    ok 4 Ahven.Framework: Test_Case: Set_Up
    ok 5 Ahven.Framework: Test_Case: Tear_Down
    ok 6 Ahven.Framework: Test_Case: Run
    ok 7 Ahven.Framework: Test_Case: Run (Call End_Test)
    ok 8 Ahven.Framework: Test_Suite: Run
    ok 9 Ahven.Framework: Test_Suite: Suite inside another
    ok 10 Ahven.Derived_Tests: Test_Case: Set_Up
    ok 11 Ahven.Derived_Tests: Test_Case: Tear_Down
    ok 12 Ahven.Derived_Tests: Test_Case: Run
    ok 13 Ahven.Derived_Tests: Test_Case: Run (Call End_Test)
    ok 14 Ahven.Derived_Tests: Test_Suite: Run
    ok 15 Ahven.Derived_Tests: Test_Suite: Suite inside another
    ok 16 Ahven.Results: Test Count Children
    ok 17 Ahven.Results: Test Direct Count
    ok 18 Ahven.Results: Test Result Iterator
    ok 19 Ahven.Results: Test Add Pass
    ok 20 Ahven.Results: Test Add Failure
    ok 21 Ahven.Results: Test Add Error
    ok 22 Ahven.Listeners.Basic: Test Single Pass
    ok 23 Ahven.Listeners.Basic: Test Error Inside Suite
    September 04

    Ahven: Test_Result removed

    I recently removed Test_Result type from the Ahven.Framework package
    and made the Ahven.Framework.Run procedures to take the Listener object
    directly. This change affects you only if you have "listened" the test results
    via your own listeners. In that case, you need to either pass your listener
    directly to the procedures or create a wrapper for multiple listeners and
    dispatch calls from that wrapper.

    In the past the Test_Result type was that wrapper, but I was able to
    simplify the code a lot without reducing existing functionality by removing it.
    August 19

    Ahven 1.3 released

    I released Ahven 1.3 a few days ago.

    Please check the release notes and download the source code.
    August 09

    Janus/Ada bug fix for Ahven

    I decided to make Ahven to work with Janus/Ada by replacing
    generic linked list with multiple non-generic equivalents. This makes
    code bigger, but avoids big API changes.

    The patch is available at Ahven's source code repository.