| #!/bin/bash |
| cd $(dirname $(readlink -f $0))/.. |
| |
| BOARD_BLACKLIST=( |
| stout32 |
| ) |
| |
| getboards() { |
| ( |
| for p in bvt cq pfq |
| do |
| cli/atest host list -w cautotest -b pool:$p |
| done | sed ' |
| /board:/ !d |
| s/^.*board:\([^,]*\).*$/\1/ |
| ' | sort -u |
| for b in "${BOARD_BLACKLIST[@]}" |
| do |
| echo $b |
| done |
| ) | sort | uniq -u |
| } |
| |
| if [ $# -eq 0 ] |
| then |
| set -- $(getboards) |
| fi |
| |
| list_duts() { |
| cli/atest host list -w cautotest -b $1 | sed ' |
| 1 d |
| /^chromeos[135]-/ d |
| /pool:wificell/ d |
| /pool:faft-/ d |
| /board:.*board:/ d |
| s/ .*$// |
| ' |
| } |
| |
| |
| printf "%-19s %6s %6s %6s %6s %6s\n" "Board" "Avail" "Bad" "Good" "Spare" "Total" |
| for BOARD in "$@" |
| do |
| SUITES=$(list_duts board:$BOARD,pool:suites | wc -l) |
| if [ $SUITES -eq 0 ]; then |
| continue |
| fi |
| HOSTLIST=( $(list_duts board:$BOARD) ) |
| HOSTS=${#HOSTLIST[@]} |
| BVT=6 |
| CQ=$(list_duts board:$BOARD,pool:cq | wc -l) |
| PFQ=$(list_duts board:$BOARD,pool:pfq | wc -l) |
| WORKING=$(site_utils/dut_status.py -d 72 "${HOSTLIST[@]}" | |
| grep OK | wc -l) |
| BROKEN=$(( HOSTS - WORKING )) |
| SPARE=$(( HOSTS - BVT - CQ - PFQ )) |
| AVAIL=$(( SPARE - BROKEN )) |
| printf "%-19s %6d %6d %6d %6d %6d\n" "$BOARD" "$AVAIL" "$BROKEN" "$WORKING" "$SPARE" "$HOSTS" |
| done | sort -k 2n -k 3rn |