test-network.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #! /bin/sh
  2. until [ -z $1 ]
  3. do
  4. case $1 in
  5. --chutney-path)
  6. export CHUTNEY_PATH="$2"
  7. shift
  8. ;;
  9. --tor-path)
  10. export TOR_DIR="$2"
  11. shift
  12. ;;
  13. --flavo?r|--network-flavo?r)
  14. export NETWORK_FLAVOUR="$2"
  15. shift
  16. ;;
  17. *)
  18. echo "Sorry, I don't know what to do with '$1'."
  19. exit 2
  20. ;;
  21. esac
  22. shift
  23. done
  24. TOR_DIR="${TOR_DIR:-$PWD}"
  25. NETWORK_FLAVOUR=${NETWORK_FLAVOUR:-basic}
  26. CHUTNEY_NETWORK=networks/$NETWORK_FLAVOUR
  27. myname=$(basename $0)
  28. [ -d "$CHUTNEY_PATH" ] && [ -x "$CHUTNEY_PATH/chutney" ] || {
  29. echo "$myname: missing 'chutney' in CHUTNEY_PATH ($CHUTNEY_PATH)"
  30. exit 1
  31. }
  32. cd "$CHUTNEY_PATH"
  33. # For picking up the right tor binaries.
  34. PATH="$TOR_DIR/src/or:$TOR_DIR/src/tools:$PATH"
  35. ./tools/bootstrap-network.sh $NETWORK_FLAVOUR || exit 2
  36. # Sleep some, waiting for the network to bootstrap.
  37. # TODO: Add chutney command 'bootstrap-status' and use that instead.
  38. BOOTSTRAP_TIME=18
  39. echo -n "$myname: sleeping for $BOOTSTRAP_TIME seconds"
  40. n=$BOOTSTRAP_TIME; while [ $n -gt 0 ]; do
  41. sleep 1; n=$(expr $n - 1); echo -n .
  42. done; echo ""
  43. ./chutney verify $CHUTNEY_NETWORK
  44. VERIFY_EXIT_STATUS=$?
  45. # work around a bug/feature in make -j2 (or more)
  46. # where make hangs if any child processes are still alive
  47. ./chutney stop $CHUTNEY_NETWORK
  48. exit $VERIFY_EXIT_STATUS