gtest是乙個跨平台的c++單元測試框架。
android下使用gtest單元測試。
1編譯
2建立測試目錄gtestdemo,目錄結構為:
## [android.mk] 結構如下:
#####################################
local_path := $(call my-dir)
prj_inc_path += $(local_path)/*** // 1這是源**頭檔案目錄,當前目錄為建立的test目錄
include $(clear_vars)
local_module := ***test // 2自定義的可執行程式檔名
local_src_files := test/test_case.cpp
local_src_files += cpp/mtest.cpp
local_c_includes := $(local_path)/*** // 3同注釋1
local_static_libraries := libgtest // *必寫項
local_cflags := --coverage // *必寫項
local_ldflags := --coverage // *必寫項
include $(build_executable)
#####################################
## [mtest.h] 結構如下:
#####################################
int mytest(int intvalue);
## [mtest.cpp] 結構如下:
#####################################
#include "mtest.h"
int mytest(int intvalue)
else if (intvalue < 100)
return intvalue;
}## [test_case.cpp] 結構如下:
#####################################
#include #include "cpp/mtest.h"
test(mytest, 1)
test(mytest, 2)
test(mytest, 3)
int main(int argc, char *ar**)
3編譯gtestdemo生成目錄為
[100% 10/10] install: out/target/product/yebisu/system/bin/***test(對應於.mk的local_module)
#### build completed successfully (42 seconds) ####
4將生成的可執行檔案 push 進車載機,執行命令如下
5生成*.info檔案
前提:{
1)進入本地計算機的/usr/bin目錄,新建 llvm-cov.sh 檔案,
sudo vi llvm-cov.sh 輸入如下內容:
#!/bin/bash
exec ***/linux/android/prebuilts/clang/host/linux-x86/clang-4691093/bin/llvm-cov gcov "$@"
注:上面語句中的空格 不可以省略。給 llvm-cov.sh 檔案執行許可權(chmod +x llvm-cov.sh)。
執行命令 genhtml -o result *.info。
例如: genhtml -o result myinfo.info
7開啟result資料夾中的index.html
可以得到我們的測試通過率。
ConcurrentHahMap 基於原始碼解析
目錄 1 簡單總結 2 jdk1.7 segments hashentry陣列 鍊錶解析 3 jdk1.8 雜湊表 紅黑樹 cas 解析 參考 如下圖所示,segments繼承了可重入鎖reentrantlock,每個片段有乙個鎖,叫做 分段鎖 1 segment 分段鎖 concurrenthas...
Android之推薦看的Android原始碼
handler message looper handler被稱為 非同步提交器 是android開發入門教程必定談及的東西,這也是activity等元件的工作機制需要用到的東西,是 資料驅動 框架的重要組成,作為閱讀原始碼的入門最適合不過。activity和service 作為經常使用到的元件,閱...
基於httpd搭建yum源
作業系統 centos6.5 登陸1.1.1.1 1.安裝httpd,creatrepo工具 2.etc httpd conf httpd.conf所有配置均照預設的即可,預設根目錄為 var www html,3.建立乙個存放rpm包的位置,在根目錄下建立centos目錄,將rpm拷貝到 var ...