Is it possible to use python to unit test C++ code?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • sylcheung@gmail.com

    #1

    Is it possible to use python to unit test C++ code?

    Is it possible to use python to unit test C++ code? If yes, is there
    any example available?

    Thank you.

  • Alex Stapleton

    #2
    Re: Is it possible to use python to unit test C++ code?


    On 21 Dec 2005, at 09:33, sylcheung@gmail .com wrote:
    [color=blue]
    > Is it possible to use python to unit test C++ code? If yes, is there
    > any example available?
    >
    > Thank you.
    >
    > --
    > http://mail.python.org/mailman/listinfo/python-list[/color]

    You could use Python to unittest a Python module written in C++ I
    suppose. I guess that would probably work. I suspect that you would
    get better/more accurate/reliable results by writing your tests in C+
    + as well though.

    Comment

    • keirr

      #3
      Re: Is it possible to use python to unit test C++ code?

      sylcheung@gmail .com wrote:[color=blue]
      > Is it possible to use python to unit test C++ code? If yes, is there
      > any example available?
      >[/color]

      If I had to use python to test C++ code, I'd use the Boost python
      library: http://www.boost.org/libs/python/doc/ to expose my C++
      classes, and write the unittests in python after importing the wrapped
      C++ code.
      Note, you did ask if it was possible. Is it advisable? That's another
      question.

      All the best,

      Keir.

      Comment

      • skip@pobox.com

        #4
        Re: Is it possible to use python to unit test C++ code?


        sylcheung> Is it possible to use python to unit test C++ code? If yes,
        sylcheung> is there any example available?

        Yes, it's quite possible. Some people even do it. ;-) As for examples, take
        a look at Python's own test suite. Much of the code it contains actually
        tests modules written in C, which is near enough to C++ for our purposes.
        For example, consider that the math module is a thin wrapper around bits of
        standard C89 math functions. The test_math.py script then exercises that
        code.

        So, you'll have to wrap your C++ library to make it available in Python
        (check out SWIG and/or Boost and/or Python's Extending and Embedding
        documentation), then write test cases. For that, look at the unittest and
        doctest modules that come with Python as well as the third-party py.test
        package.

        Skip

        Comment

        • skip@pobox.com

          #5
          Re: Is it possible to use python to unit test C++ code?


          samuel> Thanks. When I use python to unit test my c++ code. Do I need
          samuel> only the .o file? or I need the .c/.h files of the c++ code? If
          samuel> the input is .c/.h files, how can I compile it for unit testing
          samuel> purposes?

          Your wrapper module will need the header files from your C++ library and it
          will by dynamically linked against the library's .so (or .dll).

          Skip

          Comment

          • Giles Brown

            #6
            Re: Is it possible to use python to unit test C++ code?

            I have used the Python version of this:



            unit testing framework successfully (but not heavily).

            Hth,
            Giles Brown

            Comment

            Working...