8000 travis: faster DB startup wait (#773) · kevinvoid/PyMySQL@34adc28 · GitHub
[go: up one dir, main page]

Skip to content

Commit 34adc28

Browse files
authored
travis: faster DB startup wait (PyMySQL#773)
1 parent 501abf0 commit 34adc28

File tree

1 file changed

+40
-56
lines changed

1 file changed

+40
-56
lines changed

.travis/initializedb.sh

Lines changed: 40 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,46 @@
11
#!/bin/bash
22

3-
#error,debug,verbose,
4-
set -exv
5-
6-
if [ ! -z "${DB}" ]; then
7-
docker pull ${DB}
8-
docker run -it --name=mysqld -d -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 ${DB}
9-
sleep 15
10-
11-
mysql() {
12-
docker exec mysqld mysql "${@}"
13-
}
14-
while :
15-
do
16-
sleep 5
17-
mysql -e 'select version()' && break
18-
echo "server logs"
19-
docker logs --tail 5 mysqld
20-
done
21-
22-
if [ $DB == 'mysql:8.0' ]; then
23-
WITH_PLUGIN='with mysql_native_password'
24-
mysql -e 'SET GLOBAL local_infile=on'
25-
docker cp mysqld:/var/lib/mysql/public_key.pem "${HOME}"
26-
docker cp mysqld:/var/lib/mysql/ca.pem "${HOME}"
27-
docker cp mysqld:/var/lib/mysql/server-cert.pem "${HOME}"
28-
docker cp mysqld:/var/lib/mysql/client-key.pem "${HOME}"
29-
docker cp mysqld:/var/lib/mysql/client-cert.pem "${HOME}"
30-
31-
# Test user for auth test
32-
mysql -e '
33-
CREATE USER
34-
user_sha256 IDENTIFIED WITH "sha256_password" BY "pass_sha256",
35-
nopass_sha256 IDENTIFIED WITH "sha256_password",
36-
user_caching_sha2 IDENTIFIED WITH "caching_sha2_password" BY "pass_caching_sha2",
37-
nopass_caching_sha2 IDENTIFIED WITH "caching_sha2_password"
38-
PASSWORD EXPIRE NEVER;'
39-
mysql -e 'GRANT RELOAD ON *.* TO user_caching_sha2;'
40-
else
41-
WITH_PLUGIN=''
42-
fi
43-
44-
mysql -uroot -e 'create database test1 DEFAULT CHARACTER SET utf8mb4'
45-
mysql -uroot -e 'create database test2 DEFAULT CHARACTER SET utf8mb4'
46-
47-
mysql -u root -e "create user test2 identified ${WITH_PLUGIN} by 'some password'; grant all on test2.* to test2;"
48-
mysql -u root -e "create user test2@localhost identified ${WITH_PLUGIN} by 'some password'; grant all on test2.* to test2@localhost;"
49-
50-
cp .travis/docker.json pymysql/tests/databases.json
3+
set -ex
4+
5+
docker pull ${DB}
6+
docker run -it --name=mysqld -d -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 ${DB}
7+
8+
mysql() {
9+
docker exec mysqld mysql "${@}"
10+
}
11+
while :
12+
do
13+
sleep 3
14+
mysql --protocol=tcp -e 'select version()' && break
15+
done
16+
docker logs mysqld
17+
18+
if [ $DB == 'mysql:8.0' ]; then
19+
WITH_PLUGIN='with mysql_native_password'
20+
mysql -e 'SET GLOBAL local_infile=on'
21+
docker cp mysqld:/var/lib/mysql/public_key.pem "${HOME}"
22+
docker cp mysqld:/var/lib/mysql/ca.pem "${HOME}"
23+
docker cp mysqld:/var/lib/mysql/server-cert.pem "${HOME}"
24+
docker cp mysqld:/var/lib/mysql/client-key.pem "${HOME}"
25+
docker cp mysqld:/var/lib/mysql/client-cert.pem "${HOME}"
26+
27+
# Test user for auth test
28+
mysql -e '
29+
CREATE USER
30+
user_sha256 IDENTIFIED WITH "sha256_password" BY "pass_sha256",
31+
nopass_sha256 IDENTIFIED WITH "sha256_password",
32+
user_caching_sha2 IDENTIFIED WITH "caching_sha2_password" BY "pass_caching_sha2",
33+
nopass_caching_sha2 IDENTIFIED WITH "caching_sha2_password"
34+
PASSWORD EXPIRE NEVER;'
35+
mysql -e 'GRANT RELOAD ON *.* TO user_caching_sha2;'
5136
else
52-
cat ~/.my.cnf
37+
WITH_PLUGIN=''
38+
fi
5339

54-
mysql -e 'select VERSION()'
55-
mysql -e 'create database test1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;'
56-
mysql -e 'create database test2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;'
40+
mysql -uroot -e 'create database test1 DEFAULT CHARACTER SET utf8mb4'
41+
mysql -uroot -e 'create database test2 DEFAULT CHARACTER SET utf8mb4'
5742

58-
mysql -u root -e "create user test2 identified by 'some password'; grant all on test2.* to test2;"
59-
mysql -u root -e "create user test2@localhost identified by 'some password'; grant all on test2.* to test2@localhost;"
43+
mysql -u root -e "create user test2 identified ${WITH_PLUGIN} by 'some password'; grant all on test2.* to test2;"
44+
mysql -u root -e "create user test2@localhost identified ${WITH_PLUGIN} by 'some password'; grant all on test2.* to test2@localhost;"
6045

61-
cp .travis/database.json pymysql/tests/databases.json
62-
fi
46+
cp .travis/docker.json pymysql/tests/databases.json

0 commit comments

Comments
 (0)
0