Boost logo

Boost Users :

Subject: Re: [Boost-users] Runtime error with Boost's unit test framework
From: acorn12 (acorn12_at_[hidden])
Date: 2009-12-09 18:09:03


Gennadiy Rozental wrote:
> Joey Mink <joeymink <at> gmail.com> writes:
>
>
>> Hi all,I'm a newbie using the boost unit test framework.
>> I'm getting a run-time exception that presents itself
>> with the following message:
>> Unhandled exception at 0x61c3b130 (msvcr80d.dll) in
>> test.exe: 0xC0000005: Access violation reading location
>> 0xcccccccc.
>>
>
> Please post an trimmed example illustrating the problem and also describe how
> you build both boost library and your test module.
>
As I - as also a newb - am having similar problems, trying to use boost.
unit testing with wxWidgets,
I'll jump in here as well, hoping you won't mind.

As best as I can recall the building went something like:

From:

http://www.boost.org/doc/libs/1_41_0/more/getting_started/windows.html#get-boost

          From:

|bootstrap
.\bjam |

My project files - under MSVC 2008 C++ Express

===========
but86.cpp
// but86.cpp : Defines the entry point for the console application.
//

#define BOOST_TEST_MAIN
#include <boost/test/unit_test.hpp>
===================
#include <boost/test/unit_test.hpp>
#include "chip8X86Dllh.h"
/* from
http://www.boost.org/doc/libs/1_36_0/libs/test/doc/html/utf/user-guide/fixture/test-suite-shared.html
*/
#define BOOST_TEST_MODULE example

// -------------------------------------------------------------
class F {
public:
  F();
  ~F(){
    BOOST_TEST_MESSAGE( "teardown fixture" );
    BOOST_TEST_MESSAGE( "Freeing DLL" );
    FreeLibrary( hExeLib );
  }

  HINSTANCE hExeLib;
  wchar_t *psz86DllName;// = ".\\dis8x86.dll";

};
F::F()
{
  BOOST_TEST_MESSAGE( "setup fixture" );
  BOOST_TEST_MESSAGE( "Loading DLL" );
  psz86DllName = L"../chips/chipx86.dll"; <<<< the DLL I need to test

  BOOST_REQUIRE( hExeLib != NULL );
}
// -------------------------------------------------------------
// test suite level fixture
BOOST_FIXTURE_TEST_SUITE( s, F )

// -------------------------------------------------------------

BOOST_AUTO_TEST_CASE(TestProcSpecifics)
{
  long lProcrSpecifics(4);
    BOOST_REQUIRE_EQUAL(4, lProcrSpecifics);
  processorSpecifics_t *psProcessorSpecifics;

}
BOOST_AUTO_TEST_SUITE_END()
===============

After returning to this project now after a number of days,
it seems to run with the code that is left right now ... but unless I
single step through at least a part of it,
I see nothing of the output, because it opens & shuts the console window
so fast.

Depending on how far I single step it seems to sometimes
give me some access errors, other time it doesn't.

If I single-step until I hit the point where the app returns to crt.exe,
things look OK, but I don't want to single step all the way all the time ;-)

The IDE output window does _not_ show the test output - neither during the
run, nor afterwards.

Thus my preference would be to build a GUI - using wxWidgets - but I
can't work out how
to call boost UTF from within a wxWidgets app.

If any one has a solution for this problem, I'd greatly appreciate it.

booster

-- 
Fight Spam - report it with wxSR
http://www.columbinehoney.net/wxSR.shtml


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net