Skip to content

Commit

Permalink
Autotest: Fix failed to start test before port is being listened; Rem…
Browse files Browse the repository at this point in the history
…ove unused sleep.
  • Loading branch information
SwimmingTiger committed Jun 27, 2019
1 parent eac17eb commit 8a007ae
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 6 deletions.
26 changes: 24 additions & 2 deletions docker/btcpool/test/btc/helper/functions.sh
Expand Up @@ -2,12 +2,34 @@

# Wait for the container to run
# arg1: container name
WAIT_FOR_CONTAINER() {
container_name="$1"
while ! docker inspect -f '{{.State.Running}}' "$container_name" &>/dev/null; do
sleep 1
done
}

# Wait for the port be listened then run a command
# arg1: container name
# arg2...: args of wait-for-it.sh
WAIT_FOR_IT() {
container_name="$1"
shift 1
while ! docker inspect -f '{{.State.Running}}' "$container_name" &>/dev/null; do
WAIT_FOR_CONTAINER "$container_name"
docker exec "$container_name" /wait-for-it.sh "$@"
}

# Wait for the port be listened without creating a connection
# Use this function to wait for the sserver listen port to avoid initial session id changes.
# arg1: container name
# arg2: port
WAIT_FOR_PORT() {
container_name="$1"
port="$2"
WAIT_FOR_CONTAINER "$container_name"
while [ "$(docker exec "$container_name" netstat -lntp | grep ":$port" | wc -l)" = "0" ]; do
echo "waiting for port $port..."
sleep 1
done
docker exec "$container_name" /wait-for-it.sh "$@"
echo "port $port is ready"
}
1 change: 0 additions & 1 deletion docker/btcpool/test/btc/testcase/0010-test-gbtmaker
Expand Up @@ -17,7 +17,6 @@ $DOCKER_COMPOSE down >>$STDOUT

echo "start gbtmaker (5s)..."
$DOCKER_COMPOSE up gbtmaker >>$STDOUT &
sleep 5
$WAIT_FOR_IT kafka:9092

{
Expand Down
1 change: 0 additions & 1 deletion docker/btcpool/test/btc/testcase/0011-test-jobmaker
Expand Up @@ -17,7 +17,6 @@ $DOCKER_COMPOSE down >>$STDOUT

echo "start jobmaker (5s)..."
$DOCKER_COMPOSE up jobmaker >>$STDOUT &
sleep 5
$WAIT_FOR_IT kafka:9092

outputTestData() {
Expand Down
Expand Up @@ -7,6 +7,7 @@ MAIN_CONTAINER_NAME="btc_sserver_1"
SSERVER_RESULT="/tmp/btcpool-test-sserver.$PID.log"
KAFKA_PRODUCER="docker exec -i btc_kafka_1 /opt/kafka/bin/kafka-console-producer.sh --broker-list kafka:9092"
WAIT_FOR_IT="WAIT_FOR_IT $MAIN_CONTAINER_NAME"
WAIT_FOR_PORT="WAIT_FOR_PORT $MAIN_CONTAINER_NAME"
DOCKER_COMPOSE="docker-compose --no-ansi"

cd "$BASE_DIR"
Expand All @@ -16,8 +17,8 @@ $DOCKER_COMPOSE down >>$STDOUT

echo "start sserver (5s)..."
$DOCKER_COMPOSE up sserver >>$STDOUT &
sleep 5
$WAIT_FOR_IT kafka:9092
$WAIT_FOR_PORT 3333

outputTestData() {
cat "$BASE_DIR/testdata/stratumjobs-1.log" \
Expand Down
Expand Up @@ -7,6 +7,7 @@ MAIN_CONTAINER_NAME="btc_sserver_1"
KAFKA_CONSUMER="docker exec btc_kafka_1 /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server kafka:9092"
KAFKA_PRODUCER="docker exec -i btc_kafka_1 /opt/kafka/bin/kafka-console-producer.sh --broker-list kafka:9092"
WAIT_FOR_IT="WAIT_FOR_IT $MAIN_CONTAINER_NAME"
WAIT_FOR_PORT="WAIT_FOR_PORT $MAIN_CONTAINER_NAME"
DOCKER_COMPOSE="docker-compose --no-ansi"

cd "$BASE_DIR"
Expand All @@ -16,8 +17,8 @@ $DOCKER_COMPOSE down >>$STDOUT

echo "start sserver (5s)..."
$DOCKER_COMPOSE up sserver >>$STDOUT &
sleep 5
$WAIT_FOR_IT kafka:9092
$WAIT_FOR_PORT 3333

outputTestData() {
cat "$BASE_DIR/testdata/stratumjobs-1.log" \
Expand Down

0 comments on commit 8a007ae

Please sign in to comment.