openwhisk-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mham...@apache.org
Subject [incubator-openwhisk-apigateway] 01/01: Run test framework in a Docker container
Date Thu, 01 Aug 2019 19:52:38 GMT
This is an automated email from the ASF dual-hosted git repository.

mhamann pushed a commit to branch docker-test
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-apigateway.git

commit 5826466c34045672b2170f7d49d2fc89335cf29c
Author: Matt Hamann <mhamann@us.ibm.com>
AuthorDate: Thu Aug 1 15:52:24 2019 -0400

    Run test framework in a Docker container
---
 .travis.yml          | 10 ----------
 Dockerfile           | 19 +++++++++++++------
 Dockerfile.test.unit | 22 ++++++++++++++++++++++
 Makefile             |  7 ++++---
 4 files changed, 39 insertions(+), 19 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 42a8d25..2e8c676 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -35,24 +35,14 @@ notifications:
 
 env:
   global:
-    - LUA="lua=5.1"
     - secure: "c8XNwdOryMVJUGLzWv+AzUQaS0Yt7uUmGqw+5/K7o7zmpux7Q5H7OU3jni2kOr+ZoIldsmTnnG7m1N9D8qUjD64KaAfEC0ybo04kDraezVMghUEV8LWMpSRRlAFpzQeVC8IcSiUEXM0H8E6Y09jGMnLKqyFUWAlDB60n0x2rfK/IPU+x4/h+6Y5XpYqaNtujoUf/2XVkrOeRcEhVZQJAwsRtA8HjRUy7PRB/9kepTSln9QzRZYd6v4F1qUKgZhlWNRUXWRbhrNK/z6T7jSlHjY44yvse4fBbie+EsuImtOHnDuTA4XXQlbc0gGVvD3sYYf2CBMxeeE+UTbRPLxgml+uUIviWKt/PKB5qUwQyLKP/Rzr1qv5RryrX0xWoqCrVsaCe0fkh0vUks0AYlzhm1CNK/g1If+qZ6R0GMjawVUbCunhDi1vJlP5PmniIoLpVwLa6XoMYJKtfngGm2763y00ktVGGL
[...]
     - secure: "dM0paMW2d4U4U7OwbnrTjdOqDnvo+nce9r7h+qTbYfbuJe0fpRkHCrxcB//8ESkMrPTr0EDExCxvaywY8pqeVVJbykNswdyze1SWYk6lbUvXTpSrKqp0J0a/FtVjfamc1aMv4c6KIDKh4vIcgK4xrjXj68COCS6uIcFhETNUy5bxH8T2BOJzyf/iWOF7oduXUV/VGNcWnhkPdoPh8xtpmBJ6ZTWQ01MriZ/28hvzgyh1OjJFWCJZ+OZoIDQVPb/jnfPXU4Wk/G/LEPJcBgvN4qSMr2lm3Iq29V0Ltrsx8rrYADO7trCm6qyEQK9TLKfywaYIcm/D9FJ8F4WBHtIeJ3PLY3518L3iZ+Ngd6QTnd0FI6hrG7rpoD/0dz4e//9d3tSsjbh/1BiQwXXTnPyaUjN3C92k4GyITYJTVL5f6evzsTneT6Plj1vWC0E52d1oqVOZDgrWMYZEHdYvpUJTQqclMNhu5
[...]
 
 before_install:
   - ./tools/travis/scan.sh
   - ./tools/travis/setup.sh
-  - pip install hererocks --user
-  - hererocks lua_install -r^ --$LUA
-  - export PATH=$PATH:$PWD/lua_install/bin # Add directory with all installed binaries to
PATH
-
-install:
-  - cd tests
-  - ./install-deps.sh
 
 script:
-  - busted --output=TAP --helper=set_paths --pattern=.lua scripts
-  - cd ..
   - ./tools/travis/build.sh
 
 deploy:
diff --git a/Dockerfile b/Dockerfile
index f123be4..af7f8ee 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -22,7 +22,7 @@
 # From https://hub.docker.com/_/alpine/
 #
 
-FROM alpine:3.9
+FROM alpine:3.9 as base
 
 # Busybox's ash shell supports pipefail, which is useful for tarballs
 SHELL [ "/bin/ash", "-o", "pipefail", "-c"]
@@ -82,7 +82,6 @@ RUN  echo " ... adding Openresty, NGINX and PCRE" \
      && mkdir -p /tmp/api-gateway \
      && readonly NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
      && echo "using up to $NPROC threads" \
-
      && cd /tmp/api-gateway/ \
      && curl -k -L https://ftp.pcre.org/pub/pcre/pcre-${PCRE_VERSION}.tar.gz -o /tmp/api-gateway/pcre-${PCRE_VERSION}.tar.gz
\
      && curl -k -L https://openresty.org/download/openresty-${OPENRESTY_VERSION}.tar.gz
-o /tmp/api-gateway/openresty-${OPENRESTY_VERSION}.tar.gz \
@@ -152,7 +151,9 @@ RUN  echo " ... adding Openresty, NGINX and PCRE" \
             -j${NPROC} \
     && make -j${NPROC} \
     && make install \
-
+    #
+    # Build regular version of the API Gateway #
+    #
     && echo "        - building regular version of the api-gateway ... " \
     && ./configure \
             --prefix=${_exec_prefix}/api-gateway \
@@ -188,14 +189,18 @@ RUN  echo " ... adding Openresty, NGINX and PCRE" \
             -j${NPROC} \
     && make -j${NPROC} \
     && make install \
-
+    #
+    # Add nginx test support #
+    #
     && echo "        - adding Nginx Test support" \
     && curl -k -L https://github.com/openresty/test-nginx/archive/v${TEST_NGINX_VERSION}.tar.gz
-o ${_prefix}/test-nginx-${TEST_NGINX_VERSION}.tar.gz \
     && cd ${_prefix} \
     && tar -xf ${_prefix}/test-nginx-${TEST_NGINX_VERSION}.tar.gz \
     && rm ${_prefix}/test-nginx-${TEST_NGINX_VERSION}.tar.gz \
     && cp -r ${_prefix}/test-nginx-0.24/inc/* /usr/local/share/perl5/site_perl/ \
-
+    #
+    # CLEANUP #
+    #
     && ln -s ${_sbindir}/api-gateway-debug ${_sbindir}/nginx \
     && cp /tmp/api-gateway/openresty-${OPENRESTY_VERSION}/build/install ${_prefix}/api-gateway/bin/resty-install
\
     && apk del g++ gcc make \
@@ -216,7 +221,6 @@ RUN echo " ... installing opm..." \
     && ln -s ${_prefix}/api-gateway/bin/resty /usr/bin/resty \
     && rm -rf /tmp/api-gateway
 
-
 RUN echo " ... installing opm packages ... " \
     && opm get pintsized/lua-resty-http=${LUA_RESTY_HTTP_VERSION} \
                hamishforbes/lua-resty-iputils=${LUA_RESTY_IPUTILS_VERSION} \
@@ -248,6 +252,9 @@ ENV CONFIG_SUPERVISOR_VERSION 1.0.1-RC1
 COPY build_config_supervisor.sh /tmp/build_config_supervisor.sh
 RUN sh +x /tmp/build_config_supervisor.sh
 
+# Add standard gateway configuration
+FROM base as apigateway
+
 COPY init.sh /etc/init-container.sh
 # add the default configuration for the Gateway
 COPY . /etc/api-gateway
diff --git a/Dockerfile.test.unit b/Dockerfile.test.unit
new file mode 100644
index 0000000..90923db
--- /dev/null
+++ b/Dockerfile.test.unit
@@ -0,0 +1,22 @@
+FROM alpine:3.9
+
+RUN apk update && \
+    apk add \
+    gcc tar zlib wget make musl-dev g++ curl \
+    libtool readline luajit luajit-dev unzip \
+    openssl openssl-dev
+
+WORKDIR /tmp
+RUN wget https://luarocks.org/releases/luarocks-3.1.3.tar.gz && \
+    tar zxpf luarocks-3.1.3.tar.gz && \
+    cd luarocks-3.1.3 && \
+    ./configure && \
+    make build && \
+    make install
+
+COPY . /etc/api-gateway
+
+WORKDIR /etc/api-gateway/tests
+RUN ./install-deps.sh
+
+CMD sh run-tests.sh
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 7da0c67..55e5e01 100644
--- a/Makefile
+++ b/Makefile
@@ -58,9 +58,10 @@ profile-run: profile-build
 		-e OPTIMIZE=1 \
 		-d ${PROFILING}
 
-.PHONY: test-run
-test-run:
-	cd tests; ./run-tests.sh
+.PHONY: test
+test:
+	docker build -f Dockerfile.test.unit -t gw-tests .
+	docker run gw-tests:latest
 
 .PHONY: docker-run
 docker-run:


Mime
View raw message