200910codeind

发布时间:2016-12-11 14:25:14 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"200910codeind",主要涉及到200910codeind方面的内容,对于200910codeind感兴趣的同学可以参考一下。

#ifndef __OJ_H__ #define __OJ_H__   /*内存分配函数*/ void *MLC_MemAlloc(unsigned int ulPidSid, unsigned char ucPtNo, unsigned int ulSize,  char *pcFileName, unsigned int ulLine); /*内存释放函数*/                           void MLC_MemFree(unsigned int ulPidSid,  void *pAddr); /*内存泄漏检查函数*/ unsigned int MLC_CheckIfMemLeak(unsigned int *pulAddrNum, void* pAddrArray[]); /*自动回收泄漏的内存*/ void MLC_CollectMemory(void); #endif   CExampleTest.cpp ******************************************************************************/ #include <cppunit/config/SourcePrefix.h> #include "CExampleTest.h" #include <stdlib.h> #include "OJ.h" // 定义测试用的PID #define PID_TEST_MLC 110 #define DYNAMIC_MEM_PT 1 void *g_paMemLeakAddrArray[2048] = {0}; /*定义存放泄漏的内存块地址的buff*/ // 注册测试套到CppUnit CPPUNIT_TEST_SUITE_REGISTRATION( CExampleTest); // SetUp: 在每个用例前执行一次 void CExampleTest::setUp() { } // tearDown: 在每个用例后执行一次 void CExampleTest::tearDown() { }   // 测试用例实现示例 /************************************************************************************************/ void CExampleTest::TestCase01()   //用例1:没有泄漏 {     unsigned int ulSize = 10;  unsigned int ulMemLeakNum = 0;  void*  pAddr  = NULL;      memset(g_paMemLeakAddrArray, 0, sizeof(g_paMemLeakAddrArray));     pAddr = MLC_MemAlloc(PID_TEST_MLC, DYNAMIC_MEM_PT, ulSize, __FILE__, __LINE__); // 申请内存     if (NULL != pAddr)     {               MLC_MemFree(PID_TEST_MLC, pAddr);   // 释放内存     }            CPPUNIT_ASSERT(0 == MLC_CheckIfMemLeak(&ulMemLeakNum, g_paMemLeakAddrArray));  CPPUNIT_ASSERT(0 == ulMemLeakNum); } /************************************************************************************************/ void CExampleTest::TestCase02()  {     } /************************************************************************************************/ void CExampleTest::TestCase03()  { } /************************************************************************************************/ void CExampleTest::TestCase04()  { } /************************************************************************************************/ // 在这里添加测试用例实现 // void CExampleTest::TestCasexx() // { // // }   CExampleTest.h ******************************************************************************/ #ifndef _CEXAMPLE_TEST_H #define _CEXAMPLE_TEST_H #include <cppunit/extensions/HelperMacros.h> class CExampleTest : public CPPUNIT_NS::TestFixture {     CPPUNIT_TEST_SUITE( CExampleTest ); //     CPPUNIT_TEST( TestCase01 ); //     CPPUNIT_TEST( TestCase02 ); //     CPPUNIT_TEST( TestCase03 ); //     CPPUNIT_TEST( TestCase04 ); //     CPPUNIT_TEST( TestCase05 ); //     CPPUNIT_TEST( TestCase06 ); //     CPPUNIT_TEST( TestCase07 ); //     CPPUNIT_TEST( TestCase08 ); //     CPPUNIT_TEST( TestCase09 ); //     CPPUNIT_TEST( TestCase10 ); //     CPPUNIT_TEST( TestCase11 ); //     CPPUNIT_TEST( TestCase12 ); //     CPPUNIT_TEST( TestCase13 ); //     CPPUNIT_TEST( TestCase14 ); //     CPPUNIT_TEST( TestCase15 ); //     CPPUNIT_TEST( TestCase16 ); //     CPPUNIT_TEST( TestCase17 ); //     CPPUNIT_TEST( TestCase18 ); //     CPPUNIT_TEST( TestCase19 ); //     CPPUNIT_TEST( TestCase20 );     // 在这里添加测试用例声明, 将测试用例加入测试套     // CPPUNIT_TEST( TestCasexx );     CPPUNIT_TEST_SUITE_END(); public:     void setUp();     void tearDown();     void TestCase01();     void TestCase02();     void TestCase03();     void TestCase04(); //     void TestCase05(); //     void TestCase06(); //     void TestCase07(); //     void TestCase08(); //     void TestCase09(); //     void TestCase10(); //     void TestCase11(); //     void TestCase12(); //     void TestCase13(); //     void TestCase14(); //     void TestCase15(); //     void TestCase16(); //     void TestCase17(); //     void TestCase18(); //     void TestCase19(); //     void TestCase20();     // 在这里添加测试用例声明, 声明测试类的成员函数     // void TestCasexx(); }; #endif /*_CEXAMPLE_TEST_H*/   main,cpp ******************************************************************************/ #include <cppunit/TextOutputter.h> #include <cppunit/XmlOutputter.h> #include <cppunit/BriefTestProgressListener.h> #include <cppunit/extensions/TestFactoryRegistry.h> #include <cppunit/TestResult.h> #include <cppunit/TestResultCollector.h> #include <cppunit/TestRunner.h> #include "conio.h" int main(int argc, char* argv[]) {     // Create the event manager and test controller     CPPUNIT_NS::TestResult controller;     // Add a listener that colllects test result     CPPUNIT_NS::TestResultCollector result;     controller.addListener( &result );     // Add a listener that print dots as test run.     CPPUNIT_NS::BriefTestProgressListener progress;     controller.addListener( &progress );     // Add the top suite to the test runner     CPPUNIT_NS::TestRunner runner;     runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry("All Tests").makeTest() );     runner.run( controller );     // Print test in a text format.     CPPUNIT_NS::TextOutputter outputter( &result, CPPUNIT_NS::stdCOut() );     outputter.write();     // This for XML output     std::ofstream file( "TestResult.xml" );     CPPUNIT_NS::XmlOutputter xml( &result, file );     xml.setStyleSheet( "report.xsl" );     xml.write();     file.close();  getch();     return result.wasSuccessful() ? 0 : 1; }  

上一篇:DOJO Study Note(1) - 入门篇
下一篇:Qt 线程基础(QThread、QtConcurrent、QThreadPool等)

相关文章

关键词: 200910codeind

相关评论