forked from meanbee/docker-magento2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-runner.sh
executable file
·69 lines (59 loc) · 2.44 KB
/
test-runner.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
################################################################################
# Ensure our environment variables are set
################################################################################
if [ "$PHP_VERSION" == "" ]; then
echo "You must define a \$PHP_VERSION environment variable"
exit 1
fi
if [ "$IMAGE_FLAVOUR" == "" ]; then
echo "You must define a \$IMAGE_FLAVOUR environment variable"
exit 1
fi
if [ "$DOCKER_IP" == "" ]; then
DOCKER_IP="$(dinghy ip)"
fi
################################################################################
# Set our variables
################################################################################
IMAGE_NAME="test-$PHP_VERSION-$IMAGE_FLAVOUR"
TEST_DIR="$(pwd)/test"
TEST_OK_STRING="TEST OK"
################################################################################
# Kick off with some debug
################################################################################
echo ""
echo "Test Runner Configuration:"
echo ""
echo "PHP Version: $PHP_VERSION"
echo "Image Flavour: $IMAGE_FLAVOUR"
################################################################################
# Pull published image down so we can try and reuse layers
################################################################################
echo ""
echo "Pulling published images for layer cache.."
echo ""
docker pull meanbee/magento2-php:${PHP_VERSION}-${IMAGE_FLAVOUR}
################################################################################
# Build the image locally and name it $IMAGE_NAME
################################################################################
echo ""
echo "Building image"
echo ""
docker build --tag $IMAGE_NAME ${PHP_VERSION}-${IMAGE_FLAVOUR}/
################################################################################
# Output the PHP version running in the image
################################################################################
echo ""
echo "Image PHP Version:"
echo ""
docker run --rm -h test.host $IMAGE_NAME php --version || exit 1
################################################################################
# Run CLI tests on all images
################################################################################
echo ""
echo "Running cli tests:"
echo ""
docker run --rm -h test.host --volume $TEST_DIR:/test $IMAGE_NAME php /test/test.php | tee /tmp/test.log
grep "$TEST_OK_STRING" /tmp/test.log > /dev/null || exit 1
rm -f /tmp/test.log