parallel-vm.sh 713 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. cd "$(dirname $0)"
  3. NUM=$1
  4. if [ -z "$NUM" ]; then
  5. echo "usage: $0 <num servers> [params..]"
  6. exit 1
  7. fi
  8. shift
  9. LOGS=/tmp/hwsim-test-logs
  10. mkdir -p $LOGS
  11. DATE=$(date +%s)
  12. for i in `seq 1 $NUM`; do
  13. printf "\rStarting virtual machine $i/$NUM"
  14. ./vm-run.sh --timestamp $DATE --ext srv.$i --split $i/$NUM $* >> $LOGS/parallel-$DATE.srv.$i 2>&1 &
  15. done
  16. echo
  17. echo "Waiting for virtual machines to complete testing"
  18. count=$NUM
  19. for i in `seq 1 $NUM`; do
  20. printf "\r$count VM(s) remaining "
  21. wait -n
  22. count=$((count-1))
  23. done
  24. printf "\rTesting completed "
  25. echo
  26. echo -n "PASS count: "
  27. grep ^PASS $LOGS/parallel-$DATE.srv.* | wc -l
  28. cat $LOGS/parallel-$DATE.srv.* | grep FAIL | sort