Still fixing the unittests...
[amule.git] / unittests / muleunit / main.cpp
blobef2a7d7c12d2781e4e1441eb7b289ac48d639089
1 //
2 // MuleUnit: A minimalistic C++ Unit testing framework based on EasyUnit.
3 //
4 // Copyright (c) 2005-2011 aMule Team ( admin@amule.org / http://www.amule.org )
5 // Copyright (c) 2004-2011 Barthelemy Dagenais ( barthelemy@prologique.com )
6 //
7 // This library is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU Lesser General Public
9 // License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 // Lesser General Public License for more details.
17 // You should have received a copy of the GNU Lesser General Public
18 // License along with this library; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #include <wx/wx.h>
23 #include "testregistry.h"
24 #include "test.h"
25 #include <common/MuleDebug.h>
27 using namespace muleunit;
29 wxString GetFullMuleVersion()
31 return wxT("UnitTest");
35 unsigned s_disableAssertions = 0;
38 class UnitTestApp : public wxAppConsole
40 public:
41 int OnRun() {
42 return (TestRegistry::runAndPrint() ? 0 : 1);
45 void OnAssertFailure(const wxChar* file, int line, const wxChar* /*func*/, const wxChar* cond, const wxChar* msg)
47 if (s_disableAssertions) {
48 return;
51 wxString desc;
52 if (cond && msg) {
53 desc << cond << wxT(" -- ") << msg;
54 } else if (cond) {
55 desc << wxT("Assertion: ") << cond;
56 } else {
57 desc << msg;
60 throw CAssertFailureException(desc, file, line);
63 #ifndef __WXMSW__
64 void OnUnhandledException() {
65 ::OnUnhandledException();
67 #endif
72 IMPLEMENT_APP_CONSOLE(UnitTestApp);