aboutsummaryrefslogtreecommitdiffstats
path: root/host/tests
Commit message (Collapse)AuthorAgeFilesLines
* tests: Fix up dpdk_test to use current APIsAlex Williams2019-01-251-64/+47
| | | | | | | | | This will now avoid replicating code that is already in the config files. Also included is a minor fix to prevent threads from hanging when blocking mode is used. A flow control-only packet is now sent when RX times out.
* mpmd,transport,prefs: Add xport_mgr for dpdk_zero_copyAlex Williams2019-01-252-41/+43
| | | | | | | | | | | | | | | | | | | | | | | Add configuration sections to the UHD config file for NIC entries. Keys are based on MAC addresses, and the entries beneath the section describe which CPU and I/O thread to use for the NIC and its IPv4 address. Make ring sizes configurable for uhd-dpdk. Ring size is now an argument for packet buffers. Note that the maximum number of available buffers is still determined at init! Add ability to receive broadcasts to uhd-dpdk. This is controllable by a boolean in the sockarg during socket creation. dpdk_zero_copy will filter broadcast packets out. Add dpdk_simple transport (to mirror udp_simple). This transport allows receiving from broadcast addresses, but it only permits one outstanding buffer at a time. Fix IP checksum handling in UHD-DPDK. TX checksums were not being calculated in the NIC, and in RX, the check for IP checksums allowed values of zero (reported as none). Now packets with bad IP checksums will be dropped.
* devtest: add universal_newlines to subprocess callTrung Tran2019-01-233-2/+4
| | | | | | | | | subprocess call in python3+ return stderr and stdout object is byte object instead of text. This caused many issue with parsing the ouput in devtest. These are not an issue in python2. This change will make devtest more python3 compatible. Signed-off-by: Trung.Tran<trung.tran@ettus.com>
* tests: replace has_key by using 'in'Trung Tran2019-01-235-8/+8
| | | | | | | python3+ dropped has_key function on dictionary. In order to make it compatible, we need to use 'in' keyword. Signed-off-by: Trung.Tran<trung.tran@ettus.com>
* math: Replace boost::*::{lcm,gcd}() with portable versionsMartin Braun2019-01-181-3/+7
| | | | | | Boost changed the lcm() and gcd() functions in Boost 1.67. This creates portable UHD versions to be used instead. They use various Boost versions under the hood conditionally.
* math: Remove uhd::math::log2, replace with std::log2Martin Braun2019-01-181-6/+3
| | | | | Now that we're C++11, we can assume the existence of said symbol and need no more portability hacks.
* uhd: mpm: apply clang-format to all filesBrent Stapleton2019-01-1654-2319/+2313
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applying formatting changes to all .cpp and .hpp files in the following directories: ``` find host/examples/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/tests/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/neon/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/magnesium/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/device3/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/mpmd/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/x300/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/utils/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find mpm/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Also formatted host/include/, except Cpp03 was used as a the language standard instead of Cpp11. ``` sed -i 's/ Cpp11/ Cpp03/g' .clang-format find host/include/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Formatting style was designated by the .clang-format file.
* formatting: remove vim hints in headersBrent Stapleton2019-01-161-1/+0
| | | | | Remove trailing vim hints in header files. This functionality will be replaced by clang-format.
* tests: Add arguments to dpdk_test to control core mappingAlex Williams2019-01-151-40/+100
|
* tests: Add unit test for DPDK transportAlex Williams2019-01-152-0/+353
| | | | | | | | | This commit adds a loopback benchmark for a PC with 2 DPDK-compatible NIC ports that are connected together via a cable. It sends messages with embedded sequence numbers (outgoing and last-seen) for maintaining a flow control window of packets in flight. It tracks the number of bytes sent/received and reports the time the test took and average throughput.
* tests: Add benchmark of streaming code pathsCiro Nishiguchi2019-01-106-22/+542
| | | | | Add a benchmark of packet handlers and device3 flow control. Benchmarks use mock transport objects.
* tests: Add #include <thread> in system time testMartin Braun2019-01-081-0/+1
| | | | Some versions of MSVC report issues without it.
* tests: Fix compiler warning about unused timestampMartin Braun2019-01-071-2/+2
|
* devtest: Fix CMake `endif` warningBrent Stapleton2019-01-031-1/+1
| | | | When adding E320 devtests, the `endif` clause had the wrong argument, which resulted in a CMake warning.
* devtest: x3x0: Enable rx_samples_to_file in devtestSugandha Gupta2018-12-171-1/+1
|
* cmake: Properly register devtestMartin Braun2018-11-291-1/+3
| | | | | If N300 or E320 is disabled, the appropriate devtests are no longer registered.
* tests: Retrofit sph test to use new mock transportCiro Nishiguchi2018-11-165-201/+293
|
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-143-56/+56
| | | | | | | | | | | | | | | | | 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!)
* tests: device3_test: add graph impl testTrung Tran2018-10-317-59/+295
|
* Test: Add unit test for eeprom_utilsmichael-west2018-10-252-0/+61
|
* e320: devtest: Reduce sample rate for 1G devtestSugandha Gupta2018-09-261-1/+1
| | | | | | The E320 default master clock rate is 16MHz, therefore we need to reduce the 2 channel receive rate to 8MHz in order to be able to meet the requested rate.
* devtest: n3x0: Enable rx_samples_to_file testSugandha Gupta2018-09-141-1/+1
|
* devtest: e320: Re-enable rx_samples_to_file testSugandha Gupta2018-09-121-1/+1
| | | | | The test has been fixed in commit 9c7d251b32eb476e11f8fce13a797c4de9abc796 to parse for D and S correctly
* e320: gpio: Fix front panel GPIO readbackSugandha Gupta2018-09-121-1/+1
| | | | The gpio devtest passes after this fix. Enabling the test
* devtest: Improve error handling for shell_applicationMartin Braun2018-08-221-11/+17
|
* devtest: b2xx: Fix some arguments for MIMO testMartin Braun2018-08-221-5/+14
|
* devtest: Fix counting of underruns/overrunsMartin Braun2018-08-221-2/+2
| | | | Our regex was borked.
* devtest: Remove parsing for DD.. and SS..Martin Braun2018-08-224-16/+14
| | | | | | | Detecting drops by parsing for DD and SS was a flawed method. Tools should find those programmatically. Plus, the string 'DDC' would interfere with the regex. Also, we're now using UHD_LOG_FASTPATH_DISABLE.
* devtest: Default UHD_LOG_FASTPATH_DISABLE to 1Martin Braun2018-08-221-1/+11
|
* devtest: Clean up & refactorMartin Braun2018-08-222-35/+55
| | | | | - Move filter_* functions out of uhd_test_case - Reduced some line lengths
* devtest: Integrate Python API Tester into DevtestVidush2018-08-104-2/+63
|
* devtest: Add more env vars, make Py3k compatibleMartin Braun2018-08-102-8/+18
| | | | | The testsuite now includes more environment variables for source dir, build dir, and PYTHONPATH.
* e320: Enable devtest for E320Sugandha Gupta2018-08-092-0/+58
| | | | - All tests pass except for gpio_test
* tests: Add multi_usrp_test.pyVidush2018-07-241-0/+624
| | | | | This is an API tester that uses the Python API to verify the correct behaviour of multi_usrp with respect to a hardware implementation.
* devtest: Minor Python fixesMartin Braun2018-07-171-18/+30
| | | | | - Fix some Pylint warnings - Improve output
* soft_register: Remove compiler warning, add unit testMartin Braun2018-07-112-1/+35
|
* UHD: Updated blockdef dest assertsMartin Braun2018-06-221-3/+3
|
* types: convert sensor_value_t to a mapBrent Stapleton2018-05-141-0/+7
|
* tests: Add unit test for meta_range_t ctorsMartin Braun2018-05-091-1/+19
|
* lib: Purge use of boost::assign, except for uhd::dictMartin Braun2018-05-025-48/+44
| | | | | | | Replaced with initialization lists. Note: uhd::dict does not work with initializer lists without making changes to said data structure. This commit has no functional changes, so keeping the boost::assigns for uhd::dict.
* dev_test: add N3xx devtestTrung N Tran2018-05-023-2/+61
|
* dev_test: usrp_prope.py update to find reachable mpm deviceTrung N Tran2018-05-021-0/+2
|
* fixup! rfnoc: ctrl_iface cleanupmichael-west2018-04-301-2/+1
|
* fixup! rfnoc: ctrl_iface cleanupMartin Braun2018-04-201-1/+6
|
* lib: adding == and != for uhd::dictBrent Stapleton2018-04-021-0/+39
|
* lib: adding device_addr_t constructor from mapBrent Stapleton2018-04-021-0/+9
| | | | | Adding constructor for device_addr_t that takes a map<string, string> as an argument.
* rfnoc: ctrl_iface cleanupMartin Braun2018-03-161-33/+30
| | | | | | | | | | - ctrl_iface is now longer a wb_iface. All it can do now is send command packets, and receive responses to those. - ctrl_iface does not store command time or tick rate - wb_iface_adapter is no longer a set of functors, but a wrapper around ctrl_iface. Command times are stored once, in the block. - DMA FIFO and radio block controllers have an easier time getting access to a timed_wb_iface
* examples: Update benchmark_rate (more stats, timestamps)Martin Braun2018-03-141-4/+4
| | | | | | | | - Messages are all timestamped, enables better understanding of the output log - Less usage of Boost - More stats (differentiate between RX and TX timeouts and sequence errors)
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-141-2/+2
| | | | | | | | | | | | | | | | To avoid the proliferation of additional include directories and multiple ways of including project-local headers, we now default to moving all headers that are used across UHD into the uhdlib/ subdirectory. Some #include statements were also reordered as they were modified for closer compliance with the coding guidelines. Internal cpp source files should now include files like this: #include <uhdlib/rfnoc/ctrl_iface.hpp> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* uhd: Moved get_system_time outside of public APIMartin Braun2018-03-052-18/+32
| | | | | | | uhd::get_system_time() is an abstracted way of reading back a time, and is not UHD-specific. As such, there's no reason to keep it in the public part of the API where we're contractually obligated not to touch it. Instead, moving it to the internal API space.