From: Lott, Christopher (cl778h) Date: Mon, 3 Jun 2019 20:53:52 +0000 (-0400) Subject: Add Dockerfile to compile and test RMR X-Git-Tag: 1.0.31~6 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=b5f659837dd6c01bffde1f2f449328b42b47ccf5;p=ric-plt%2Flib%2Frmr.git Add Dockerfile to compile and test RMR For use by Jenkins verify job. Add a few words in README about it. Signed-off-by: Lott, Christopher (cl778h) Change-Id: I31522003b5dc0cc1a2530a7734f022e5327c9a0c --- diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 0000000..8900e9c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +# O-RAN-SC +# +# Copyright (C) 2019 AT&T Intellectual Property and Nokia +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# CI to verify the RMR library +# Inherits C toolchain from buildpack-deps:stretch +# Adds cmake for RMR + +FROM buildpack-deps:stretch +RUN apt-get update && apt-get -q -y install cmake ksh +ADD . /tmp +# tests require directory named ".build" +RUN cd /tmp && mkdir .build && cd .build && cmake .. && make install +# tests require a Linux host, fail in a Linux VM on mac/win +RUN cd /tmp/test && ksh unit_test.ksh -v +RUN cd /tmp/test/app_test && ksh run_all.ksh diff --git a/README b/README index 86217ce..8eb4540 100644 --- a/README +++ b/README @@ -71,7 +71,7 @@ To install see the instructions on their html sites: Unit Testing -The script ../test/utest.ksh should be used for running unit tests. With no +The script ../test/unit_test.ksh should be used for running unit tests. With no parameters it will attempt to build any file in this directory which has the name *_test.c. Build is attempted with either mk or make and enables the necessary compiler flags to support coverage output (gcov). Once built, the @@ -91,3 +91,8 @@ It might be necessary to write a higher level test driver as some of the modules (e.g. route table) have threaded daemons which might not be easy to drive completely or at all, and thus the code coverage for a passing test might need to be lower for this type of module. + +Containerized Build +The Dockerfile defines an environment to build and test this library. It uses +a base image with the C toolchain. The Dockerfile is NOT intended to create a +distributable image. diff --git a/container-tag.yaml b/container-tag.yaml new file mode 100644 index 0000000..da875ad --- /dev/null +++ b/container-tag.yaml @@ -0,0 +1,3 @@ +# The Jenkins job requires a tag to build a Docker image +--- +tag: never-pushed