-
Notifications
You must be signed in to change notification settings - Fork 413
Expand file tree
/
Copy pathutil.sh
More file actions
123 lines (103 loc) · 2.93 KB
/
util.sh
File metadata and controls
123 lines (103 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/bin/bash
# Copyright 2023 PingCAP, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
function show_env() {
set +e
pwd
df -h
grep ^ /sys/block/*/queue/rotational
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
lscpu
cat /proc/meminfo
uname -a
hostname
lsmod
dmidecode | grep 'Product Name'
free -mh
cat /proc/loadavg
ldd --version
set -e
}
function wait_env() {
local timeout='200'
local failed='true'
echo "=> wait for env available"
for (( i = 0; i < "${timeout}"; i++ )); do
if [[ -n $(cat ./log/tidb0/tidb.log | grep "server is running MySQL protocol") && \
-n $(cat ./log/tiflash/tiflash.log | grep "Start to wait for terminal signal") ]]; then
local failed='false'
break
fi
if [ $((${i} % 10)) = 0 ] && [ ${i} -ge 10 ]; then
echo " #${i} waiting for env available"
fi
sleep 1
done
if [ "${failed}" == 'true' ]; then
echo " can not set up env" >&2
exit 1
else
echo " available"
fi
}
function wait_tiflash_env() {
local timeout='200'
local failed='true'
echo "=> wait for env available"
for (( i = 0; i < "${timeout}"; i++ )); do
if [[ -n $(cat ./log/tiflash/tiflash.log | grep "Start to wait for terminal signal") ]]; then
local failed='false'
break
fi
if [ $((${i} % 10)) = 0 ] && [ ${i} -ge 10 ]; then
echo " #${i} waiting for env available"
fi
sleep 1
done
if [ "${failed}" == 'true' ]; then
echo " can not set up env" >&2
exit 1
else
echo " available"
fi
}
function set_branch() {
# XYZ_BRANCH: pd/tikv/tidb hash, default to `master`
# BRANCH: hash short cut, default to `master`
if [ -n "$BRANCH" ]; then
[ -z "$PD_BRANCH" ] && export PD_BRANCH="$BRANCH"
[ -z "$TIKV_BRANCH" ] && export TIKV_BRANCH="$BRANCH"
[ -z "$TIDB_BRANCH" ] && export TIDB_BRANCH="$BRANCH"
fi
export PD_BRANCH="${PD_BRANCH//\//-}"
export TIKV_BRANCH="${TIKV_BRANCH//\//-}"
export TIDB_BRANCH="${TIDB_BRANCH//\//-}"
echo "use branch \`${BRANCH-master}\` for ci test"
}
function clean_data_log() {
rm -rf ./data ./log
}
function check_env() {
local cur_dir=$(pwd)
if [[ ! -d ${cur_dir}/../../tests/.build/tiflash ]]; then
echo "No pre-build tiflash binary directory: ${cur_dir}/../../tests/.build/tiflash"
exit -1
fi
}
export -f show_env
export -f wait_env
export -f wait_tiflash_env
export -f set_branch
export -f clean_data_log
export -f check_env