2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-05-29 09:13:08 +00:00

60 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
function test_openbmccommand()
{
node_number=0;
number=0;
if [[ $1 ]]&&[[ $2 ]]&&[[ $3 ]];then
`$1 $2 $3 >/tmp/openbmccommand.test`;
if [[ $? -eq 0 ]];then
echo right command;
number=`awk 'END{print NR}' /tmp/openbmccommand.test`
echo number is $number
`cat /tmp/openbmccommand.test |awk -F : '{print $1}' > /tmp/openbmccommand.test1`
for i in `cat /tmp/openbmccommand.test1`
do
echo $i
if [[ $i == $2 ]];then
node_number=1;
else
echo no than more node checked
node_number=2;
fi
done
if [[ $node_number -eq 1 ]];then
`cat /tmp/openbmccommand.test |awk -F : '{print $2}'> /tmp/openbmccommand.test2`
if [[ $number -eq 1 ]]&&[[ `awk -F "" '{for(i=1;i<=NF;++i) if($i==":") ++sum}END{print sum}' /tmp/openbmccommand.test` -eq 1 ]];then
if [[ `cat /tmp/openbmccommand.test` =~ "No attributes returned from the BMC" ]]||[[ `cat /tmp/openbmccommand.test` =~ "No mprom information is available" ]]||[[ `cat /tmp/openbmccommand.test` =~ "No deviceid information is available" ]]||[[ `cat /tmp/openbmccommand.test` =~ "No uuid information is available" ]]||[[ `cat /tmp/openbmccommand.test` =~ "No guid information is available" ]];then
echo "No attributes"
return 0;
else
return 1;
fi
else
if [[ `cat /tmp/openbmccommand.test2` =~ "No attributes returned from the BMC" ]]||[[ `cat /tmp/openbmccommand.test` =~ "No mprom information is available" ]]||[[ `cat /tmp/openbmccommand.test` =~ "No deviceid information is available" ]]||[[ `cat /tmp/openbmccommand.test` =~ "No uuid information is available" ]]||[[ `cat /tmp/openbmccommand.test` =~ "No guid information is available" ]];then
echo "wrong return"
return 1;
else
echo "right return"
return 0
fi
fi
else
if [[ $node_number -eq 2 ]];then
return 0;
fi
fi
else
return 1;
fi
else
return 1;
fi
}
test_openbmccommand $1 $2 $3
if [[ $? -eq 0 ]];then
exit 0;
else
exit 1;
fi