Add Dockerfile to compile and test RMR 44/244/4
authorLott, Christopher (cl778h) <cl778h@att.com>
Mon, 3 Jun 2019 20:53:52 +0000 (16:53 -0400)
committerLott, Christopher (cl778h) <cl778h@att.com>
Tue, 4 Jun 2019 13:51:39 +0000 (09:51 -0400)
For use by Jenkins verify job.
Add a few words in README about it.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I31522003b5dc0cc1a2530a7734f022e5327c9a0c

Dockerfile [new file with mode: 0755]
README
container-tag.yaml [new file with mode: 0644]

diff --git a/Dockerfile b/Dockerfile
new file mode 100755 (executable)
index 0000000..8900e9c
--- /dev/null
@@ -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 (file)
--- 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 (file)
index 0000000..da875ad
--- /dev/null
@@ -0,0 +1,3 @@
+# The Jenkins job requires a tag to build a Docker image
+---
+tag: never-pushed