mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
58 lines
2.0 KiB
Docker
58 lines
2.0 KiB
Docker
|
|
#########################################################################################################
|
|
# Prepare debug
|
|
#########################################################################################################
|
|
FROM gradido/login_dependencies:gcc9-debug-3 as prepare_debug
|
|
|
|
ENV DOCKER_WORKDIR="/code"
|
|
WORKDIR ${DOCKER_WORKDIR}
|
|
|
|
RUN echo '/usr/local/lib' >> /etc/ld.so.conf && ldconfig
|
|
|
|
COPY ./CMakeLists.txt.lib ./CMakeLists.txt
|
|
RUN ln -s /usr/local/googletest ./googletest
|
|
COPY ./src ./src
|
|
COPY ./cmake/CodeCoverage.cmake ./cmake/CodeCoverage.cmake
|
|
COPY ./dependencies/cmake-modules ./dependencies/cmake-modules
|
|
COPY ./dependencies/spirit-po ./dependencies/spirit-po
|
|
COPY ./dependencies/tinf ./dependencies/tinf
|
|
COPY ./scripts ./scripts
|
|
|
|
|
|
#########################################################################################################
|
|
# Install Coverage tool
|
|
#########################################################################################################
|
|
FROM prepare_debug as coverage
|
|
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends python3-pip && \
|
|
apt-get autoclean && \
|
|
apt-get autoremove && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
# fastcov need gcovr to work
|
|
RUN pip3 install gcovr setuptools wheel && \
|
|
pip3 install fastcov
|
|
|
|
|
|
#########################################################################################################
|
|
# Build test
|
|
#########################################################################################################
|
|
FROM coverage as test
|
|
|
|
ENV DOCKER_WORKDIR="/code"
|
|
WORKDIR ${DOCKER_WORKDIR}
|
|
|
|
|
|
RUN if [ ! -d "./build_cov" ] ; then mkdir build_cov; fi
|
|
|
|
RUN cd build_cov && \
|
|
cmake -DCMAKE_BUILD_TYPE=Debug -DCOLLECT_COVERAGE_DATA=ON -DCOVERAGE_TOOL=fastcov .. && \
|
|
make -j$(nproc) Gradido_LoginServer_Test
|
|
|
|
#ENTRYPOINT make -C build_cov coverage
|
|
CMD cd build_cov && make coverage && \
|
|
if [ ! -d "./coverage" ] ; then mkdir coverage; fi && \
|
|
cp coverage.info ./coverage/
|
|
|