cpptest 安装和测试

来源:互联网 发布:华为网络产品线待遇 编辑:程序博客网 时间:2024/05/21 09:41

        cpptest的安装和测试

 

可以从 Sourceforge 免费下载 CppTest(见 参考资料),采用的许可协议是 GNU Lesser General Public License (GPL)。按一般的开放源码配置-构建过程构建源代码。这会生成一个名为 libcpptest 的静态库。客户机代码必须包含下载的源代码中的头文件 cppTest.h,还要包含静态库 libcpptest.a 的链接

 

本次使用的版本为 :cpptest-1.1.1.tar.gz 

所在的环境:Linux  x86_64 x86_64 x86_64 GNU/Linux

由于是开发者, 需要管理员授权root权限才能安装。

安装好的头文件 放在 /usr/local/include,  库文件 放在/usr/local/lib/.

 

 

写个简单的测试用列: 案例学习参考 http://www.ibm.com/developerworks/cn/aix/library/au-ctools3_ccptest/

 

 

#include  "cpptest.h" 

#include <iostream>

using namespace std;

 

class myTest : public Test::Suite 

    void function1_to_test_some_code( ) {}

    void function2_to_test_some_code( ) {}

public:  

    myTest( ) 

    { 

        TEST_ADD (myTest::function1_to_test_some_code); 

        TEST_ADD (myTest::function2_to_test_some_code); 

    } 

};                  

 

int main(int argc, char **argv)

{

   myTest  tests;

   Test::TextOutput  output(Test::TextOutput::Verbose);

 

   return  tests.run(output);

   cout << "hello...." <<endl;

   return 0;

}

[makefile: 此makefile是由其它程序稍加修改, 本人懒的很 :(]
##########
include $(ORACLE_HOME)/precomp/lib/env_precomp.mk
### -Wno-unused : 关闭unused警告
### -Werror   :   将警告作为一个错误而中断编译过程
CPP=g++ -Wall -Wwrite-strings  -lstdc++ 
I_SYM=-I
LDFLAGS=
### cpptest工具安装路径 ###
CPPTEST_INCLUDE=-I /usr/local/include/
CPPTEST_LIB=-L/usr/local/lib/ -lcpptest
### oracle  lib ###
ORACLE_LIB=-L$(ORACLE_HOME)/lib -lclntsh
PRECOMPHOME=$(ORACLE_HOME)/precomp/public
PROCPPFLAGS= code=cpp
NETWORKHOME=$(ORACLE_HOME)/network/
PLSQLHOME=$(ORACLE_HOME)/plsql/
STLINCLUDE = -I $(COMPILER)/include_std
INCLUDE=$(I_SYM). $(I_SYM)$(PLSQLHOME)public $(I_SYM)$(NETWORKHOME)public $(I_SYM)$(PRECOMPHOME) /
     $(I_SYM)/usr/include $(I_SYM)/usr/vacpp/include   $(CPPTEST_INCLUDE)
     
###ORAINCLUDE=$(I_SYM). $(I_SYM)$(PLSQLHOME)public $(I_SYM)$(NETWORKHOME)public $(I_SYM)$(ORACLE_HOME)/precomp/public
CFLAGS= -c -lct -lcs -ltcl -lcomn -lintl -lm
LIBHOME=$(ORACLE_HOME)/lib/
COMMONOBJ  = ../Common/CLogMng.o ../Common/CConfig.o ../Common/CInit.o ../Common/CIniFile.o  ../Common/CTask.o 
.SUFFIXES:.pc .cpp .C .cc .cxx .o 
.pc.cpp:
$(ORACLE_HOME)/bin/$(PROC) $(PROCPPFLAGS) cpp_suffix=cpp release_cursor=yes char_map=string /
ireclen=256 iname=$*.pc parse=none lname=err 
.cc.o:
$(CPP) $(DEBUG) $(INCLUDE) $(CXXFLAGS) -c $<
.cpp.o:
$(CPP) $(DEBUG) $(CXXFLAGS) $(INCLUDE) -c $<
.c.o:
$(CPP) $(DEBUG) $(INCLUDE) $(CXXFLAGS) -c $<
PROGNAME=run
PCCSRCS= main.pc
PCCGENSRCS=${PCCSRCS:.pc=.cpp}
CSRCS=   
USRLIBS= -lUtil -lDttools -lBaseTools  -lrfunc -lPackage -lBaseProc -lMonitor -brtl -qstaticinline /
     -lpthread -lchgPub -lPay -lAtComm
CSOBJS=${CSRCS:.cpp=.o} ${PCCGENSRCS:.cc=.o}
OBJS=$(CSOBJS)
all:$(PROGNAME) 
val:
valgrind  --tool=memcheck  --leak-check=full --show-reachable=yes  -v -q /
--log-file-exactly=./valgrindLog.txt   ./run 
clean:
- rm -f ./*.cc ./*.o ./*.a ./err.lis ./*.cpp  ./tp*  ./valgrindLog.txt  ./err.lis
- rm -f$(PROGNAME) 
objects: $(PCCGENSRCS) $(OBJS) ${BASEOBJS} 
$(PROGNAME):$(OBJS)
$(CPP) $(INCLUDE) $(LDFLAGS) -g $(OBJS)  /
$(ORACLE_LIB)  $(CPPTEST_LIB)  /
-o $@
- rm -rf ./tp*
@echo ""
@echo "###########################################################"
@echo ""
@echo "object [ $@ ] Loaded     "
@echo ""
@echo "###########################################################"
#@cp $@ ../bin
#@echo "cp $@ ../bin"

原创粉丝点击