Test工程管理

Test工程管理


在.bashrc中执行脚本。在平时工作中,难免一些功能需要验证,如果直接在Android中开发编译,很不方便,影响代码维护。该脚本核心思想是:在Android目录之外编写test工程,需要Andriod源码中编译的,通过执行脚本中封装的命令,把工程软链接至Android工程目录,编译验证通过后,再删除软链接即可。方便test工程保存备份及保证Android工程干净。

#!/bin/bash

TEST_DIR="${HOME}/test/AndroidTest/"

target_type=
target_test=

function android_demo_test() {
     local ori_dir=`pwd`
     if [[ -n $1 ]];then
          echo $1
          target_test=$1
     else
          list_apk_tests
          list_bin_tests
	
          cd ${ori_dir}
          read -p "输入要编译测试的test目录:" target_test
          if [ -z ${target_test} ];then
               return 1
          fi
     fi

     # cd ${TEST_DIR}
     local result=`find ${TEST_DIR} -type d -name "${target_test}"`
     if [[ -z ${result} ]];then
          echo "不存在该目录"
          return 1
     fi
	
     line=`echo $result | grep "apk" | wc -l`
     # echo line:$line 
     if [ $line -gt 0 ];then
          target_type=apk
     elif [[ ${result} =~ "bin" ]];then
          target_type=bin
     fi

     cd ${ori_dir}
     echo ln -s "${TEST_DIR}${target_type}"\/"${target_test}" ${target_test}
     ln -s "${TEST_DIR}${target_type}"\/"${target_test}" ${target_test}

     target_type=
     target_test=
     return 0
}

function list_apk_tests() {
     cd "${TEST_DIR}apk/"
     echo "apk:"
     echo "------------------------------------------"
     ls
     echo ========================================
     echo
}

function list_bin_tests() {
     cd "${TEST_DIR}bin"
     echo "bin:"
     echo "------------------------------------------"
     ls
     echo ========================================
     echo
}

ALL_DEMO_TEST=
function _add_demo_dir() {
     i=${#ALL_DEMO_TEST[*]}
     for dir in `ls $1`
     do
         ALL_DEMO_TEST[$i]=$dir
         ((i++))
     done
}

function _list_test_dir() {
     unset ALL_DEMO_TEST
      _add_demo_dir ${TEST_DIR}apk
      _add_demo_dir ${TEST_DIR}bin
     COMPREPLY=()
     local cur="${COMP_WORDS[COMP_CWORD]}"
     COMPREPLY=( $(compgen -W "${ALL_DEMO_TEST[*]}" -- ${cur}) ) 
}

complete -F _list_test_dir android_demo_test

function android_demo_clear() {
     ls -l | grep "^l" | awk '{print $9}' | xargs rm
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值