Skip to content

Commit a4948c1

Browse files
committed
add a way to run conu tests in a container
Related: sclorg/s2i-ruby-container#167 Signed-off-by: Tomas Tomecek <[email protected]>
1 parent 9f8edac commit a4948c1

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

common.mk

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ endif
3131

3232
SKIP_SQUASH ?= 1
3333
DOCKER_BUILD_CONTEXT ?= .
34+
TEST_ENV := local
3435

3536
script_env = \
3637
SKIP_SQUASH=$(SKIP_SQUASH) \
@@ -39,7 +40,8 @@ script_env = \
3940
CLEAN_AFTER=$(CLEAN_AFTER) \
4041
DOCKER_BUILD_CONTEXT=$(DOCKER_BUILD_CONTEXT) \
4142
OPENSHIFT_NAMESPACES="$(OPENSHIFT_NAMESPACES)" \
42-
CUSTOM_REPO="$(CUSTOM_REPO)"
43+
CUSTOM_REPO="$(CUSTOM_REPO)" \
44+
TEST_ENV="$(TEST_ENV)"
4345

4446
# TODO: switch to 'build: build-all' once parallel builds are relatively safe
4547
.PHONY: build build-serial build-all

test.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,12 @@ for dir in ${VERSIONS}; do
1515
# Kept also IMAGE_NAME as some tests might still use that.
1616
export IMAGE_NAME=$(docker inspect -f "{{.Config.Labels.name}}" $IMAGE_ID)
1717

18-
if [ -n "${TEST_MODE}" ]; then
18+
if [ "${TEST_ENV}" == "container" ]; then
19+
TEST_IMAGE_NAME="sclorg-tests"
20+
# FIXME: poke user-cont to provide such container image
21+
docker build --tag=${TEST_IMAGE_NAME} -f Dockerfile.tests $(readlink -f ../)
22+
docker run --net=host -e PYTHONDONTWRITEBYTECODE=yes -e IMAGE_NAME --rm -v /dev:/dev:ro -v /var/lib/docker:/var/lib/docker:ro --security-opt label=disable --cap-add SYS_ADMIN -ti -v /var/run/docker.sock:/var/run/docker.sock -v ${PWD}:/src -w /src ${TEST_IMAGE_NAME} pytest-3 -vv
23+
elif [ -n "${TEST_MODE}" -o "${TEST_ENV}" == "local" ]; then
1924
VERSION=$dir test/run
2025
fi
2126

0 commit comments

Comments
 (0)