青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉(zhuǎn),開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
按以下的步驟在 make時出現(xiàn) libtool.m4 version mismatch
先運行 autoreconf --force --install --symlink
然后
#automake
#chmod u+x configure
#./configure --prefix <Your choice of directory for installation>
(對上一句進(jìn)行解釋,<Your choice of directory for installation>這個位置,需要你輸入要安裝的目錄,目錄的格式舉例如下:/usr/unittest/)
#make
#make install
編譯成功

--------------------------- 下面是引用的內(nèi)容

CUnit在Linux下的配置說明
關(guān)鍵字:CUnit Linux 配置 xml
????? 由于項目需要,對于C語言的單元測試工具CUnit在Linux下如何使用進(jìn)行了調(diào)查,在網(wǎng)上對相關(guān)內(nèi)容進(jìn)行搜索發(fā)現(xiàn),很多內(nèi)容都很相近,甚至完全一樣,在這篇爭相轉(zhuǎn)載的文章中,雖有詳細(xì)的說明,但也有描述的不甚清晰之處,對于剛剛接觸Linux的同學(xué),往往是一頭霧水,不能很順利的配置出來。籍著此次的調(diào)查機會,現(xiàn)將具體的步驟和配置過程中需要注意的地方進(jìn)行了補充說明,希望能對以后需要進(jìn)行同樣工作的同學(xué)有些幫助。

1、首先在http://cunit.sourceforge.net/index.html鏈接處,下載最新版本的CUnit源碼包(CUnit-2.1-0-src.tar.gz)。
2、將CUnit源碼包(CUnit-2.1-0-src.tar.gz)復(fù)制到Linux的目標(biāo)目錄下,比如我在這里放到了/usr/unittest目錄下。
3、CUnit源碼包的解壓。打開[System Tools]-〉[Terminal],進(jìn)入到/usr/unittest目錄下,
輸入如下命令:
#tar xzvf CUnit-2.1-0-src.tar.gz
執(zhí)行結(jié)束后,將會在當(dāng)前目錄下生成一個解壓后的文件夾(CUnit-2.1-0)。
4、解壓結(jié)束后,開始進(jìn)行編譯和安裝。
#cd CUnit-2.1-0
#aclocal
#autoconf
#automake
#chmod u+x configure
#./configure --prefix <Your choice of directory for installation>
(對上一句進(jìn)行解釋,<Your choice of directory for installation>這個位置,需要你輸入要安裝的目錄,目錄的格式舉例如下:/usr/unittest/)
#make
#make install
這里需要一段時間...
#cd /usr/unittest/lib
#ldconfig
最后這兩句,感覺像是沒什么用,有時間證實一下。
到此處為止,CUnit的安裝基本上就到一段落了。
接下來是來測試我們的代碼工作流程。
將要測試的代碼復(fù)制到/usr/unittest目錄下,
輸入如下命令:
#export LD_LIBRARY_PATH=/usr/unittest/lib
#gcc -o test -I/usr/unittest/include -L/usr/unittest/lib -lcunit run_test.c test_func.c func.c
這樣,即可在/usr/unittest目錄下生成可執(zhí)行文件test。
#./test
執(zhí)行該文件,執(zhí)行成功后,會在當(dāng)前目錄下產(chǎn)生兩個xml文件。
①TestMax-Listing.xml :對測試用例的報告
②TestMax-Results.xml :對測試結(jié)果的報告

要查看這兩個文件,還需要使用如下xsl和dtd文件:
CUnit-List.dtd和CUnit-List.xsl用于解析列表文件,
CUnit-Run.dtd和CUnit-Run.xsl用于解析結(jié)果文件。
這四個文件在CUnit包里面有提供,安裝之后在unittest/share/CUnit目錄下,
默認(rèn)安裝的話在/home/usr/local/share/CUnit目錄下。
在查看結(jié)果之前,需要把這六個文件:
TestMax-Listing.xml, TestMax-Results.xml, CUnit-List.dtd, CUnit-List.xsl, CUnit-Run.dtd, CUnit-Run.xsl拷貝到一個目錄下,然后用瀏覽器打開兩個結(jié)果的xml文件就可以了。

--------------------------------------------------
示例代碼如下:
func.c
--------
int maxi(int i, int j)
{
??? return i>j?i:j;
//??????? return i;
}
--------
test_func.c
--------
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "include/CUnit/CUnit.h"
#include "include/CUnit/Automated.h"

/**//*---- functions to be tested ------*/
extern int maxi(int i, int j);

/**//*---- test cases ------------------*/
void testIQJ()
{
??????? CU_ASSERT_EQUAL(maxi(1,1),1);
??????? CU_ASSERT_EQUAL(maxi(0,-0),0);
}

void testIGJ()
{
??????? CU_ASSERT_EQUAL(maxi(2,1),2);
??????? CU_ASSERT_EQUAL(maxi(0,-1),0);
??????? CU_ASSERT_EQUAL(maxi(-1,-2),-1);
}

void testILJ()
{
??????? CU_ASSERT_EQUAL(maxi(1,2),2);
??????? CU_ASSERT_EQUAL(maxi(-1,0),0);
??????? CU_ASSERT_EQUAL(maxi(-2,-1),-1);
}

CU_TestInfo testcases[] = {
??????? {"Testing i equals j:", testIQJ},
??????? {"Testing i greater than j:", testIGJ},
??????? {"Testing i less than j:", testILJ},
??????? CU_TEST_INFO_NULL
};
/**//*---- test suites ------------------*/
int suite_success_init(void) { return 0; }
int suite_success_clean(void) { return 0; }

CU_SuiteInfo suites[] = {
??????? {"Testing the function maxi:", suite_success_init, suite_success_clean, testcases},
??????? CU_SUITE_INFO_NULL
};
/**//*---- setting enviroment -----------*/
void AddTests(void)
{
??????? assert(NULL != CU_get_registry());
??????? assert(!CU_is_test_running());
??????? /**//* shortcut regitry */

??????? if(CUE_SUCCESS != CU_register_suites(suites)){
??????????????? fprintf(stderr, "Register suites failed - %s ", CU_get_error_msg());
??????????????? exit(EXIT_FAILURE);
??????? }
}
--------
run_test.c
--------
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

int main( int argc, char *argv[] )
{
?????? printf("hello");
?????? if(CU_initialize_registry()){
??????????????? fprintf(stderr, " Initialization of Test Registry failed. ");
??????????????? exit(EXIT_FAILURE);
??????? }else{
??????????????? AddTests();
??????????????? CU_set_output_filename("TestMax");
??????????????? CU_list_tests_to_file();
??????????????? CU_automated_run_tests();
??????????????? CU_cleanup_registry();
??????? }
??????? return 0;
}
-----------------------end--------------------------------
來自: http://hi.baidu.com/danielkwok/blog/item/c94bfb5cd5f53e4afaf2c05d.html
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品1区2区| 国产午夜精品美女视频明星a级| 免费中文字幕日韩欧美| 在线综合亚洲欧美在线视频| 一区二区三区亚洲| 国产精品网站在线| 欧美色图首页| 一区二区三区不卡视频在线观看| 欧美日韩国产综合网| 久久亚洲美女| 西西人体一区二区| 一区二区久久久久| 日韩午夜在线视频| 亚洲黄色av一区| 亚洲第一黄网| 亚洲国产毛片完整版| 在线观看欧美日韩| 亚洲电影第1页| 极品av少妇一区二区| 国户精品久久久久久久久久久不卡 | 亚洲欧美日韩另类| 精品成人在线观看| 亚洲国产精品成人精品| 亚洲国产经典视频| 日韩视频三区| 亚洲一区二区成人| 亚洲欧美日韩综合| 欧美一级日韩一级| 久久久精彩视频| 女生裸体视频一区二区三区| 亚洲国产成人久久综合一区| 亚洲精品免费看| 欧美成人a视频| 亚洲欧洲一区| 午夜一级在线看亚洲| 久久精品国产精品亚洲| 久久最新视频| 国产精品99免费看 | 亚洲已满18点击进入久久| 亚洲精品国偷自产在线99热| 免费日韩av| 日韩一级黄色av| 久久国产精品久久久久久| 欧美r片在线| 欧美粗暴jizz性欧美20| 久久久亚洲精品一区二区三区| 亚洲免费观看高清在线观看| 国产精品99久久久久久久久| 欧美午夜精品久久久久久久| 久久久精品视频成人| 亚洲精品久久久久久久久久久| 国产视频欧美| 亚洲精品影院在线观看| 亚洲性线免费观看视频成熟| 久久福利毛片| 亚洲精品久久久久久久久久久久| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲一区欧美激情| 久久在精品线影院精品国产| 欧美午夜激情视频| 国产日韩欧美在线看| 激情一区二区| 午夜精品久久久久| 亚洲第一搞黄网站| 欧美在线视频全部完| 欧美色图天堂网| 亚洲国产成人精品女人久久久 | 久久精品国产99| 亚洲精品在线三区| 亚洲日韩成人| 在线精品国产欧美| 日韩午夜免费视频| 久久久高清一区二区三区| 最新日韩欧美| 亚洲一区观看| 久久午夜羞羞影院免费观看| 国产精品一区二区三区观看| 99精品热视频只有精品10| 裸体一区二区| 久久成人免费| 国产日韩精品在线| 欧美一级午夜免费电影| 亚洲精品欧美精品| 欧美成人日韩| 亚洲国产一区二区精品专区| 久久艳片www.17c.com| 午夜在线a亚洲v天堂网2018| 一区二区三区四区五区精品视频| 久久精品国产第一区二区三区| 亚洲欧洲在线观看| 久久国产精品毛片| 国际精品欧美精品| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲一区二区高清视频| 在线一区欧美| 亚洲精品在线免费| 欧美日韩精品一区二区三区| 国产性天天综合网| 久久人人爽爽爽人久久久| 欧美一区二区三区久久精品茉莉花 | 国产精品青草久久| 欧美亚洲一区二区在线| 亚洲青色在线| 欧美乱大交xxxxx| 激情久久久久久久| 欧美高清在线一区二区| 欧美成熟视频| 亚洲欧美日韩国产综合| 午夜欧美视频| 最新热久久免费视频| 日韩视频―中文字幕| 国产精品一区一区| 久久国内精品自在自线400部| 一区二区三区四区蜜桃| 国产一区二区av| 亚洲国产一区在线观看| 欧美视频日韩| 老司机一区二区三区| 欧美日韩国产成人在线观看| 欧美一区二区三区免费视频| 久久亚洲综合色| 亚洲小少妇裸体bbw| 欧美一级视频一区二区| 99精品国产高清一区二区| 午夜精品一区二区三区在线视 | 欧美激情91| 欧美在线一二三四区| 亚洲在线观看免费| 亚洲欧洲一区| 亚洲一级高清| 亚洲国产精品久久精品怡红院| 夜夜嗨av色综合久久久综合网 | 亚洲影院免费观看| 欧美日韩国产免费观看| 亚洲清纯自拍| 亚洲伦理中文字幕| 欧美精品一卡| 99re8这里有精品热视频免费 | 麻豆成人在线观看| 黄色一区二区在线观看| 久久久不卡网国产精品一区| 媚黑女一区二区| 亚洲国产综合91精品麻豆| 欧美大学生性色视频| 亚洲免费观看高清在线观看| 中文久久精品| 国产精品一区毛片| 欧美在线中文字幕| 欧美国产欧美亚洲国产日韩mv天天看完整 | 免费成人高清| 久久嫩草精品久久久久| 国语自产精品视频在线看抢先版结局| 午夜在线一区| 免费成人av| 91久久精品国产91久久| 欧美激情区在线播放| 一本色道久久综合亚洲精品不卡| 亚洲专区一区二区三区| 国产情人节一区| 久久久一区二区| 亚洲精品在线免费| 亚洲一区二区在线免费观看| 亚洲精品人人| 欧美日韩国产小视频| 亚洲社区在线观看| 久久精品盗摄| 亚洲福利在线看| 欧美国产在线观看| 亚洲女人天堂成人av在线| 久久久综合网站| 日韩一级黄色av| 国产精品久久久久久久久久ktv | 欧美成年人视频| 亚洲色图自拍| 国产一区二区高清视频| 欧美成人一品| 小处雏高清一区二区三区| 欧美高清你懂得| 午夜精品短视频| 国产一区 二区 三区一级| 午夜精品在线观看| 亚洲成人中文| 亚洲欧美三级伦理| 亚洲国产福利在线| 国产精品久久久久免费a∨大胸| 久久国内精品自在自线400部| 亚洲欧洲日本国产| 老鸭窝毛片一区二区三区| 亚洲视屏一区| 亚洲欧洲精品成人久久奇米网| 国产精品一区毛片| 欧美日韩日本视频| 免费在线播放第一区高清av| 香蕉免费一区二区三区在线观看| 亚洲国产一区二区视频| 欧美aa国产视频| 久久天天狠狠| 久久香蕉国产线看观看网| 午夜欧美理论片| 亚洲一区二区三区久久|