Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
TestCase.cpp
00001 /* 00002 * COPYRIGHT AND PERMISSION NOTICE 00003 * 00004 * Copyright (c) 2003 Embedded Unit Project 00005 * 00006 * All rights reserved. 00007 * 00008 * Permission is hereby granted, free of charge, to any person obtaining 00009 * a copy of this software and associated documentation files (the 00010 * "Software"), to deal in the Software without restriction, including 00011 * without limitation the rights to use, copy, modify, merge, publish, 00012 * distribute, and/or sell copies of the Software, and to permit persons 00013 * to whom the Software is furnished to do so, provided that the above 00014 * copyright notice(s) and this permission notice appear in all copies 00015 * of the Software and that both the above copyright notice(s) and this 00016 * permission notice appear in supporting documentation. 00017 * 00018 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 00019 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00020 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 00021 * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 00022 * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY 00023 * SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER 00024 * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF 00025 * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 00026 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 00027 * 00028 * Except as contained in this notice, the name of a copyright holder 00029 * shall not be used in advertising or otherwise to promote the sale, 00030 * use or other dealings in this Software without prior written 00031 * authorization of the copyright holder. 00032 * 00033 * $Id: TestCase.c,v 1.6 2004/02/10 16:19:29 arms22 Exp $ 00034 */ 00035 #include "Test.h" 00036 #include "TestCase.h" 00037 #include "TestResult.h" 00038 00039 static TestResult* result_; 00040 static TestCase* self_; 00041 00042 char* TestCase_name(TestCase* self) 00043 { 00044 return self->name; 00045 } 00046 00047 void TestCase_run(TestCase* self,TestResult* result) 00048 { 00049 TestResult_startTest(result, (Test*)self); 00050 if (self->setUp) { 00051 self->setUp(); 00052 } 00053 if (self->runTest) { 00054 TestResult* wr =result_; /*push*/ 00055 TestCase* ws = self_; /*push*/ 00056 result_ = result; 00057 self_ = self; 00058 self->runTest(); 00059 result_ = wr; /*pop*/ 00060 self_ = ws; /*pop*/ 00061 } 00062 if (self->tearDown) { 00063 self->tearDown(); 00064 } 00065 TestResult_endTest(result, (Test*)self); 00066 } 00067 00068 int TestCase_countTestCases(TestCase* self) 00069 { 00070 return 1; 00071 } 00072 00073 const TestImplement TestCaseImplement = { 00074 (TestNameFunction) TestCase_name, 00075 (TestRunFunction) TestCase_run, 00076 (TestCountTestCasesFunction)TestCase_countTestCases, 00077 }; 00078 00079 void addFailure(const char *msg, long line, const char *file) 00080 { 00081 TestResult_addFailure(result_, (Test*)self_, (char*)msg, line, (char*)file); 00082 }
Generated on Wed Jul 13 2022 18:17:56 by
1.7.2