Skip to content

Commit 37ae3d1

Browse files
committed
CI: Refactor and clean up the test runner for "core" tests
Use the same pattern as in the `tests-xpack.sh` runner, ie. run the file directly on host, and execute commands with `docker exec`. Also, clean up a little bit the `tests-xpack.sh` runner, removing double quotes to prevent unwanted shell expansion, and passing the `PACKAGE_PATH` environment variable. (cherry picked from commit 4fbc97d)
1 parent 39b3652 commit 37ae3d1

File tree

4 files changed

+40
-35
lines changed

4 files changed

+40
-35
lines changed

.jenkins/run-tests

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,14 @@ docker run \
8383
status=100
8484
case $TEST_SUITE in
8585
"core" )
86-
if docker exec --tty go-elasticsearch /bin/sh /go-elasticsearch/.jenkins/tests.sh; then
86+
if bash .jenkins/tests-core.sh; then
8787
status=$?
8888
else
8989
status=$?
9090
fi
9191
;;
9292
"xpack" )
93-
if time bash .jenkins/tests-xpack.sh; then
93+
if bash .jenkins/tests-xpack.sh; then
9494
status=$?
9595
else
9696
status=$?

.jenkins/tests-core.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env bash
2+
3+
set -euo pipefail
4+
5+
TIMEFORMAT="(Duration: %0lR)"
6+
7+
echo -e "\033[1m>>>>> Cleaning up test files\033[0m"
8+
9+
docker exec go-elasticsearch /bin/sh -c 'rm -rf esapi/test/*_test.go'
10+
docker exec go-elasticsearch /bin/sh -c 'rm -rf esapi/test/xpack'
11+
12+
echo -e "\033[1m>>>>> Generating the API registry\033[0m"
13+
14+
docker exec --workdir=/go-elasticsearch/internal/cmd/generate --env PACKAGE_PATH=/go-elasticsearch/esapi go-elasticsearch go generate ./...
15+
16+
echo -e "\033[1m>>>>> Generating the test files\033[0m"
17+
18+
time docker exec --tty --workdir=/go-elasticsearch/internal/cmd/generate go-elasticsearch go run main.go tests --output '/go-elasticsearch/esapi/test' --input '/elasticsearch-source/elasticsearch/rest-api-spec/src/main/resources/rest-api-spec/test/**/*.y*ml'
19+
20+
echo -e "\033[1m>>>>> Running the tests\033[0m"
21+
22+
time docker exec --tty --workdir=/go-elasticsearch/esapi/test go-elasticsearch /bin/sh -c 'gotestsum --format=short-verbose --junitfile=$WORKSPACE/TEST-integration-api-junit.xml -- -tags=integration -timeout=1h ./...'
23+
status=$?
24+
25+
exit $status

.jenkins/tests-xpack.sh

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,16 @@ set -euo pipefail
44

55
TIMEFORMAT="(Duration: %0lR)"
66

7-
docker exec go-elasticsearch /bin/sh -c "rm -rf esapi/test/*_test.go"
8-
docker exec go-elasticsearch /bin/sh -c "rm -rf rm -rf esapi/test/ml*"
7+
echo -e "\033[1m>>>>> Cleaning up test files\033[0m"
98

10-
docker exec --workdir=/go-elasticsearch/internal/cmd/generate go-elasticsearch go generate ./...
9+
docker exec go-elasticsearch /bin/sh -c 'rm -rf esapi/test/*_test.go'
10+
docker exec go-elasticsearch /bin/sh -c 'rm -rf rm -rf esapi/test/ml*'
11+
12+
echo -e "\033[1m>>>>> Generating the API registry\033[0m"
13+
14+
docker exec --workdir=/go-elasticsearch/internal/cmd/generate --env PACKAGE_PATH=/go-elasticsearch/esapi go-elasticsearch go generate ./...
15+
16+
echo -e "\033[1m>>>>> Generating the test files\033[0m"
1117

1218
time docker exec --tty --workdir=/go-elasticsearch/internal/cmd/generate go-elasticsearch go run main.go apitests --output '/go-elasticsearch/esapi/test/xpack' --input '/elasticsearch-source/elasticsearch/x-pack/plugin/src/test/resources/rest-api-spec/test/**/*.yml'
1319

@@ -16,28 +22,26 @@ time docker exec --tty --workdir=/go-elasticsearch/internal/cmd/generate go-elas
1622
docker exec go-elasticsearch mkdir -p esapi/test/xpack/ml
1723
docker exec go-elasticsearch mkdir -p esapi/test/xpack/ml-crud
1824

19-
docker exec go-elasticsearch /bin/sh -c "mv esapi/test/xpack/xpack_ml* esapi/test/xpack/ml/"
25+
docker exec go-elasticsearch /bin/sh -c 'mv esapi/test/xpack/xpack_ml* esapi/test/xpack/ml/'
2026
docker exec go-elasticsearch mv esapi/test/xpack/ml/xpack_ml__jobs_crud_test.go esapi/test/xpack/ml-crud/
2127

22-
# -----
23-
24-
echo -e "\033[1m>>>>> XPACK >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
28+
echo -e "\033[1m>>>>> Running tests: XPACK >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
2529

2630
time docker exec --tty --workdir=/go-elasticsearch/esapi/test go-elasticsearch /bin/sh -c 'gotestsum --format=short-verbose --junitfile=$WORKSPACE/TEST-integration-api-xpack-junit.xml -- --tags=integration --timeout=1h -v xpack/*_test.go'
2731
status1=$?
2832

2933
docker container rm --force --volumes es1 > /dev/null 2>&1
3034
make cluster-clean cluster version=elasticsearch:8.0.0-SNAPSHOT detached=true
3135

32-
echo -e "\033[1m>>>>> XPACK ML >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
36+
echo -e "\033[1m>>>>> Running tests: XPACK ML >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
3337

3438
time docker exec --tty --workdir=/go-elasticsearch/esapi/test go-elasticsearch /bin/sh -c 'gotestsum --format=short-verbose --junitfile=$WORKSPACE/TEST-integration-api-xpack-ml-junit.xml -- --tags=integration --timeout=1h -v ./xpack/ml/*_test.go'
3539
status2=$?
3640

3741
docker container rm --force --volumes es1 > /dev/null 2>&1
3842
make cluster-clean cluster version=elasticsearch:8.0.0-SNAPSHOT detached=true
3943

40-
echo -e "\033[1m>>>>> XPACK ML CRUD >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
44+
echo -e "\033[1m>>>>> Running tests: XPACK ML CRUD >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
4145

4246
time docker exec --tty --workdir=/go-elasticsearch/esapi/test go-elasticsearch /bin/sh -c 'gotestsum --format=short-verbose --junitfile=$WORKSPACE/TEST-integration-api-xpack-ml-crud-junit.xml -- --tags=integration --timeout=1h -v ./xpack/ml-crud/*_test.go'
4347
status3=$?

.jenkins/tests.sh

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)