
This patch provides unit tests for libmemif written in Unity Type: test Signed-off-by: Daniel Béreš <dberes@cisco.com> Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: I19116def6e6d28efd5f460c93911245474a11321
78 lines
2.3 KiB
ReStructuredText
78 lines
2.3 KiB
ReStructuredText
.. _libmemif_build_doc:
|
|
|
|
Build Instructions
|
|
==================
|
|
|
|
Install dependencies
|
|
--------------------
|
|
|
|
::
|
|
|
|
sudo apt-get install -y git cmake autoconf pkg_config libtool
|
|
|
|
Libmemif is now part of VPP repository. Follow fd.io wiki to pull source
|
|
code from VPP repository.
|
|
https://wiki.fd.io/view/VPP/Pulling,_Building,_Running,_Hacking_and_Pushing_VPP_Code#Pushing_Patches
|
|
|
|
Libmemif is located under extras/libmemif. From the vpp workspace root directory::
|
|
|
|
mkdir -p extras/libmemif/build
|
|
cd extras/libmemif/build
|
|
cmake ..
|
|
make install
|
|
|
|
Verify installation:
|
|
--------------------
|
|
|
|
::
|
|
|
|
./examples/icmp_responder -?
|
|
|
|
Use ``-?`` flag to display help::
|
|
|
|
LIBMEMIF EXAMPLE APP: icmp_responder_example
|
|
==============================
|
|
libmemif version: 4.0, memif version: 2.0
|
|
==============================
|
|
In this example, memif endpoint connects to an external application.
|
|
The example application can resolve ARP and reply to ICMPv4 packets.
|
|
The program will exit once the interface is disconnected.
|
|
==============================
|
|
Usage: icmp_responder [OPTIONS]
|
|
|
|
Options:
|
|
-r Interface role <slave|master>. Default: slave
|
|
-s Socket path. Supports abstract socket using @ before the path. Default: /run/vpp/memif.sock
|
|
-i Interface id. Default: 0
|
|
-a IPv4 address. Default: 192.168.1.1
|
|
-h Mac address. Default: aa:aa:aa:aa:aa:aa
|
|
-? Show help and exit.
|
|
-v Show libmemif and memif version information and exit.
|
|
|
|
Running tests:
|
|
--------------
|
|
|
|
Tests needs to their proper functioning Unity framework which is depended externally and cloned from official git repository::
|
|
|
|
mkdir -p extras/libmemif/build
|
|
cd extras/libmemif/build
|
|
cmake ..
|
|
make
|
|
ctest
|
|
|
|
``ctest`` will execute the tests and print out brief information about test suites with their statuses.
|
|
|
|
In case we want verbose: ::
|
|
|
|
ctest --verbose
|
|
ctest --extra-verbose
|
|
|
|
If there are any needs to debug tests, just add to cmake command ``-DCMAKE_BUILD_TYPE=Debug`` flag.
|
|
|
|
Use Cases
|
|
---------
|
|
|
|
Once the library is built/installed, refer to :ref:`libmemif_gettingstarted_doc`
|
|
and :ref:`libmemif_examples_doc` for additional information on basic use cases
|
|
and API usage.
|