# Contributor: 小肉头君 <chenbaodi@huawei.com>
# Maintainer: 小肉头君 <chenbaodi@huawei.com>
pkgname=googletest
pkgver=v1.13.0
pkgrel=0
pkgdesc="googletest是由谷歌的测试技术团队开发的测试框架,使用c++实现,具有跨平台等特性。"
url="https://github.com/google/googletest" #
archs=("armeabi-v7a" "arm64-v8a" "x86_64")
license=("BSD-3-Clause license")
source="https://gitee.com/mirrors/$pkgname/repository/archive/$pkgver.zip" # "https://github.com/google/$pkgname/archive/refs/tags/$pkgver.tar.gz"
patchflag=true
autounpack=true
downloadpackage=true
builddir=$pkgname-$pkgver
packagename=$builddir.zip
prepare() {
if $patchflag
then
cd $builddir
# 该patch 修改不能访问的/tmp 目录为 /data/local/tmp
patch -p1 < ../googletest_ohos_test.patch
cd $OLDPWD
patchflag=false
fi
mkdir -p $builddir/$ARCH-build
}
build() {
cd $builddir
${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" -DOHOS_ARCH=$ARCH -DBUILD_GMOCK=ON -Dgtest_build_tests=ON -Dgmock_build_tests=ON -B$ARCH-build -S./ -L > `pwd`/$ARCH-build/build.log 2>&1
make -j4 -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1
# 对最关键一步的退出码进行判断
ret=$?
cd $OLDPWD
return $ret
}
# 安装打包
package() {
cd $builddir
make -C $ARCH-build install >> `pwd`/$ARCH-build/build.log 2>&1
cd $OLDPWD
}
# 测试,需要在 ohos 设备上进行
check() {
echo "The test must be on an OpenHarmony device!"
# real test CMD
# ctest
# 在oh环境中运行当前库的测试套,涉及到python的测试用例无法运行,
# 原因是没有python环境,就算有python环境,能够运行,也会因为缺失python依赖的资源导致报错。
}
# 清理环境
cleanbuild(){
rm -rf ${PWD}/$builddir #${PWD}/$packagename
}