bluealert

Shell脚本自动测试通过,彩色输出失败用例和结果对比。

#!/bin/sh

RED="\033[31m"
GREEN="\033[0;32m"
BLUE="\033[0;34m"
ENDCOLOR="\033[0m"

function myPrintLine {
    printf "%b\n" "${1}${2}${ENDCOLOR}";
}

testCnt=0

function myDiff {
    res=`diff $1 $2`
    if [ -z "$res" ]; then
        echo "PASS $testCnt"
    else
        echo "FAILED"
        while read li
        do
            myPrintLine ${RED} "$li"
        done < $3
        myPrintLine ${GREEN} `cat r1`
        myPrintLine ${BLUE} `cat r2`
    fi
    testCnt=`expr $testCnt + 1`
}

function myTest {
    for (( i=0; i<$1; i=i+1 ))
    do
        ./$2 > data
        ./$3 > r1
        ./$4 > r2
        myDiff r1 r2 data
    done
    rm -rf r1 r2 data
}

myTest $1 $2 $3 $4

$1为测试次数,$2为测试用例生成程序,$3为标准测试程序,$4为待测试程序

posted on 2012-10-23 22:00 bluealert 阅读(100) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理


<2026年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿

文章档案

搜索

最新评论