博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
test-definitions/blob/master/auto-test/dsdbench/dsdbench.sh
阅读量:4214 次
发布时间:2019-05-26

本文共 2143 字,大约阅读时间需要 7 分钟。

#!/bin/sh -e# This test script run docker storage driver benchmarks and tests.# Test suite source https://github.com/dmcgowan/dsdbench# shellcheck disable=SC1091#cd到相对路径下执行脚本. ../../lib/sh-test-lib#变量赋初值OUTPUT="$(pwd)/output"TEST_SUITE="BENCHMARKS"RESULT_FILE="${OUTPUT}/result.txt"LOG_FILE="${OUTPUT}/dsbench.txt"#定义函数说明这个脚本的用法usage() {    echo "Usage: $0 [-t 
] [-s
]" 1>&2 exit 1}#parse 可选参数while getopts "t:s:h" o; do case "$o" in t) TEST_SUITE="${OPTARG}" ;; s) SKIP_INSTALL="${OPTARG}" && export SKIP_INSTALL ;; h|*) usage ;; esacdone#执行函数得到发型板的名字dist_name# shellcheck disable=SC2154case "${dist}" in debian|ubuntu) dist_info #根据发行版的名字安装不同的包 # shellcheck disable=SC2154 if [ "${Codename}" = "jessie" ]; then install_deps "git libdevmapper-dev" install_deps "-t jessie-backports golang" else install_deps "git golang libdevmapper-dev" fi ;; fedora|centos) install_deps "git golang device-mapper-devel" ;; opensuse) install_deps "git go device-mapper-devel" ;;esac#检查是否是root,不是root用户的话,则输出错误日志! check_root && error_msg "You need to be root to run this script."create_out_dir "${OUTPUT}"mkdir -p "${OUTPUT}/golang"cd "${OUTPUT}"export GOPATH="${OUTPUT}/golang"#clone 源码git clone https://github.com/dmcgowan/dsdbenchcd dsdbench#cp 目录cp -r vendor/ "${GOPATH}/src"#如果是测试benchmarkif [ "${TEST_SUITE}" = "BENCHMARKS" ]; then # Run benchmarks. #执行命令测试benchmark,并将log输出到文件中,parse文件中的log来得到测试benchmark的值 DOCKER_GRAPHDRIVER=overlay2 go test -run=NONE -v -bench . \ | tee "${LOG_FILE}" # Parse log file. egrep "^Benchmark.*op$" "${LOG_FILE}" \ | awk '{printf("%s pass %s %s\n", $1,$3,$4)}' \ | tee -a "${RESULT_FILE}"elif [ "${TEST_SUITE}" = "TESTS" ]; then # Run tests. #测试 DOCKER_GRAPHDRIVER=overlay2 go test -v . \ | tee "${LOG_FILE}" # Parse log file. for result in PASS FAIL SKIP; do grep "\-\-\- ${result}" "${LOG_FILE}" \ | awk -v result="${result}" '{printf("%s %s\n", $3,result)}' \ | tee -a "${RESULT_FILE}" donefi

转载地址:http://xznmi.baihongyu.com/

你可能感兴趣的文章
UILabel文字大小自适应之--SizeToFit
查看>>
教你ios10怎么降级到ios9.3.2
查看>>
ios NSDate获取星期几
查看>>
ios仿微信短视频拍摄类库WechatShortVideo
查看>>
iOS日常工作之常用宏定义大全
查看>>
webView 返回按钮和关闭按钮
查看>>
iOS TableView给力动画的简单实现
查看>>
最详尽的 Swift 代码规范指南
查看>>
唐巧总结的40个国人iOS技术博客
查看>>
谈 UIView Animation 编程艺术
查看>>
谈谈ios传值方式(属性传值、代理传值、Block传值、单例传值、通知传值、KVC传值)
查看>>
ios 数组最大值,最小值,平均值,和的快速算法
查看>>
ios 让UITextField(输入框)直接进入编辑状态
查看>>
如何优雅的谈论Objective-C
查看>>
ios 自定义返回按钮侧滑失效完美解决方案
查看>>
深入理解Objective-C Runtime
查看>>
深入理解RunLoop
查看>>
ios 应用内跳转微信
查看>>
iOS上如何让按钮文本左对齐问题
查看>>
Xcode8 兼容iOS 10 整理笔记
查看>>