老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)

shell實(shí)現(xiàn)hive自動(dòng)化測(cè)試

        本程序主要實(shí)現(xiàn)hive權(quán)限測(cè)試。系統(tǒng)中有管理員用戶single和測(cè)試用戶test。在路徑/home/test/下,將用例的預(yù)置條件寫在input文件夾內(nèi),每個(gè)用例對(duì)應(yīng)一個(gè)input文件,命名為x-y~z.q(其中xyz都是數(shù)字);將用例需要執(zhí)行的語(yǔ)句放在case文件夾內(nèi),命名為case_x.q;將預(yù)期結(jié)果寫入expect文件夾,命名為expect_x;執(zhí)行結(jié)果輸出到output文件夾中,命名為x-y~z.q

目前創(chuàng)新互聯(lián)公司已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、西疇網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

        執(zhí)行過程:kinit single用戶,beeline -u -f登錄并執(zhí)行input文件中對(duì)test用戶對(duì)應(yīng)角色回收和賦予權(quán)限的語(yǔ)句;kinit test用戶,beeline -u -f去執(zhí)行case文件夾中的測(cè)試語(yǔ)句并保存執(zhí)行結(jié)果到output文件夾中;根據(jù)expect中是否有文件及該測(cè)試為正向或逆向測(cè)試,和output內(nèi)容作比較,得出該測(cè)試pass還是fail的結(jié)果,統(tǒng)計(jì)測(cè)試結(jié)果。

        該程序能夠?qū)崿F(xiàn)hive的權(quán)限自動(dòng)化測(cè)試,但每個(gè)用例對(duì)應(yīng)一個(gè)input文件、一個(gè)case文件、一個(gè)expect文件、一個(gè)output文件,太過繁雜,不好用。下一篇出python優(yōu)化版本。

#!/bin/bash
#by cvv54
    
    #rename existed log.txt
#    if [ -f "/home/test/log/log.txt" ] ;then 
#        mv /home/test/log/log.txt /home/test/log/`date "+%Y-%m-%d~%H-%M-%S"`
#    fi

    #To create log file
    date>>/home/test/log/`date "+%Y-%m-%d~%H-%M-%S"`
    log=`ls /home/test/log/ -rt |tail -1`
    
    pass=0;
    fail=0;
    block=0;

    #To traversal files in input folder
for i in /home/test/input/*.q 
do
    #To login system with user single to grant proper privileges to user test
    #$i here is name of input file,it looks like this: /path/to/file/x-y~z.q
    #(x:case number;y:item number;z:can be 1 or 2,means Positive testing or Negative Testing;end with .q:sql file)
    kdestroy 
    kinit -kt /etc/security/keytabs/single.keytab single
    beeline -u "jdbc:hive2://gateway.xxx.xxx:10000/;principal=single" -f $i &>>/home/test/log/$log

#${var%%-*}
#該命令的作用是去掉變量var從右邊算起的最后一個(gè)'-'字符及其右邊的內(nèi)容,返回從右邊算起的最后一個(gè)'/'(不含該字符)的左邊的內(nèi)容。
#${var##*/}
#該命令的作用是去掉變量var從左邊算起的最后一個(gè)'/'字符及其左邊的內(nèi)容,返回從左邊算起的最后一個(gè)'/'(不含該字符)的右邊的內(nèi)容。

    #To drop path,only filename left
    j=${i##*/}
    #only for debug
    echo "j=$j"
    
    #To get last number in filename to distinguish  Positive testing from Negative Testing
    k=${i##*~}
    #only for debug
    echo "k=$k"

    #get case number
    m=${j%%-*}
    #only for debug
    echo "m=$m"
    
    #To login system with user test to execute query statement
    #filename in folder case looks like this: case_x.q(x is varable)
    #filename in folder output will be named like output_x-y~z.q(it is not a sql file...)
    kdestroy
    kinit -kt /etc/security/keytabs/test.keytab test
    beeline -u "jdbc:hive2://gateway.xxx.xxx:10000/;principal=single" -f /home/test/case/case_$m.q  &>>/home/test/output/output_$j 
    
    #To check results
    #filename in folder expect looks like this: expect_x(x is varable)
    if [ $k = "1.q" ];then
        if [ -f "/home/test/expect/expect_$m" ];then
            eval $(/bin/grep ok /home/test/expect/expect_$m)
            eval $(/bin/grep nok /home/test/expect/expect_$m)
            if [ -n "`grep -w $ok /home/test/output/output_$j`"];then
                echo "$i pass">>/home/test/log/result.txt
                ((pass++))
            elif [ -n "`grep -w $nok /home/test/output/output_$j`"];then
                echo "$i failed">>/home/test/log/result.txt
                ((fail++))
            else 
                echo "$i block">>/home/test/log/result.txt
                ((block++))
            fi
        elif [ -n "`grep -w "seconds" /home/test/output/output_$j`" ];then
            echo "$i pass">>/home/test/log/result.txt
            ((pass++))
        elif [ -n "`grep -w "FAILED: SemanticException No valid privileges" /home/test/output/output_$j`" ];then
            echo "$i failed">>/home/test/log/result.txt
            ((fail++))
        else
            echo "$i block">>/home/test/log/result.txt
            ((block++))
        fi

    else 
        if [ -f "/home/test/expect/expect_$m" ];then
            eval $(/bin/grep ok /home/test/expect/expect_$m)
            eval $(/bin/grep nok /home/test/expect/expect_$m)
            if [ -n "`grep -w $nok /home/test/output/output_$j`" ];then
                echo "$i pass">>/home/test/log/result.txt
                ((pass++))
            elif [ -n "`grep -w $ok /home/test/output/output_$j`" ];then
                echo "$i failed">>/home/test/log/result.txt
                ((fail++))
            else 
                echo "$i block">>/home/test/log/result.txt
                ((block++))
            fi
        elif [ -n "`grep -w "seconds" /home/test/output/output_$j`" ];then
            echo "$i failed">>/home/test/log/result.txt
            ((fail++))
        elif [ -n "`grep -w "FAILED: SemanticException No valid privileges" /home/test/output/output_$j`" ];then
            echo "$i pass">>/home/test/log/result.txt
            ((pass++))        
        else
            echo "$i block">>/home/test/log/result.txt
            ((block++))
        fi

    fi
    

done

echo `date` >>/home/test/log/result.txt
echo "$pass passed" >>/home/test/log/result.txt
echo "$fail failed">>/home/test/log/result.txt
echo "$block blocked">>/home/test/log/result.txt
#rename log.txt with current time
cat /home/test/log/result.txt >> /home/test/log/$log
rm -f /home/test/log/result.txt

當(dāng)前文章:shell實(shí)現(xiàn)hive自動(dòng)化測(cè)試
分享鏈接:http://www.xueling.net.cn/article/pjpjhc.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲一区不卡 | 一区二区三区在线观看欧美 | 狠狠色丁香婷婷 | 丰满人妻一区二区三区无码av | 人妻少妇邻居少妇好多水在线 | 国产超91| 色花堂国产精品第一页 | 最新国产精品毛片在线 | 国产乱人伦AVA麻豆软件 | 自拍偷自拍亚洲精品10p | 天天操夜夜操国产精品 | 国产激情999| 亚洲精品无码专区久久 | 2021在线精品自偷自拍无码 | 亚洲乱码中文字幕综合区 | 国产一区二区高清视频 | 亚洲一区二区观看 | 69影视| 日本美女黄网站 | 亚洲精品TV久久久久久久久久 | 欧美xxxxhd高清 | 欧美日本二区 | 亚洲美女视频在线 | 国产一精品一AV一免费爽爽 | 小13箩利洗澡无码视频免费网站 | 手机免费看黄色 | 国产SUV精品一区二区五 | 日韩中字在线观看 | av毛片在线观看地址 | 又大又硬又爽免费视频 | 午夜免费视频网站 | 全篇肉高h秘书被c办公室有图 | 国产无遮挡裸体免费视频A片 | 中文字幕在线2021一区 | 中文字幕无码视频专区 | 久久精品日日躁夜夜躁 | 国产不卡三区 | 男女好痛好深好爽视频一区 | 伊人热热久久原色播放WWW | 免费中文字幕日产乱码 | 曰韩中文字幕 |