FAQ - Frequency Asked Questions#
The following Frequency Answer Questions are general and not operating system specific.
Configure PyCharm to auto-complete Xmera commands and provide module variables, see the PyCharm Support web page.
How do I run
pytestto ensure all unit and integrated tests still passThe following response assumes you have the Xmera soure code. You need to install the python utility
pytestif this is not available on your system. Instructions are found atinstallOptionalPackages. Next, navigate to the folderXmera\srcand runpytestfrom there.How can I run
pytestfaster?One can distribute python tests across multiple processes. This is achieved with the
pytest-xdistpackage using:pip3 install pytest-xdist
After installing this package you can now pytest such that it distribute tests across multi-processes.
pytestfor 8 processes using:python3 -m pytest -n 8
or replace 8 with either the number of processors (virtual or otherwise) of your host machine, or “auto” to use all available processors.
How can I used
pytestto generate a Xmera validation HTML report?You will need to install
pytest-htmlpackage, seeinstallOptionalPackages. Then you can do this with:python3 -m pytest --report
This generates an HTML report in a local
tests/reportfolder.How do I perform a clean build of Xmera?
IDE’s like X-Code provide a “clean” function. This will remove some compiled code, but in Xmera it does not get rid of all the SWIG’d code, and there can be compiler warnings related to the last CMAKE settings used.
To do a basic clean build that will cover most odd cases, you can do this manually by
delete the folder of
dist3ordistand create a new folder with that namefollow the regular configure and build instruction in
configureBuild
You can also use the
cleanflag in the instruction atconfigureBuildto do a clean and configure all in one.To really have a clean clean build you want to get rid of the .conan file that stores the dependencies for Xmera. To do this you
delete the
.conanfolder in your home directoryfollow the regular build instructions in
configureBuildusing thecleanflag