144 lines · 4.9 KB · Shell
RawDownload
#!/bin/bash#*******************************************************************************#Encoder Binary comparison test model#       -- Compared with benchmark version using SHA-1 string#       -- Test bit stream under folder  openh264/res#       -- SHA-1 string of benchmark version for  all cases  of all bit streams#           under folder  openh264/test/encoder_binary_comparion/SHA1Table#       -- For more detail,please refer to file AboutTest.##brief:#       -- This file is for local test under Linux/Unix OS#       -- Start point of the test model,#       -- For local test, please run below command:#             ./run_Main.sh LocalTest#          And wait minutes for the test result.#          Final test result, you can refer to test output files under folder#          openh264/test/encoder_binary_comparison/FinalResult.#       -- If there is something change in encoder design,and found that the bit stream#          also change,you need to update the SHA1 table files in ./SHA1Table.#          For update the SHA1 tables, please run below command:#             ./run_Main.sh UpdateSHA1Table#          There will be some mismatched warning info, please ignore it.#          Wait for minutes,the up-to-date will be copied to ./SHA1Table.# date:  10/06/2014 Created#*******************************************************************************#usage: runTestTypeCheck  ${TestType}runTestTypeCheck(){  if [ ! $# -eq 1 ]  then    echo "usage:   runTestTypeCheck  \${TestType}"    exit 1  fi  local TestType=$1  echo "TestType is ${TestType}"  if [ "${TestType}" = "LocalTest" ]  then    return 0  elif [ "${TestType}" = "UpdateSHA1Table" ]  then    return 0  else    echo "usage:   --./run_Main.sh  LocalTest"    echo "      or --./run_Main.sh  UpdateSHA1Table"    exit 1  fi}#delete temp files/foldersrunLocalTestPostAction(){  ./Scripts/run_SafeDelete.sh   ${AllTestDataFolder} >>${DeletedLog}  ./Scripts/run_SafeDelete.sh   ./Codec >>${DeletedLog}  echo -e "\n\n\n"  echo -e "\033[32m *************************************************************** \033[0m"  echo -e "\033[32m  Local test completed, \033[0m"  if [ ${Flag} -eq  0 ]  then    echo -e "\033[32m  --all cases pass!! ----bit stream:  ${StreamName} \033[0m"  else    echo -e "\033[31m  --not all cases passed .....\033[0m"  fi  echo ""  echo -e "\033[32m  for more detail, please refer to xxx.log files and xxx.csv files in ./FinalResult  \033[0m"  echo -e "\033[32m *************************************************************** \033[0m"  echo ""}#copy up-to-date SHA1 table files to ./SHA1Table#and delete temp files/foldersrunUpdateSHA1TablePostAction(){  local BitStreamName=""  local SHA1TableName=""  local FileName=""  for file in ${FinalResultFolder}/*  do    FileName=`echo $file | awk 'BEGIN {FS="/"} {print $NF}'`    if [[  "$FileName"  =~ UpdateSHA1Table.csv$ ]]    then      BitStreamName=`echo $FileName | awk 'BEGIN {FS=".264"} {print $1}'`      SHA1TableName=${BitStreamName}.264_AllCase_SHA1_Table.csv      ./Scripts/run_SafeDelete.sh  ${SHA1TableFolder}/${SHA1TableName} >>${DeletedLog}      cp  $file   ${SHA1TableFolder}/${SHA1TableName}    fi  done  ./Scripts/run_SafeDelete.sh  ${AllTestDataFolder}>>${DeletedLog}  ./Scripts/run_SafeDelete.sh  ${FinalResultFolder}>>${DeletedLog}  ./Scripts/run_SafeDelete.sh  ./Codec>>${DeletedLog}  echo -e "\n\n\n"  echo -e "\033[32m *************************************************************** \033[0m"  echo -e "\033[32m all SHA1 tables in ./${SHA1TableFolder} have been updated \033[0m"  echo -e "\n"  echo -e "\033[32m *************************************************************** \033[0m"  echo -e "\n\n"}#usage:   --./run_Main.sh  LocalTest#      or --./run_Main.sh  UpdateSHA1TablerunMain() {  if [ ! $# -eq 1 ]  then    echo "usage:   --./run_Main.sh  LocalTest"    echo "      or --./run_Main.sh  UpdateSHA1Table"    exit 1  fi  local TestType=$1  local BitStreamName=""  Flag=""  SHA1TableFolder="SHA1Table"  FinalResultFolder="FinalResult"  AllTestDataFolder="AllTestData"  DeletedLog="Delete.log"  runTestTypeCheck  ${TestType}  # 32 -->32 bits release version;64 -->64 bits release version  ./run_PrepareAllTestData.sh  32  if [ ! $? -eq 0 ]  then    echo "failed to prepare test space for all test data!"    exit 1  fi  #test all cases  let "Flag=0"  for Bitsream in  ./SHA1Table/*.csv  do    BitStreamName=`echo ${Bitsream} | awk 'BEGIN {FS="/"}  {print $NF} ' `    BitStreamName=`echo ${BitStreamName} | awk 'BEGIN {FS="_AllCase"}  {print $1} ' `    echo -e  "\n\n\n"    ./run_OneBitStream.sh   ${BitStreamName} ${TestType}    if [ ! $? -eq 0 ]    then      let "Flag=1"    fi  done  #post action  if [  ${TestType} = "LocalTest" ]  then    runLocalTestPostAction  elif [  ${TestType} = "UpdateSHA1Table" ]  then    runUpdateSHA1TablePostAction  fi }TestType=$1runMain  ${TestType} 

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t