[no-release-notes] Merge pull request #4613 from dolthub/fulghum/bugfix

Fixing sql-server bats tests
This commit is contained in:
Jason Fulghum
2022-10-25 16:38:51 -07:00
committed by GitHub
2 changed files with 25 additions and 19 deletions
@@ -114,7 +114,7 @@ wait_for_connection(port=int(port_str), timeout_ms=int(timeout_ms), database=dat
start_sql_server() {
DEFAULT_DB="$1"
PORT=$( definePORT )
dolt sql-server --host 0.0.0.0 --port=$PORT --user dolt &
dolt sql-server --host 0.0.0.0 --port=$PORT --user dolt --socket "dolt.$PORT.sock" &
SERVER_PID=$!
wait_for_connection $PORT 5000
}
@@ -125,7 +125,7 @@ start_sql_server() {
start_sql_server_with_args() {
DEFAULT_DB=""
PORT=$( definePORT )
dolt sql-server "$@" --port=$PORT &
dolt sql-server "$@" --port=$PORT --socket "dolt.$PORT.sock" &
SERVER_PID=$!
wait_for_connection $PORT 5000
}
@@ -148,7 +148,7 @@ behavior:
autocommit: false
" > .cliconfig.yaml
cat "$2" >> .cliconfig.yaml
dolt sql-server --config .cliconfig.yaml &
dolt sql-server --config .cliconfig.yaml --socket "dolt.$PORT.sock" &
SERVER_PID=$!
wait_for_connection $PORT 5000
}
@@ -170,7 +170,7 @@ listener:
behavior:
autocommit: false
" > .cliconfig.yaml
dolt sql-server --config .cliconfig.yaml &
dolt sql-server --config .cliconfig.yaml --socket "dolt.$PORT.sock" &
SERVER_PID=$!
wait_for_connection $PORT 5000
}
@@ -178,7 +178,7 @@ behavior:
start_multi_db_server() {
DEFAULT_DB="$1"
PORT=$( definePORT )
dolt sql-server --host 0.0.0.0 --port=$PORT --user dolt --data-dir ./ &
dolt sql-server --host 0.0.0.0 --port=$PORT --user dolt --data-dir ./ --socket "dolt.$PORT.sock" &
SERVER_PID=$!
wait_for_connection $PORT 5000
}
@@ -188,6 +188,9 @@ start_multi_db_server() {
# for an async replication push), pass 1.
# kill the process if it's still running
stop_sql_server() {
# Clean up any mysql.sock file in the default, global location
rm -f /tmp/mysql.sock
wait=$1
if [ ! -z "$SERVER_PID" ]; then
serverpidinuse=$(lsof -i -P -n | grep LISTEN | grep $SERVER_PID | wc -l)
@@ -237,7 +240,6 @@ stop_sql_server() {
# * param7: Expected exception value of 1. Mutually exclusive with param6.
#
server_query() {
PORT=$( definePORT )
server_query_with_port "$PORT" "$@"
}
@@ -256,7 +258,7 @@ definePORT() {
for i in {0..9}
do
let getPORT="($$ + $i) % (65536-1024) + 1024"
portinuse=$(lsof -i -P -n | grep LISTEN | grep $attemptedPORT | wc -l)
portinuse=$(lsof -i -P -n | grep LISTEN | grep $getPORT | wc -l)
if [ $portinuse -eq 0 ]; then
echo "$getPORT"
break
+16 -12
View File
@@ -54,7 +54,7 @@ teardown() {
dolt sql -q "create user dolt@'%' identified by '123'"
PORT=$( definePORT )
dolt sql-server --port=$PORT --user dolt > log.txt 2>&1 &
dolt sql-server --port=$PORT --user dolt --socket "dolt.$PORT.sock" > log.txt 2>&1 &
SERVER_PID=$!
sleep 5
@@ -695,7 +695,7 @@ listener:
host: "0.0.0.0"
port: $PORT
EOF
dolt sql-server --config ./config.yml &
dolt sql-server --config ./config.yml --socket "dolt.$PORT.sock" &
SERVER_PID=$!
# We do things manually here because we need to control CLIENT_MULTI_STATEMENTS.
python3 -c '
@@ -740,7 +740,7 @@ listener:
host: "0.0.0.0"
port: $PORT
EOF
dolt sql-server --config ./config.yml &
dolt sql-server --config ./config.yml --socket "dolt.$PORT.sock" &
SERVER_PID=$!
# We do things manually here because we need to control CLIENT_MULTI_STATEMENTS.
python3 -c '
@@ -1157,15 +1157,15 @@ databases:
cd repo1
start_sql_server
PORT=$( definePORT )
run dolt sql-server -P $PORT
run dolt sql-server -P $PORT --socket "dolt.$PORT.sock"
[ "$status" -eq 1 ]
}
@test "sql-server: multi dir sql-server locks out childen" {
@test "sql-server: multi dir sql-server locks out children" {
start_sql_server
cd repo2
PORT=$( definePORT )
run dolt sql-server -P $PORT
run dolt sql-server -P $PORT --socket "dolt.$PORT.sock"
[ "$status" -eq 1 ]
}
@@ -1174,7 +1174,7 @@ databases:
start_sql_server
cd ..
PORT=$( definePORT )
run dolt sql-server -P $PORT
run dolt sql-server -P $PORT --socket "dolt.$PORT.sock"
[ "$status" -eq 1 ]
}
@@ -1184,7 +1184,7 @@ databases:
server_query repo1 1 dolt "" "create database newdb" ""
cd newdb
PORT=$( definePORT )
run dolt sql-server -P $PORT
run dolt sql-server -P $PORT --socket "dolt.$PORT.sock"
[ "$status" -eq 1 ]
}
@@ -1222,6 +1222,8 @@ databases:
run dolt sql-client --host=0.0.0.0 --port=$PORT --user=dolt <<< "exit;"
[ "$status" -eq 0 ]
[[ "$output" =~ "# Welcome to the Dolt MySQL client." ]] || false
rm /tmp/mysql.sock
}
@test "sql-server: start server with socket option undefined should set default socket path" {
@@ -1239,6 +1241,8 @@ databases:
run grep '\"/tmp/mysql.sock\"' log.txt
[ "$status" -eq 0 ]
[ "${#lines[@]}" -eq 1 ]
rm /tmp/mysql.sock
}
@test "sql-server: server fails to start up if there is already a file in the socket file path" {
@@ -1276,7 +1280,7 @@ listener:
host: localhost
port: $PORT
max_connections: 10
socket: /tmp/mysql.sock
socket: dolt.$PORT.sock
behavior:
autocommit: true" > server.yaml
@@ -1287,7 +1291,7 @@ behavior:
server_query repo2 1 dolt "" "select 1 as col1" "col1\n1"
run grep '\"/tmp/mysql.sock\"' log.txt
run grep "dolt.$PORT.sock" log.txt
[ "$status" -eq 0 ]
[ "${#lines[@]}" -eq 1 ]
}
@@ -1329,7 +1333,7 @@ s.close()
" > port_finder.py
PORT=$(python3 port_finder.py)
run dolt sql-server --port=$PORT
run dolt sql-server --port=$PORT --socket "dolt.$PORT.sock"
[ "$status" -eq 1 ]
[[ "$output" =~ "database locked by another sql-server; either clone the database to run a second server" ]] || false
@@ -1383,7 +1387,7 @@ s.close()
[ $status -eq 0 ]
PORT=$( definePORT )
dolt sql-server --host 0.0.0.0 --port=$PORT --user dolt &
dolt sql-server --host 0.0.0.0 --port=$PORT --user dolt --socket "dolt.$PORT.sock" &
SERVER_PID=$! # will get killed by teardown_common
sleep 5 # not using python wait so this works on windows