aboutsummaryrefslogtreecommitdiffstats
path: root/host/cmake/Modules/UHDUnitTest.cmake
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Replace CMAKE_{SOURCE,BINARY}_DIR with UHD_*_DIRMartin Braun2021-09-101-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | See the CMake 3.8 documentation on these two variables: https://cmake.org/cmake/help/v3.8/variable/PROJECT-NAME_SOURCE_DIR.html https://cmake.org/cmake/help/v3.8/variable/CMAKE_SOURCE_DIR.html Under normal circumstances, these two are identical. For sub-projects (i.e., when building UHD as part of something else that is also a CMake project), only the former is useful. There is no discernible downside of using UHD_SOURCE_DIR over CMAKE_SOURCE_DIR. This was changed using sed: $ sed -i "s/CMAKE_SOURCE_DIR/UHD_SOURCE_DIR/g" \ `ag -l CMAKE_SOURCE_DIR **/{CMakeLists.txt,*.cmake}` $ sed -i "s/CMAKE_BINARY_DIR/UHD_BINARY_DIR/g" \ `ag -l CMAKE_BINARY_DIR **/{CMakeLists.txt,*.cmake}` At the same time, we also replace the CMake variable UHD_HOST_ROOT (used in MPM) with UHD_SOURCE_DIR. There's no reason to have two variables with the same meaning and different names, but more importantly, this means that UHD_SOURCE_DIR is defined even in those cases where MPM calls into CMake files from UHD without any additional patches. Shoutout to GitHub user marcobergamin for bringing this up.
* cmake: tests: Add build-python path to PYTHONPATHMartin Braun2021-09-081-2/+5
| | | | | | | | | | | | | | | | This is more of an expressive change than a functional change; Python seems to add this path to the PYTHONPATH anyway, at least for some systems. We neverless make this change because: - It's more explicit/expressive. When tests are run, the PYTHONPATH env variable is printed, and it now contains this path where it should be, right at the front. People reading the ctest/python.unittest output now get told explicitly which path we mean. - This guarantees that this path is added, even if Python/unittest should behave differently on other systems or versions. To clarify: When running unit tests, we want to run the Python code from build/python, not the installed version. The latter may not yet exist, and if it does, it's not the version we are editing.
* tests: Add lib/ to LD_LIBRARY_PATH for pytestsAaron Rossetto2021-01-221-2/+7
| | | | | | | This commit sets the LD_LIBRARY_PATH environment variable when invoking pytests to ensure that Python tests that use bindings to UHD in libpyuhd.so can link to new symbols in libuhd.so without the need to have UHD installed.
* uhd_images_downloader: Add environment variable for http authLane Kolbly2020-10-151-1/+2
| | | | | | | | | This allows the image downloader to download files from restricted sources using HTTP basic auth, specifying the credentials in the UHD_IMAGES_USER and UHD_IMAGES_PASSWORD environment variables: ``` UHD_IMAGES_USER=lane UHD_IMAGES_PASSWORD=MyS3cretPassword uhd_images_downloader.py ```
* cmake: tests: Support qemu also for python based testsJoerg Hofrichter2020-08-041-6/+18
| | | | This requires python3 to be installed in the target sysroot
* python: Add bindings for C++ CHDR ParserSamuel O'Brien2020-07-161-0/+2
| | | | | | | | | | | | | This commit adds pybind11 glue code for the userland chdr parsing code introduced in the uhd::utils::chdr namespace. Additionally, it moves some pybind11 adapter code to a common pybind_adaptors.hpp file which originally existed in the cal_python.hpp file. This commit also adds unit tests for the python bindings using a captured wireshark trace which is located in rfnoc_packets_*.py and some handwritten packets in hardcoded_packets.py Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* cmake: tests: Fix CMake warning introduced by QEMU unittest optionJoerg Hofrichter2020-06-261-1/+1
|
* cmake: tests: Added option to use QEMU for running unittestsJoerg Hofrichter2020-06-251-1/+4
| | | | | This is useful when cross-compiling UHD for other architectures like arm or aarch64.
* tests: Add infrastructure to run Python unit testsMartin Braun2020-06-151-0/+12
| | | | | | | | | | | | | | | | - Add UHD_ADD_PYTEST() CMake macro - Add CMake code to tests/CMakeLists.txt to auto-run all registered Python unit tests - Add a token unit test (it replicates parts of ranges_test.cpp) The way Python-based unit tests are implemented in UHD is that they can import uhd, and then operate on the module as usual. Writing unit tests in Python instead of C++ can have multiple advantages: - If they test PyBind-wrapped C++ code, they can test both the binding and the underlying C++ code at once - Writing unit tests in Python may be more concise
* uhd: Add quotes around test environment variablesLane Kolbly2020-04-071-1/+1
| | | | | | | On systems which have spaces in the environment variables, such as $PATH, attempting to run the generated test scripts will throw an error about a bad variable name. Adding quotes around the values prevents this error.
* cmake: tests: Add macro for non-API based unit testsMartin Braun2019-05-221-0/+1
| | | | | | All unit tests which require extra sources (i.e., can't just interact with the UHD API) have been manually added to the CMakeLists.txt in a clumsy fashion. This macro cleans that up a little.
* cmake: remove Boost from dyn libs for tests on AppleMichael Dickens2019-02-191-1/+3
| | | | | | | | | Remove "${prefix}/lib" from the DYLD path for APPLE only. Apple's DYLD uses the paths embedded in the binary file (library or executable) as a secondary means for finding referenced libraries. Explicitly including "${prefix}/lib" can result in libraries being found and used by System frameworks that are not compatible with them. Moving to just using build paths fixes this issue.
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-141-2/+2
| | | | | | | | | | | | | | | | | Also updates our coding style file. Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code (with GNU compliant sed): cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done > convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \ '*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed (Make sure the backslashes don't get mangled!)
* uhd: Update license headersMartin Braun2018-02-191-1/+2
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* cmake: fix test library path ordering to be internal then externalMichael Dickens2018-01-221-2/+2
| | | | | | | | | | Always include local-to-build library paths first, then external ones. If a prior version of UHD is installed in the same directly as Boost (as is typical on *nix* OSs such as macOS and Linux), then it will be picked up before the internal-to-build version and some tests will fail. Reviewed-by: Martin Braun <martin.braun@ettus.com>
* Move all license headers to SPDX format.Martin Braun2017-12-221-12/+1
|
* Merging RFNoC support for X310Martin Braun2016-08-091-2/+2
|
* Remove CMake 3.0+ warningsNicholas Corgan2015-08-131-20/+19
|
* Merging Philip Balister's work for ARM cross-compilation.Ben Hilburn2013-12-111-1/+5
|
* uhd: unit tests generate script w/ env pathsJosh Blum2012-10-291-0/+110