[VOL-5024] - bbsim unit-test reports UNSTABLE
Makefile
--------
o Added debugging around target test-unit
o Add banners around coverage reports for readability.
o Unwind shell command one-liner into distinct commands with echo banners.
o Invoke set -o pipefail, test output | tee will overwrite testing exit status (always succeed).
o Exit early if testing fails, no need to run coverage reports.
docs/requirements.txt
---------------------
o Update module funcparserlib to the latest.
o https://funcparserlib.pirx.ru/changes/
o v3.5 released 2011 fails on compatibility module.
o Latest module seems to work and fixed an error.
o Send through jenkins to check for problems.
Change-Id: I71c2d49243329c7544046fd5fdcdaf66ad47b5cc
diff --git a/Makefile b/Makefile
index 3c63603..0817e3b 100644
--- a/Makefile
+++ b/Makefile
@@ -128,15 +128,60 @@
results-xml := ./tests/results/go-test-results.xml
test-unit: clean local-omci-lib-go # @HELP Execute unit tests
+
+ @echo
+ @echo '** -----------------------------------------------------------------------'
+ @echo '** Target: $@'
+ @echo '** -----------------------------------------------------------------------'
+
+ @mkdir -p $(dir $(results-out))
+# @chmod -R 777 $(dir $(results-out))# dev-mode: local
+ @find $(dir $(results-out)) -print0 | xargs -0 ls -l
+
+ @echo
@echo "Running unit tests..."
- @mkdir -p ./tests/results
- @${GO} test -mod=vendor -bench=. -v \
+ @echo '-----------------------------------------------------------------------'
+ set -euo pipefail \
+ && ${GO} test -mod=vendor -bench=. -v \
-coverprofile $(coverage-out) \
-covermode count ./... \
- 2>&1 | tee $(results-out) ;\
- RETURN=$$? ;\
- ${GO_JUNIT_REPORT} < $(results-out) > $(results-xml) ;\
- ${GOCOVER_COBERTURA} < $(coverage-out) > $(coverage-xml) ;\
+ 2>&1 | tee "$(results-out)"
+
+ @echo
+ @echo "Coverage report: junit"
+ @echo '-----------------------------------------------------------------------'
+ ${GO_JUNIT_REPORT} < $(results-out) > $(results-xml)
+
+ @echo
+ @echo "Coverage report: Cobertura"
+ @echo '-----------------------------------------------------------------------'
+ ${GOCOVER_COBERTURA} < $(coverage-out) > $(coverage-xml)
+
+ @echo
+ @echo "Coverage report directory perms:"
+ @echo '-----------------------------------------------------------------------'
+ find $(dir $(results-out)) -print0 | xargs -0 ls -l
+
+ @echo
+ @echo "Locally modified files (git status)"
+ @echo '-----------------------------------------------------------------------'
+ git status
+
+# foobar:
+# && RETURN=$$? \
+ && echo "** $@ will exit with status $$(declare -p RETURN)" \
+ && echo \
+ && echo "Coverage report: juni" \
+ && ${GO_JUNIT_REPORT} < $(results-out) > $(results-xml) \
+ && echo \
+ && echo "Coverage report: Cobertura" \
+ && ${GOCOVER_COBERTURA} < $(coverage-out) > $(coverage-xml) \
+ && echo \
+ && echo "Coverage report directory perms:" \
+ && find $(dir $(results-out)) -print0 | xargs -0 ls -l \
+ && echo \
+ && echo "List locally modified files" \
+ && git status \
exit $$RETURN
## -----------------------------------------------------------------------
diff --git a/docs/requirements.txt b/docs/requirements.txt
index fcb72ba..fd70c42 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -11,3 +11,10 @@
sphinxcontrib-nwdiag~=2.0.0
sphinxcontrib-openapi~=0.6.0
sphinxcontrib-seqdiag~=2.0.0
+
+# ----------------------------------------------------------------
+# v3.6: error in funcparserlib setup command: use_2to3 is invalid.
+# https://funcparserlib.pirx.ru/changes/
+# funcparserlib=~0.3.5
+# ----------------------------------------------------------------
+funcparserlib~=1.0.0a0
diff --git a/msg b/msg
deleted file mode 100644
index 17c92c6..0000000
--- a/msg
+++ /dev/null
@@ -1,55 +0,0 @@
-VOL-4883 - Publish a new bbsim release
-
-https://github.com/opencord/bbsim/releases/tag/untagged-6d947de2a6078a1fe175
-----------------------------------------------------------------------------
- o Draft bbsim release v2.96.8572 created by this patch set.
- o All 6cross-compile binaries are now included.
- o Change ID + commit message document the release.
- o Binaries downloaded/tested using {bbr,bbsim,bbsimctl} --help
-
-Makefile
---------
- o Makefile release target is now able to cross compile all binaries:
- - bbsimctl cross compiled to arm, darwin, linux and windows.
- - release-{bbr, bbsim} only built *-linux-amd64
- o Refactor targets into a more modular and hierarchial setup.
- o Be sure to create RELEASE_DIR early on localhost so docker
- container can create a volume (NFS mount) for building into.
- o Display banners when building targets to improve log readability.
- o Clean targets updated to remove everything generated.
- o Help targets added to document indvidual target logic.
- o Makefile logic heavily commented.
-
-makefiles/release/bbr.mk
-makefiles/release/bbsim.mk
-makefiles/release/bbsimctl.mk
------------------------------
- o Relocate build-* and release-* target logic into named makefiles.
- o Update SHELL to set -euo pipefail to detect uninit shell vars.
- o Replaced shell/looping logic with true makefile target dependencies:
- - shell/loop replaced with a target rule that builds one platform binary.
- - Derive a list of targets release/{bbr,bbsim,bbsimctl}-{os}-{arch}
- - release: depends on all buildable targets
- - release rule can extract arch= and os= from target path being built.
- - To simplify logic construct env vars separately into a response file.
- - passed as "docker --env-file [x]" VS appending to an ever growing command line.
- o Marked more targets as .PHONY so they will always build.
- o Added helper target 'onf-publish' for exercising changes in the github-release script.
-
-makefiles/include.mk
---------------------
- o Single include for importing all library makefiles.
-
-makefiles/consts.mk
--------------------
- o Include fixed values, esp $(quote-single) which is now used to document
- o Refactor duplication in GO_* macros into named/reused values to shorten lines.
-
-makefiles/lint
---------------
- o Moved lint::docker (hadolint target) into makefiles/lint/docker/*.mk.
- o Added makefiles/lint library targets for ability to lint more sources.
-
-makefiles/tools.mk
-------------------
- o Refactor DOCKER_* and GO_* macros into a named includable makefile.q
\ No newline at end of file