1
1
#! /usr/bin/env bash
2
2
3
- #
4
- # TYPO3 core test runner based on docker and docker-compose.
5
- #
6
3
7
- # Function to write a .env file in Build/testing-docker/local
8
- # This is read by docker-compose and vars defined here are
9
- # used in Build/testing-docker/local/docker-compose.yml
10
4
setUpDockerComposeDotEnv () {
11
5
# Delete possibly existing local .env file if exists
12
6
[ -e .env ] && rm .env
13
- # Set up a new .env file for docker-compose
14
7
echo " COMPOSE_PROJECT_NAME=local" >> .env
15
- # To prevent access rights of files created by the testing, the docker image later
16
- # runs with the same user that is currently executing the script. docker-compose can't
17
- # use $UID directly itself since it is a shell variable and not an env variable, so
18
- # we have to set it explicitly here.
19
8
echo " HOST_UID=` id -u` " >> .env
20
9
# Your local home directory for composer and npm caching
21
10
echo " HOST_HOME=${HOME} " >> .env
@@ -35,15 +24,10 @@ setUpDockerComposeDotEnv() {
35
24
36
25
# Load help text into $HELP
37
26
read -r -d ' ' HELP << EOF
38
- menus test runner. Execute unit test suite and some other details.
39
- Also used by travis-ci for test execution.
40
-
41
- Successfully tested with docker version 18.06.1-ce and docker-compose 1.21.2.
27
+ menus test runner.
42
28
43
29
Usage: $0 [options] [file]
44
30
45
- No arguments: Run all unit tests with PHP 7.4
46
-
47
31
Options:
48
32
-s <...>
49
33
Specifies which test suite to run
@@ -111,18 +95,11 @@ Examples:
111
95
./Build/Scripts/runTests.sh -p 7.3
112
96
EOF
113
97
114
- # Test if docker-compose exists, else exit out with error
115
- if ! type " docker-compose" > /dev/null; then
116
- echo " This script relies on docker and docker-compose. Please install" >&2
117
- exit 1
118
- fi
119
-
120
98
# Go to the directory this script is located, so everything else is relative
121
99
# to this dir, no matter from where this script is called.
122
100
THIS_SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " > /dev/null && pwd ) "
123
101
cd " $THIS_SCRIPT_DIR " || exit 1
124
102
125
- # Go to directory that contains the local docker-compose.yml file
126
103
cd ../testing-docker || exit 1
127
104
128
105
# Option defaults
215
192
case ${TEST_SUITE} in
216
193
acceptance)
217
194
setUpDockerComposeDotEnv
218
- docker- compose run acceptance_backend_mariadb10
195
+ docker compose run acceptance_backend_mariadb10
219
196
SUITE_EXIT_CODE=$?
220
- docker- compose down
197
+ docker compose down
221
198
;;
222
199
cgl)
223
200
# Active dry-run for cgl needs not "-n" but specific options
224
201
if [ -n " ${CGLCHECK_DRY_RUN} " ]; then
225
202
CGLCHECK_DRY_RUN=" --dry-run --diff"
226
203
fi
227
204
setUpDockerComposeDotEnv
228
- docker- compose run cgl
205
+ docker compose run cgl
229
206
SUITE_EXIT_CODE=$?
230
- docker- compose down
207
+ docker compose down
231
208
;;
232
209
composerInstall)
233
210
setUpDockerComposeDotEnv
234
- docker- compose run composer_install
211
+ docker compose run composer_install
235
212
SUITE_EXIT_CODE=$?
236
- docker- compose down
213
+ docker compose down
237
214
;;
238
215
composerValidate)
239
216
setUpDockerComposeDotEnv
240
- docker- compose run composer_validate
217
+ docker compose run composer_validate
241
218
SUITE_EXIT_CODE=$?
242
- docker- compose down
219
+ docker compose down
243
220
;;
244
221
functional)
245
222
setUpDockerComposeDotEnv
246
223
case ${DBMS} in
247
224
mariadb)
248
- docker- compose run functional_mariadb10
225
+ docker compose run functional_mariadb10
249
226
SUITE_EXIT_CODE=$?
250
227
;;
251
228
mssql)
252
- docker- compose run functional_mssql2019latest
229
+ docker compose run functional_mssql2019latest
253
230
SUITE_EXIT_CODE=$?
254
231
;;
255
232
postgres)
256
- docker- compose run functional_postgres10
233
+ docker compose run functional_postgres10
257
234
SUITE_EXIT_CODE=$?
258
235
;;
259
236
sqlite)
260
- docker- compose run functional_sqlite
237
+ docker compose run functional_sqlite
261
238
SUITE_EXIT_CODE=$?
262
239
;;
263
240
* )
@@ -266,25 +243,25 @@ case ${TEST_SUITE} in
266
243
echo " ${HELP} " >&2
267
244
exit 1
268
245
esac
269
- docker- compose down
246
+ docker compose down
270
247
;;
271
248
lint)
272
249
setUpDockerComposeDotEnv
273
- docker- compose run lint
250
+ docker compose run lint
274
251
SUITE_EXIT_CODE=$?
275
- docker- compose down
252
+ docker compose down
276
253
;;
277
254
phpstan)
278
255
setUpDockerComposeDotEnv
279
- docker- compose run phpstan
256
+ docker compose run phpstan
280
257
SUITE_EXIT_CODE=$?
281
- docker- compose down
258
+ docker compose down
282
259
;;
283
260
unit)
284
261
setUpDockerComposeDotEnv
285
- docker- compose run unit
262
+ docker compose run unit
286
263
SUITE_EXIT_CODE=$?
287
- docker- compose down
264
+ docker compose down
288
265
;;
289
266
update)
290
267
# pull typo3/core-testing-*:latest versions of those ones that exist locally
0 commit comments