forked from go-gorm/playground
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.sh
executable file
·28 lines (22 loc) · 849 Bytes
/
test.sh
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
#!/bin/bash -e
dialects=("sqlite" "mysql" "postgres" "sqlserver")
if [ "$GORM_ENABLE_CACHE" = "" ]
then
rm -rf gorm
fi
[ -d gorm ] || (echo "git clone --depth 1 -b $(cat main_test.go | grep GORM_BRANCH | awk '{print $3}') $(cat main_test.go | grep GORM_REPO | awk '{print $3}')"; git clone --depth 1 -b $(cat main_test.go | grep GORM_BRANCH | awk '{print $3}') $(cat main_test.go | grep GORM_REPO | awk '{print $3}'))
cp go.mod go.mod.bak
sed '/gorm.io\/driver/d' go.mod.bak > go.mod
for dialect in "${dialects[@]}" ; do
if [ "$GORM_DIALECT" = "" ] || [ "$GORM_DIALECT" = "${dialect}" ]
then
if [[ $(grep TEST_DRIVER main_test.go) =~ "${dialect}" ]]
then
echo "testing ${dialect}..."
GORM_DIALECT=${dialect} go test -race -count=1 -v ./...
else
echo "skip ${dialect}..."
fi
fi
done
mv go.mod.bak go.mod