Skip to content

Commit 6e8991c

Browse files
committed
test: Fix unit test timeout in CI
1 parent bbb84b3 commit 6e8991c

File tree

4 files changed

+47
-62
lines changed

4 files changed

+47
-62
lines changed

.circleci/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ orbs:
88
slack: circleci/[email protected]
99
jq: circleci/[email protected]
1010
jobs:
11-
test:
11+
create-test-jobs:
1212
machine:
1313
image: ubuntu-2204:2022.04.1
1414
steps:
@@ -46,7 +46,7 @@ workflows:
4646
tags:
4747
only: /dev-v[0-9]+(\.[0-9]+)*/
4848
branches:
49-
ignore: /.*/
49+
only: /test\/.*/
5050
- publish:
5151
context:
5252
- slack-notification

.circleci/config_continue.yml

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,19 @@ jobs:
1515
docker:
1616
- image: rishabhpoddar/supertokens_python_driver_testing
1717
resource_class: large
18+
parameters:
19+
fdi-version:
20+
type: string
21+
cdi-version:
22+
type: string
23+
parallelism: 4
1824
steps:
1925
- checkout
2026
- run: update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-15.0.1/bin/java" 2
2127
- run: update-alternatives --install "/usr/bin/javac" "javac" "/usr/java/jdk-15.0.1/bin/javac" 2
2228
- run: echo "127.0.0.1 localhost.org" >> /etc/hosts
2329
- run: make dev-install
24-
- run: (cd .circleci/ && ./doUnitTests.sh)
30+
- run: (cd .circleci/ && ./doUnitTests.sh << parameters.cdi-version >>)
2531
- slack/status
2632
test-website-fastapi:
2733
docker:
@@ -184,7 +190,7 @@ workflows:
184190
tags:
185191
only: /dev-v[0-9]+(\.[0-9]+)*/
186192
branches:
187-
ignore: /.*/
193+
only: /test\/.*/
188194
- test-unit:
189195
requires:
190196
- test-dev-tag-as-not-passed
@@ -194,7 +200,10 @@ workflows:
194200
tags:
195201
only: /dev-v[0-9]+(\.[0-9]+)*/
196202
branches:
197-
ignore: /.*/
203+
only: /test\/.*/
204+
maxtrix:
205+
parameters:
206+
cdi-version: placeholder
198207
- test-website-fastapi:
199208
requires:
200209
- test-dev-tag-as-not-passed
@@ -204,7 +213,7 @@ workflows:
204213
tags:
205214
only: /dev-v[0-9]+(\.[0-9]+)*/
206215
branches:
207-
ignore: /.*/
216+
only: /test\/.*/
208217
- test-website-flask:
209218
requires:
210219
- test-dev-tag-as-not-passed
@@ -214,7 +223,7 @@ workflows:
214223
tags:
215224
only: /dev-v[0-9]+(\.[0-9]+)*/
216225
branches:
217-
ignore: /.*/
226+
only: /test\/.*/
218227
- test-website-django:
219228
requires:
220229
- test-dev-tag-as-not-passed
@@ -224,7 +233,7 @@ workflows:
224233
tags:
225234
only: /dev-v[0-9]+(\.[0-9]+)*/
226235
branches:
227-
ignore: /.*/
236+
only: /test\/.*/
228237
- test-website-django2x:
229238
requires:
230239
- test-dev-tag-as-not-passed
@@ -234,7 +243,7 @@ workflows:
234243
tags:
235244
only: /dev-v[0-9]+(\.[0-9]+)*/
236245
branches:
237-
ignore: /.*/
246+
only: /test\/.*/
238247
- test-authreact-fastapi:
239248
requires:
240249
- test-dev-tag-as-not-passed
@@ -244,7 +253,7 @@ workflows:
244253
tags:
245254
only: /dev-v[0-9]+(\.[0-9]+)*/
246255
branches:
247-
ignore: /.*/
256+
only: /test\/.*/
248257
matrix:
249258
parameters:
250259
fdi-version: placeholder
@@ -257,7 +266,7 @@ workflows:
257266
tags:
258267
only: /dev-v[0-9]+(\.[0-9]+)*/
259268
branches:
260-
ignore: /.*/
269+
only: /test\/.*/
261270
matrix:
262271
parameters:
263272
fdi-version: placeholder
@@ -270,7 +279,7 @@ workflows:
270279
tags:
271280
only: /dev-v[0-9]+(\.[0-9]+)*/
272281
branches:
273-
ignore: /.*/
282+
only: /test\/.*/
274283
matrix:
275284
parameters:
276285
fdi-version: placeholder
@@ -290,4 +299,4 @@ workflows:
290299
tags:
291300
only: /dev-v[0-9]+(\.[0-9]+)*/
292301
branches:
293-
ignore: /.*/
302+
only: /test\/.*/

.circleci/doUnitTests.sh

Lines changed: 21 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,27 @@
1-
coreDriverJson=`cat ../coreDriverInterfaceSupported.json`
2-
coreDriverLength=`echo $coreDriverJson | jq ".versions | length"`
3-
coreDriverArray=`echo $coreDriverJson | jq ".versions"`
4-
echo "got core driver relations"
1+
echo "Starting tests for CDI $1";
52

6-
frontendDriverJson=`cat ../frontendDriverInterfaceSupported.json`
7-
frontendDriverLength=`echo $frontendDriverJson | jq ".versions | length"`
8-
frontendDriverArray=`echo $frontendDriverJson | jq ".versions"`
9-
echo "got frontend driver relations"
10-
11-
# get driver version
12-
version=`cat ../setup.py | grep -e 'version='`
13-
while IFS='"' read -ra ADDR; do
14-
counter=0
15-
for i in "${ADDR[@]}"; do
16-
if [ $counter == 1 ]
17-
then
18-
version=$i
19-
fi
20-
counter=$(($counter+1))
21-
done
22-
done <<< "$version"
23-
24-
someTestsRan=false
25-
i=0
26-
while [ $i -lt $coreDriverLength ]; do
27-
coreDriverVersion=`echo $coreDriverArray | jq ".[$i]"`
28-
coreDriverVersion=`echo $coreDriverVersion | tr -d '"'`
29-
i=$((i+1))
3+
if [ -z "$SUPERTOKENS_API_KEY" ]; then
4+
echo "SUPERTOKENS_API_KEY not set"
5+
exit 1
6+
fi
307

31-
coreFree=`curl -s -X GET \
32-
"https://api.supertokens.io/0/core-driver-interface/dependency/core/latest?password=$SUPERTOKENS_API_KEY&planType=FREE&mode=DEV&version=$coreDriverVersion" \
33-
-H 'api-version: 0'`
34-
if [[ `echo $coreFree | jq .core` == "null" ]]
35-
then
36-
echo "fetching latest X.Y version for core given core-driver-interface X.Y version: $coreDriverVersion, planType: FREE gave response: $coreFree. Please make sure all relevant cores have been pushed."
37-
exit 1
38-
fi
39-
coreFree=$(echo $coreFree | jq .core | tr -d '"')
8+
coreDriverVersion=$1
9+
coreDriverVersion=`echo $coreDriverVersion | tr -d '"'`
4010

41-
someTestsRan=true
42-
./setupAndTestWithFreeCore.sh $coreFree $coreDriverVersion
43-
if [[ $? -ne 0 ]]
44-
then
45-
echo "test failed... exiting!"
46-
exit 1
47-
fi
48-
rm -rf ../../supertokens-root
49-
done
11+
coreFree=`curl -s -X GET \
12+
"https://api.supertokens.io/0/core-driver-interface/dependency/core/latest?password=$SUPERTOKENS_API_KEY&planType=FREE&mode=DEV&version=$coreDriverVersion" \
13+
-H 'api-version: 0'`
14+
if [[ `echo $coreFree | jq .core` == "null" ]]
15+
then
16+
echo "fetching latest X.Y version for core given core-driver-interface X.Y version: $coreDriverVersion, planType: FREE gave response: $coreFree. Please make sure all relevant cores have been pushed."
17+
exit 1
18+
fi
19+
coreFree=$(echo $coreFree | jq .core | tr -d '"')
5020

51-
if [[ $someTestsRan = "false" ]]
21+
./setupAndTestWithFreeCore.sh $coreFree $coreDriverVersion
22+
if [[ $? -ne 0 ]]
5223
then
53-
echo "no tests ran... failing!"
24+
echo "test failed... exiting!"
5425
exit 1
55-
fi
26+
fi
27+
rm -rf ../../supertokens-root

.circleci/generateConfig.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
frontendDriverJson=`cat ../frontendDriverInterfaceSupported.json`
22
frontendDriverArray=`echo $frontendDriverJson | jq ".versions"`
33

4+
coreDriverJson=`cat ../coreDriverInterfaceSupported.json`
5+
coreDriverArray=`echo $coreDriverJson | jq ".versions"`
6+
47
if [ -z "$SUPERTOKENS_API_KEY" ]; then
58
echo "SUPERTOKENS_API_KEY missing"
69
exit 1;
710
fi
811

912
sed -i -e 's/fdi-version: placeholder/fdi-version: '`printf "%q" $frontendDriverArray`'/' config_continue.yml
13+
sed -i -e 's/cdi-version: placeholder/cdi-version: '`printf "%q" $coreDriverArray`'/' config_continue.yml

0 commit comments

Comments
 (0)