From: E. Scott Daniels Date: Mon, 31 Aug 2020 13:06:08 +0000 (-0400) Subject: Move listener src into subdir for easier testing X-Git-Tag: 1.7.0~6 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=835ea34297bb2d238c1bedaf5430953ef43d58da;p=ric-app%2Fmc.git Move listener src into subdir for easier testing Sonar inclusion/exclusion in the LF environment seems problematic at best. This change moves the Listener source into a subdir (src) in hopes that exclusion of the test code from analysis and coverage reporting can be more easily managed. Issue-ID: RIC-632 Signed-off-by: E. Scott Daniels Change-Id: I87f5819de876c68eb3619d9e9ebaa7aeeef49b23 --- diff --git a/sidecars/listener/Dockerfile b/sidecars/listener/Dockerfile index e9a92f7..f84cb83 100644 --- a/sidecars/listener/Dockerfile +++ b/sidecars/listener/Dockerfile @@ -56,19 +56,19 @@ RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/pack RUN dpkg -i rmr_${RMR_VER}_amd64.deb RUN dpkg -i rmr-dev_${RMR_VER}_amd64.deb -RUN mkdir /playpen/bin /playpen/listener /playpen/listener/test -ARG SRC=. -COPY ${SRC}/*.ksh ${SRC}/Makefile ${SRC}/*.h ${SRC}/*.c /playpen/listener/ -COPY ${SRC}/verify_replay.sh ${SRC}/verify.sh /playpen/listener/ +RUN mkdir -p /playpen/bin /playpen/listener/src /playpen/listener/test +ARG SRC=src +COPY ${SRC}/*.ksh ${SRC}/Makefile ${SRC}/*.h ${SRC}/*.c /playpen/listener/src/ +COPY ${SRC}/verify_replay.sh ${SRC}/verify.sh /playpen/listener/src/ -ARG TEST=${SRC}/test +ARG TEST=test COPY ${TEST}/*.ksh ${TEST}/Makefile ${TEST}/*.h ${TEST}/*.c /playpen/listener/test/ # Build all binaries; verify scripts expect them to be in bin, so we must copy too # ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib ENV C_INCLUDE_PATH=/usr/local/include -RUN cd /playpen/listener \ +RUN cd /playpen/listener/src \ && make -B all \ && ls -al mc_listener \ && cp mc_listener sender pipe_reader rdc_replay rdc_extract /playpen/bin/ @@ -76,9 +76,13 @@ RUN cd /playpen/listener \ # Run unit tests. If they don't pass the build fails here. Tests can be run from src, but expect binaries in bin # so that they can be run in the final image as well. # -ENV PATH /playpen/bin:/playpen/listener:$PATH -RUN cd /playpen/listener/test/; ./run_unit_test.ksh -RUN cd /playpen/listener/; /playpen/listener/verify.sh; /playpen/listener/verify_replay.sh +ENV PATH /playpen/bin:/playpen/listener/src:$PATH +RUN cd /playpen/listener/test \ + && ./run_unit_test.ksh + +RUN cd /playpen/listener/src \ + && /playpen/listener/src/verify.sh \ + && /playpen/listener/src/verify_replay.sh # ----- final, smaller image ---------------------------------- @@ -92,13 +96,20 @@ RUN rm -fr /var/lib/apt/lists COPY --from=buildenv /playpen/rmr_*.deb /tmp/ RUN dpkg -i /tmp/rmr_*_amd64.deb -# obtusely this uses the previous value -ARG SRC +ARG SRC=src +ARG PPSRC=/playpen/listener/src RUN mkdir -p /playpen/bin + +# pull from the huge builder image COPY --from=buildenv /usr/local/lib/* /usr/local/lib/ -COPY --from=buildenv /playpen/listener/mc_listener /playpen/listener/sender /playpen/listener/pipe_reader /playpen/listener/rdc_replay /playpen/listener/rdc_extract /playpen/bin/ -COPY ${SRC}/verify_replay.sh ${SRC}/verify.sh ${SRC}/run_replay.sh ${SRC}/help /playpen/bin/ +COPY --from=buildenv ${PPSRC}/mc_listener ${PPSRC}/sender ${PPSRC}/pipe_reader ${PPSRC}/rdc_replay ${PPSRC}/rdc_extract /playpen/bin/ + +# pull from the source +COPY ${SRC}/verify_replay.sh ${SRC}/verify.sh ${SRC}/run_replay.sh /playpen/bin/ +COPY ${SRC}/help.sh /playpen/bin/help + +RUN chmod 755 /playpen/bin/* ENV PATH=/playpen/bin:$PATH ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib diff --git a/sidecars/listener/Makefile b/sidecars/listener/src/Makefile similarity index 100% rename from sidecars/listener/Makefile rename to sidecars/listener/src/Makefile diff --git a/sidecars/listener/build_dev_env.sh b/sidecars/listener/src/build_dev_env.sh similarity index 100% rename from sidecars/listener/build_dev_env.sh rename to sidecars/listener/src/build_dev_env.sh diff --git a/sidecars/listener/build_images.sh b/sidecars/listener/src/build_images.sh similarity index 100% rename from sidecars/listener/build_images.sh rename to sidecars/listener/src/build_images.sh diff --git a/sidecars/listener/help b/sidecars/listener/src/help.sh similarity index 100% rename from sidecars/listener/help rename to sidecars/listener/src/help.sh diff --git a/sidecars/listener/mc_listener.c b/sidecars/listener/src/mc_listener.c similarity index 100% rename from sidecars/listener/mc_listener.c rename to sidecars/listener/src/mc_listener.c diff --git a/sidecars/listener/mcl.c b/sidecars/listener/src/mcl.c similarity index 100% rename from sidecars/listener/mcl.c rename to sidecars/listener/src/mcl.c diff --git a/sidecars/listener/mcl.h b/sidecars/listener/src/mcl.h similarity index 100% rename from sidecars/listener/mcl.h rename to sidecars/listener/src/mcl.h diff --git a/sidecars/listener/pipe_reader.c b/sidecars/listener/src/pipe_reader.c similarity index 100% rename from sidecars/listener/pipe_reader.c rename to sidecars/listener/src/pipe_reader.c diff --git a/sidecars/listener/rdc.c b/sidecars/listener/src/rdc.c similarity index 100% rename from sidecars/listener/rdc.c rename to sidecars/listener/src/rdc.c diff --git a/sidecars/listener/rdc_extract.c b/sidecars/listener/src/rdc_extract.c similarity index 100% rename from sidecars/listener/rdc_extract.c rename to sidecars/listener/src/rdc_extract.c diff --git a/sidecars/listener/rdc_replay.c b/sidecars/listener/src/rdc_replay.c similarity index 100% rename from sidecars/listener/rdc_replay.c rename to sidecars/listener/src/rdc_replay.c diff --git a/sidecars/listener/run_replay.sh b/sidecars/listener/src/run_replay.sh similarity index 100% rename from sidecars/listener/run_replay.sh rename to sidecars/listener/src/run_replay.sh diff --git a/sidecars/listener/sender.c b/sidecars/listener/src/sender.c similarity index 100% rename from sidecars/listener/sender.c rename to sidecars/listener/src/sender.c diff --git a/sidecars/listener/verify.sh b/sidecars/listener/src/verify.sh similarity index 100% rename from sidecars/listener/verify.sh rename to sidecars/listener/src/verify.sh diff --git a/sidecars/listener/verify_replay.sh b/sidecars/listener/src/verify_replay.sh similarity index 100% rename from sidecars/listener/verify_replay.sh rename to sidecars/listener/src/verify_replay.sh diff --git a/sidecars/listener/test/Makefile b/sidecars/listener/test/Makefile index 5a0a90e..851ee89 100644 --- a/sidecars/listener/test/Makefile +++ b/sidecars/listener/test/Makefile @@ -36,7 +36,7 @@ all: tests tests: $(test_progs) -unit_test: unit_test.c ../mcl.c ../rdc.c +unit_test: unit_test.c ../src/mcl.c ../src/rdc.c gcc -g $(coverage_opts) unit_test.c -o unit_test -lrmr_si -lm -lpthread # ---- housekeeping stuff ------------------------------------------------------------- diff --git a/sidecars/listener/test/run_unit_test.ksh b/sidecars/listener/test/run_unit_test.ksh index e027583..2ccd47e 100755 --- a/sidecars/listener/test/run_unit_test.ksh +++ b/sidecars/listener/test/run_unit_test.ksh @@ -224,7 +224,5 @@ else rm -f *test*.gcov fi -cp *.gcov ../ # the CI job defines the listener dir as the spot to find these, so put them there - rm -f /tmp/PID$$.* exit $rc diff --git a/sidecars/listener/test/unit_test.c b/sidecars/listener/test/unit_test.c index 7acea3e..e9f689a 100644 --- a/sidecars/listener/test/unit_test.c +++ b/sidecars/listener/test/unit_test.c @@ -41,8 +41,8 @@ #include "test_rmr_em.c" // emulated rmr functions (for receives) // this/these are what we are testing; include them directly (must be after forever def) -#include "../mcl.c" -#include "../rdc.c" +#include "../src/mcl.c" +#include "../src/rdc.c" /* Set up env things for the rdc setup call.