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. 11// 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. 16// 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 20// 21 22#include <wx/wx.h> 23#include "testregistry.h" 24#include "test.h" 25#include <common/MuleDebug.h> 26 27using namespace muleunit; 28 29wxString GetFullMuleVersion() 30{ 31 return wxT("UnitTest"); 32} 33 34 35unsigned s_disableAssertions = 0; 36 37 38class UnitTestApp : public wxAppConsole 39{ 40public: 41 int OnRun() { 42 return (TestRegistry::runAndPrint() ? 0 : 1); 43 } 44 45 void OnAssertFailure(const wxChar* file, int line, const wxChar* func, const wxChar* cond, const wxChar* msg) 46 { 47 if (s_disableAssertions) { 48 return; 49 } 50 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; 58 } 59 60 throw CAssertFailureException(desc, file, line); 61 } 62 63#ifndef __WXMSW__ 64 void OnUnhandledException() { 65 ::OnUnhandledException(); 66 } 67#endif 68 69}; 70 71 72IMPLEMENT_APP_CONSOLE(UnitTestApp); 73