Skip to content

Commit 1947feb

Browse files
committed
fix(docker): fix tests execution on docker environment
1 parent 0c9ba11 commit 1947feb

File tree

3 files changed

+78
-44
lines changed

3 files changed

+78
-44
lines changed

Diff for: .gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
lib/plugins/sfDoctrinePlugin/test/functional/fixtures/log/
99
/vendor
1010
/composer.lock
11+
/var

Diff for: docker-compose.yml

+3
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ services:
5050
php81:
5151
<<: *services_php74
5252
build:
53+
context: .docker
5354
args:
5455
PHP_VERSION: '8.1'
5556
MEMCACHE_VERSION: '8.0'
@@ -58,6 +59,7 @@ services:
5859
php82:
5960
<<: *services_php74
6061
build:
62+
context: .docker
6163
args:
6264
PHP_VERSION: '8.2'
6365
MEMCACHE_VERSION: '8.0'
@@ -66,6 +68,7 @@ services:
6668
php83:
6769
<<: *services_php74
6870
build:
71+
context: .docker
6972
args:
7073
PHP_VERSION: '8.3'
7174
MEMCACHE_VERSION: '8.0'

Diff for: test/bin/test

+74-44
Original file line numberDiff line numberDiff line change
@@ -9,81 +9,111 @@
99
# Example: "lowest highest"
1010
#
1111

12-
# Configuration
13-
#
14-
dependencyPreferences='highest'
15-
skipPHPVersions='php8'
12+
main ()
13+
{
14+
# Configuration
15+
#
16+
dependencyPreferences='highest'
1617

17-
# Commands
18-
#
19-
dcexec="docker-compose exec -u `id -u`:`id -g`"
20-
installSubmodule='git submodule update --checkout --recursive --force'
21-
composerUpdate='composer update --prefer-dist --no-suggest --optimize-autoloader'
22-
symfonyTestSuite='data/bin/symfony symfony:test --trace'
18+
# Commands
19+
#
20+
dcexec="docker-compose exec -u `id -u`:`id -g`"
21+
installSubmodule='git submodule update --checkout --recursive --force'
22+
composerUpdate='composer update --prefer-dist --no-suggest --optimize-autoloader'
23+
symfonyTestSuite='data/bin/symfony symfony:test --trace'
2324

24-
# Parse arguments
25-
#
26-
phpVersions="${1-}"
27-
dependencyPreferences="${2-${dependencyPreferences}}"
28-
phpTestRuntime="${3-${symfonyTestSuite}}"
25+
# Parse arguments
26+
#
27+
phpVersions="${1-}"
28+
dependencyPreferences="${2-${dependencyPreferences}}"
29+
phpTestRuntime="${3-${symfonyTestSuite}}"
30+
31+
echo '+ docker-compose build'
32+
docker-compose up -d --build --remove-orphans > /dev/null
33+
34+
test x"" != x"${phpVersions}" || {
35+
phpVersions=`fetchAllPHPVersions`
36+
}
37+
38+
tearDownRegisterFunction reset_submodules
39+
40+
scriptAll
41+
}
2942

3043
script ()
3144
{
32-
echo
33-
echo
34-
echo $0 ${1} ${2}
35-
echo
36-
${dcexec} ${1} php data/bin/check_configuration.php
37-
${dcexec} ${1} php ${phpTestRuntime}
45+
echo
46+
echo
47+
echo $0 ${1} ${2}
48+
echo
49+
${dcexec} ${1} php data/bin/check_configuration.php
50+
${dcexec} ${1} php ${phpTestRuntime}
3851
}
3952

4053
scriptAll ()
4154
{
42-
for dependencyPreference in ${dependencyPreferences}
43-
do
44-
install_${dependencyPreference}
45-
46-
for phpVersion in ${phpVersions}
55+
for dependencyPreference in ${dependencyPreferences}
4756
do
48-
script ${phpVersion} ${dependencyPreference}
57+
install_${dependencyPreference}
58+
59+
for phpVersion in ${phpVersions}
60+
do
61+
script ${phpVersion} ${dependencyPreference}
62+
done
4963
done
50-
done
5164
}
5265

5366
fetchAllPHPVersions ()
5467
{
55-
docker-compose 2>/dev/null ps --services --filter status=running \
56-
| grep php \
57-
| sort \
58-
| grep -v ${skipPHPVersions}
68+
docker-compose 2>/dev/null ps --services --filter status=running \
69+
| grep php \
70+
| sort
5971
}
6072

6173
install_highest ()
6274
{
63-
${installSubmodule} --remote
64-
${dcexec} composer ${composerUpdate}
75+
${installSubmodule} --remote
76+
${dcexec} composer ${composerUpdate}
6577
}
6678

6779
install_lowest ()
6880
{
69-
reset_submodules
81+
reset_submodules
7082

71-
${installSubmodule}
72-
${dcexec} composer ${composerUpdate} --prefer-lowest
83+
${installSubmodule}
84+
${dcexec} composer ${composerUpdate} --prefer-lowest
7385
}
7486

7587
reset_submodules ()
7688
{
77-
git submodule deinit --force --quiet -- .
89+
git submodule deinit --force --quiet -- .
7890

79-
git submodule init
91+
git submodule init
8092
}
8193

82-
echo '+ docker-compose build'
83-
docker-compose up -d --build --remove-orphans > /dev/null
94+
tearDownRegisterFunction()
95+
{
96+
test x"" != x"${tearDown_functions-}" || {
97+
trap 'tearDown' 2 # CTRL-C
98+
trap 'tearDown' QUIT TERM EXIT INT KILL SEGV
99+
}
100+
101+
case ${tearDown_functions-} in #(
102+
?*) tearDown_functions="${tearDown_functions} $1" ;; #(
103+
*) tearDown_functions=$1 ;;
104+
esac
105+
}
84106

85-
test x"" != x"${phpVersions}" || {
86-
phpVersions=`fetchAllPHPVersions`
107+
tearDown()
108+
{
109+
test x"" != x"${tearDown_functions-}" || {
110+
return 0
111+
}
112+
113+
for tearDown_function in ${tearDown_functions}
114+
do
115+
${tearDown_function}
116+
done
87117
}
88118

89-
scriptAll
119+
main ${1+"$@"}

0 commit comments

Comments
 (0)