blob: 06f01b755ca901bee80717fb675e3c544baa24b6 [file] [log] [blame]
Lott, Christopher (cl778h)2407cdc2020-04-29 09:58:37 -04001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
4Developer Guide
5===============
6
Lott, Christopher (cl778h)bbc90282020-05-07 08:39:49 -04007Tech Stack
8----------
9
10The framework requires Python version 3.7 or later, and depends on
11these packages provided by the O-RAN-SC project and third parties:
12
13* msgpack
14* mdclogpy
15* ricsdl
16
Lott, Christopher (cl778h)2407cdc2020-04-29 09:58:37 -040017
18Version bumping the framework
19-----------------------------
20
21This project follows semver. When changes are made, the versions are in:
22
Lott, Christopher (cl778h)bbc90282020-05-07 08:39:49 -040023#. ``docs/release-notes.rst``
24#. ``setup.py``
Lott, Christopher (cl778h)2407cdc2020-04-29 09:58:37 -040025
26Version bumping RMR
27-------------------
28
Lott, Christopher (cl778h)bbc90282020-05-07 08:39:49 -040029These items in this repo must be kept in sync with the RMR version:
30
31#. Dockerfile-Unit-Test
32#. examples/Dockerfile-Ping
33#. examples/Dockerfile-Pong
34#. ``rmr-version.yaml`` controls what version of RMR is installed for
35 unit testing in Jenkins CI
Lott, Christopher (cl778h)2407cdc2020-04-29 09:58:37 -040036
37
38Unit Testing
39------------
40
Lott, Christopher (cl778h)bbc90282020-05-07 08:39:49 -040041Running the unit tests requires the python packages ``tox`` and ``pytest``.
42
43The RMR library is also required during unit tests. If running directly from tox
44(outside a Docker container), install RMR according to its instructions.
45
46Upon completion, view the test coverage like this:
Lott, Christopher (cl778h)2407cdc2020-04-29 09:58:37 -040047
48::
49
Lott, Christopher (cl778h)bbc90282020-05-07 08:39:49 -040050 tox
51 open htmlcov/index.html
52
53Alternatively, if you cannot install RMR locally, you can run the unit
54tests in Docker. This is somewhat less nice because you don't get the
55pretty HTML report on coverage.
56
57::
58
59 docker build --no-cache -f Dockerfile-Unit-Test .