Sha256: 41f0af6332c863f96b9d7605fcc074cd8004742b915b441e0f74aed0e029d0da

Contents?: true

Size: 1.48 KB

Versions: 111

Compression:

Stored size: 1.48 KB

Contents

#!/bin/bash
set -e
set -x
shopt -s expand_aliases

export RUBYOPT="-W0"

alias zold="$1 --ignore-this-stupid-option --halt-code=test --ignore-global-config --trace --network=test --no-colors --dump-errors"

function reserve_port {
  python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'
}

function wait_for_url {
  i=0
  while ! curl --silent --fail $1 > /dev/null; do
    ((i++)) || sleep 0
    if ((i==30)); then
      echo "URL $1 is not available after ${i} attempts"
      exit 12
    fi
    sleep 2
  done
}

function wait_for_port {
  i=0
  while ! nc -z localhost $1; do
    ((i++)) || sleep 0
    if ((i==30)); then
      echo "Port $1 is not available after ${i} attempts"
      exit 13
    fi
    sleep 2
  done
}

function wait_for_file {
  i=0
  while [ ! -f $1 ]; do
    ((i++)) || sleep 0
    if ((i==30)); then
      echo "File $1 not found, giving up after ${i} attempts"
      exit 14
    fi
    sleep 2
  done
}

function halt_nodes {
  for p in "$@"; do
    pid=$(curl --silent "http://127.0.0.1:$p/pid?halt=test" || echo 'absent')
    if [[ "${pid}" =~ ^[0-9]+$ ]]; then
      i=0
      while kill -0 ${pid}; do
        ((i++)) || sleep 0
        if ((i==30)); then
          echo "Process ${pid} didn't die, it's a bug"
          exit 15
        fi
        echo "Still waiting for process ${pid} to die, attempt no.${i}"
        sleep 2
      done
      echo "Process ${pid} is dead!"
    fi
    echo "Node at TCP port ${p} stopped!"
  done
}

Version data entries

111 entries across 111 versions & 1 rubygems

Version Path
zold-0.29.24 fixtures/scripts/_head.sh
zold-0.29.23 fixtures/scripts/_head.sh
zold-0.29.22 fixtures/scripts/_head.sh
zold-0.29.21 fixtures/scripts/_head.sh
zold-0.29.20 fixtures/scripts/_head.sh
zold-0.26.19 fixtures/scripts/_head.sh
zold-0.26.18 fixtures/scripts/_head.sh
zold-0.26.17 fixtures/scripts/_head.sh
zold-0.26.16 fixtures/scripts/_head.sh
zold-0.26.15 fixtures/scripts/_head.sh
zold-0.26.14 fixtures/scripts/_head.sh
zold-0.26.13 fixtures/scripts/_head.sh
zold-0.26.12 fixtures/scripts/_head.sh
zold-0.26.11 fixtures/scripts/_head.sh
zold-0.26.10 fixtures/scripts/_head.sh
zold-0.26.9 fixtures/scripts/_head.sh
zold-0.26.8 fixtures/scripts/_head.sh
zold-0.26.7 fixtures/scripts/_head.sh
zold-0.24.6 fixtures/scripts/_head.sh
zold-0.24.5 fixtures/scripts/_head.sh