#!/bin/bash

# Go through all hosts known to the database for cautotest or
# cautotest-cq.  Find all hosts with a corresponding servo host.
# Run servo-stat for each of those hosts.
#
# Output from servo-stat goes to stdout.  Starting and ending
# timestamps are recorded on stderr.

# readlink -f $0, in case $0 is a symlink from somewhere else
cd $(dirname $(readlink -f $0))

date >&2
for MASTER in cautotest cautotest-cq
do
    ../cli/atest host list -w $MASTER
done | awk '
        $0 !~ /^Host / &&
          $0 !~ /board:(parrot|butterfly)/ {print $1}
    ' | sort | ./haveservo | xargs -l1 ./servo-stat
date >&2
