64 lines
1.9 KiB
ReStructuredText
64 lines
1.9 KiB
ReStructuredText
Running tests
|
|
=============
|
|
|
|
Tests are executed within kselftest framework like any other tests.
|
|
By default tests execute against software drivers such as netdevsim.
|
|
All tests must support running against a real device (SW-only tests
|
|
should instead be placed in net/ or drivers/net/netdevsim, HW-only
|
|
tests in drivers/net/hw).
|
|
|
|
Set appropriate variables to point the tests at a real device.
|
|
|
|
Variables
|
|
=========
|
|
|
|
Variables can be set in the environment or by creating a net.config
|
|
file in the same directory as this README file. Example::
|
|
|
|
$ NETIF=eth0 ./some_test.sh
|
|
|
|
or::
|
|
|
|
$ cat tools/testing/selftests/drivers/net/net.config
|
|
# Variable set in a file
|
|
NETIF=eth0
|
|
|
|
Please note that the config parser is very simple, if there are
|
|
any non-alphanumeric characters in the value it needs to be in
|
|
double quotes.
|
|
|
|
NETIF
|
|
~~~~~
|
|
|
|
Name of the netdevice against which the test should be executed.
|
|
When empty or not set software devices will be used.
|
|
|
|
LOCAL_V4, LOCAL_V6, REMOTE_V4, REMOTE_V6
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Local and remote endpoint IP addresses.
|
|
|
|
REMOTE_TYPE
|
|
~~~~~~~~~~~
|
|
|
|
Communication method used to run commands on the remote endpoint.
|
|
Test framework has built-in support for ``netns`` and ``ssh`` channels.
|
|
``netns`` assumes the "remote" interface is part of the same
|
|
host, just moved to the specified netns.
|
|
``ssh`` communicates with remote endpoint over ``ssh`` and ``scp``.
|
|
Using persistent SSH connections is strongly encouraged to avoid
|
|
the latency of SSH connection setup on every command.
|
|
|
|
Communication methods are defined by classes in ``lib/py/remote_{name}.py``.
|
|
It should be possible to add a new method without modifying any of
|
|
the framework, by simply adding an appropriately named file to ``lib/py``.
|
|
|
|
REMOTE_ARGS
|
|
~~~~~~~~~~~
|
|
|
|
Arguments used to construct the communication channel.
|
|
Communication channel dependent::
|
|
|
|
for netns - name of the "remote" namespace
|
|
for ssh - name/address of the remote host
|