X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Dockerfile-Unit-Test;h=746090fc419a3b3201ae19a5db36ddde0ed523d7;hb=2f4ab6cabdf283ecb03abc8d86930f0f7508ac50;hp=4ebb3a73c9283a5d526676f30008bf0fcd8ec1a3;hpb=f9cd5cc676355485c2d9c8bc2be22ddad4874382;p=ric-plt%2Fxapp-frame-py.git diff --git a/Dockerfile-Unit-Test b/Dockerfile-Unit-Test index 4ebb3a7..746090f 100644 --- a/Dockerfile-Unit-Test +++ b/Dockerfile-Unit-Test @@ -14,23 +14,54 @@ # See the License for the specific language governing permissions and # limitations under the License. # ================================================================================== -FROM python:3.7-alpine +FROM python:3.8-slim as stretch # sdl uses hiredis which needs gcc -RUN apk update && apk add gcc musl-dev +RUN apt-get update && \ + apt-get install -y \ + wget gcc musl-dev -# copy rmr .sos from the builder image -COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3-go:1-rmr1.13.1 /usr/local/lib64/libnng.so /usr/local/lib64/libnng.so -COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3-go:1-rmr1.13.1 /usr/local/lib64/librmr_nng.so /usr/local/lib64/librmr_nng.so +ARG rmr_version=4.9.4 +ARG e2ap_version=1.1.0 + +# download rmr and e2ap libraries from package cloud +RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr_${rmr_version}_amd64.deb/download.deb +RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr-dev_${rmr_version}_amd64.deb/download.deb + +RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/riclibe2ap_${e2ap_version}_amd64.deb/download.deb +RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/riclibe2ap-dev_${e2ap_version}_amd64.deb/download.deb + +RUN dpkg -i rmr_${rmr_version}_amd64.deb +RUN dpkg -i rmr-dev_${rmr_version}_amd64.deb + +RUN dpkg -i riclibe2ap_${e2ap_version}_amd64.deb +RUN dpkg -i riclibe2ap-dev_${e2ap_version}_amd64.deb + +RUN ls /usr/local/lib/ + +FROM python:3.8-slim + +ARG rmr_version=4.9.4 +ARG e2ap_version=1.1.0 + +COPY --from=stretch /usr/local/lib/librmr_si.so.${rmr_version} /usr/local/lib/librmr_si.so +COPY --from=stretch /usr/local/lib/libriclibe2ap.so.${e2ap_version} /usr/local/lib/libriclibe2ap.so # Upgrade pip, install tox -RUN pip install --upgrade pip && pip install tox +RUN pip install --upgrade pip && pip install tox && pip install certifi six python_dateutil setuptools urllib3 inotify_simple mdclogpy # copies COPY ricxappframe/ /tmp/ricxappframe COPY tests/ /tmp/tests -COPY setup.py tox.ini LICENSE.txt /tmp/ +COPY setup.py tox.ini LICENSE.txt .coveragerc /tmp/ WORKDIR /tmp +# following is to get the docker instance and run tests from the bash shell, remove comment in the +# the next ENTRYPOINT line and comment out the last RUN line to get the runable docker instance. +# Bbuild named image and run the instance - if you modify the files those are visible in container +# docker build -t xappframe:latest -f Dockerfile-Unit-Test . +# docker run -ti --name xappframe --rm -v ${PWD}:/tmp -u $(id -u ${USER}):$(id -g ${USER}) --workdir /tmp xappframe:latest +# then run : tox -e code,flake8,docs,docs-linkcheck +#ENTRYPOINT ["/bin/bash"] # Run the unit tests RUN tox -e code,flake8