mirror of https://github.com/sipwise/data-hal.git
Change-Id: Ib6f321089a69c0d27e36167a6fccc785044db229changes/47/3347/4
parent
85538c754b
commit
2f25ee8b13
@ -0,0 +1,47 @@
|
||||
# TODO - switch to sipwise internal one
|
||||
FROM debian:jessie
|
||||
|
||||
# Important! Update this no-op ENV variable when this Dockerfile
|
||||
# is updated with the current date. It will force refresh of all
|
||||
# of the base images and things like `apt-get update` won't be using
|
||||
# old cached versions when the Dockerfile is built.
|
||||
ENV REFRESHED_AT 2015-11-13
|
||||
|
||||
# mirrors behind httpredir randomly throw `Error reading from server. Remote end closed connection`
|
||||
# and we want to be independent from any external services anyway
|
||||
# TODO - the release-trunk-jessie is too dynamic yet, though required for some build/test dependencies
|
||||
RUN apt-get update && apt-get -y install apt-transport-https wget
|
||||
RUN echo "# generated by Dockerfile from data-hal at $(date)\n\
|
||||
deb https://debian.sipwise.com/debian jessie main non-free\n\
|
||||
deb https://debian.sipwise.com/debian jessie-updates main non-free\n\
|
||||
deb https://debian-security.sipwise.com/debian-security jessie-security main contrib non-free\n\
|
||||
deb https://deb.sipwise.com/autobuild/ release-trunk-jessie main\n" > /etc/apt/sources.list
|
||||
RUN wget -O /etc/apt/trusted.gpg.d/sipwise.gpg https://deb.sipwise.com/spce/sipwise.gpg
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install --assume-yes perl libstrictures-perl libboolean-perl libclone-perl \
|
||||
libtest-roo-perl libtype-tiny-perl liburi-perl libhttp-message-perl libjson-perl \
|
||||
liblog-any-perl libmime-types-perl libdata-hal-perl libfile-slurp-perl libtest-fatal-perl \
|
||||
liblog-any-adapter-callback-perl liblog-any-adapter-filehandle-perl libtap-formatter-junit-perl
|
||||
|
||||
RUN echo 'prove -I /code/lib -v --color -l --formatter TAP::Formatter::JUnit' >>/root/.bash_history
|
||||
RUN echo 'prove -I /code/lib --color -l' >>/root/.bash_history
|
||||
RUN echo './t/testrunner' >>/root/.bash_history
|
||||
|
||||
WORKDIR /code/
|
||||
|
||||
################################################################################
|
||||
# Instructions for usage
|
||||
# ----------------------
|
||||
# When you want to build the base image from scratch (jump to the next section if you don't want to build yourself!):
|
||||
# % docker build --tag="data-hal-jessie" .
|
||||
# % docker run --rm -i -t -v $(pwd)/..:/code:rw data-hal-jessie:latest bash
|
||||
#
|
||||
# Use the existing docker image:
|
||||
# % docker pull docker1.mgm.sipwise.com/data-hal-jessie
|
||||
# % docker run --rm -i -t -v $(pwd)/..:/code:rw docker1.mgm.sipwise.com/data-hal-jessie:latest bash
|
||||
#
|
||||
# Inside docker (the command is in history, just press UP button):
|
||||
# ./t/testrunner
|
||||
#
|
||||
################################################################################
|
||||
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# This script is used for running the tests with proper arguments
|
||||
# from within Jenkins
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
RC=0
|
||||
|
||||
if [ -d /results ] ; then
|
||||
# Running from Jenkins (RW)
|
||||
RESULTS="/results"
|
||||
|
||||
cd "/code"
|
||||
prove --formatter TAP::Formatter::JUnit -l -I/code/lib | \
|
||||
tee -a "${RESULTS}/results.xml" || RC=$?
|
||||
else
|
||||
# Running locally in Docker
|
||||
RESULTS="./results"
|
||||
mkdir -p "${RESULTS}"
|
||||
|
||||
prove -v --color -l -I/code/lib | tee -a "${RESULTS}/results.pretty" || RC=$?
|
||||
fi
|
||||
|
||||
echo "Finished test execution, test execution returned with exit code ${RC}."
|
||||
for file in "${RESULTS}/results.pretty" "${RESULTS}/results.xml" ; do
|
||||
if [ -f "$file" ] ; then
|
||||
echo "Test results available at ${file}"
|
||||
fi
|
||||
done
|
||||
|
||||
exit "${RC}"
|
||||
|
||||
Loading…
Reference in new issue