Log4cxx
  1. Log4cxx
  2. LOGCXX-225

Migrate unit tests from LGPL'd CPPUNIT to an ASL'd testing framework

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.9.7
    • Fix Version/s: 0.10.0
    • Component/s: Build
    • Labels:
      None

      Description

      The unit tests for log4cxx were written for CPPUNIT (http://cppunit.sourceforge.net), an LGPL licensed unit testing framework. Dependence on LGPL'd libraries is problematic at best, see http://people.apache.org/~cliffs/3party.html. I'm going to bounce this off of legal-discuss, but wanted to go ahead an log the issue.

      Migrating to a unit testing framework with a compatible license would likely be required before an official release. I'd suggest replacing the CPPUNIT_ macros with LOG4CXX_TEST_ macros and try to localize the necessary code to switch between frameworks to a few macros.

      Options to explore:

      APR's testing framework: Apache Portable Runtime includes a C test framework that could be copied into our SVN eliminating the need for a separate dependency.
      rwtest: Apache stdcxx uses rwtest for its unit testing, assume more C++ oriented.
      unittest+: MIT licensed testing framework for C+, http://sourceforge.net/projects/unittest-cpp

      Any other suggestions?

        Activity

        Hide
        Curt Arnold added a comment -

        src/test/cpp/logunit.h defines macros that mimic the previously used CPPUNIT macros. src/test/cpp/logunit.cpp implements the code that backs the macros that in turn use the APR test framework defined in abts.cpp.

        Show
        Curt Arnold added a comment - src/test/cpp/logunit.h defines macros that mimic the previously used CPPUNIT macros. src/test/cpp/logunit.cpp implements the code that backs the macros that in turn use the APR test framework defined in abts.cpp.

          People

          • Assignee:
            Curt Arnold
            Reporter:
            Curt Arnold
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development