Currently, this script sets up the test scenario, which is supposed to end
in an inability of the system to negotiate a link. It then waits for a bit,
and verifies that the system can diagnose why the link was not established.
The wait time for the scenario where different link speeds are forced on
the two ends of a loopback cable, was set to 4 seconds, which exactly
covered it. As of a recent mlxsw firmware update, this time gets longer,
and this test starts failing.
The time that selftests currently wait for links to be established is
currently $WAIT_TIMEOUT, or 20 seconds. It seems reasonable that if this is
the time necessary to establish and bring up a link, it should also be
enough to determine that a link cannot be established and why.
Therefore in this patch, convert the sleeps to busywaits, so that if a
failure is established sooner (as is expected), the test runs quicker. And
use $WAIT_TIMEOUT as the time to wait.
Signed-off-by: Petr Machata <petrm(a)nvidia.com>
Reviewed-by: Amit Cohen <amcohen(a)nvidia.com>
---
.../net/forwarding/ethtool_extended_state.sh | 43 ++++++++++++-------
1 file changed, 28 insertions(+), 15 deletions(-)
diff --git a/tools/testing/selftests/net/forwarding/ethtool_extended_state.sh b/tools/testing/selftests/net/forwarding/ethtool_extended_state.sh
index 4b42dfd4efd1..072faa77f53b 100755
--- a/tools/testing/selftests/net/forwarding/ethtool_extended_state.sh
+++ b/tools/testing/selftests/net/forwarding/ethtool_extended_state.sh
@@ -11,6 +11,8 @@ NUM_NETIFS=2
source lib.sh
source ethtool_lib.sh
+TIMEOUT=$((WAIT_TIMEOUT * 1000)) # ms
+
setup_prepare()
{
swp1=${NETIFS[p1]}
@@ -18,7 +20,7 @@ setup_prepare()
swp3=$NETIF_NO_CABLE
}
-ethtool_extended_state_check()
+ethtool_ext_state()
{
local dev=$1; shift
local expected_ext_state=$1; shift
@@ -30,21 +32,27 @@ ethtool_extended_state_check()
| sed -e 's/^[[:space:]]*//')
ext_state=$(echo $ext_state | cut -d "," -f1)
- [[ $ext_state == $expected_ext_state ]]
- check_err $? "Expected \"$expected_ext_state\", got \"$ext_state\""
-
- [[ $ext_substate == $expected_ext_substate ]]
- check_err $? "Expected \"$expected_ext_substate\", got \"$ext_substate\""
+ if [[ $ext_state != $expected_ext_state ]]; then
+ echo "Expected \"$expected_ext_state\", got \"$ext_state\""
+ return 1
+ fi
+ if [[ $ext_substate != $expected_ext_substate ]]; then
+ echo "Expected \"$expected_ext_substate\", got \"$ext_substate\""
+ return 1
+ fi
}
autoneg()
{
+ local msg
+
RET=0
ip link set dev $swp1 up
- sleep 4
- ethtool_extended_state_check $swp1 "Autoneg" "No partner detected"
+ msg=$(busywait $TIMEOUT ethtool_ext_state $swp1 \
+ "Autoneg" "No partner detected")
+ check_err $? "$msg"
log_test "Autoneg, No partner detected"
@@ -53,6 +61,8 @@ autoneg()
autoneg_force_mode()
{
+ local msg
+
RET=0
ip link set dev $swp1 up
@@ -65,12 +75,13 @@ autoneg_force_mode()
ethtool_set $swp1 speed $speed1 autoneg off
ethtool_set $swp2 speed $speed2 autoneg off
- sleep 4
- ethtool_extended_state_check $swp1 "Autoneg" \
- "No partner detected during force mode"
+ msg=$(busywait $TIMEOUT ethtool_ext_state $swp1 \
+ "Autoneg" "No partner detected during force mode")
+ check_err $? "$msg"
- ethtool_extended_state_check $swp2 "Autoneg" \
- "No partner detected during force mode"
+ msg=$(busywait $TIMEOUT ethtool_ext_state $swp2 \
+ "Autoneg" "No partner detected during force mode")
+ check_err $? "$msg"
log_test "Autoneg, No partner detected during force mode"
@@ -83,12 +94,14 @@ autoneg_force_mode()
no_cable()
{
+ local msg
+
RET=0
ip link set dev $swp3 up
- sleep 1
- ethtool_extended_state_check $swp3 "No cable"
+ msg=$(busywait $TIMEOUT ethtool_ext_state $swp3 "No cable")
+ check_err $? "$msg"
log_test "No cable"
--
2.35.3
This patchset adds support for SRv6 Headend behavior with Reduced
Encapsulation. It introduces the H.Encaps.Red and H.L2Encaps.Red versions
of the SRv6 H.Encaps and H.L2Encaps behaviors, according to RFC 8986 [1].
In details, the patchset is made of:
- patch 1/4: add support for SRv6 H.Encaps.Red behavior;
- Patch 2/4: add support for SRv6 H.L2Encaps.Red behavior;
- patch 2/4: add selftest for SRv6 H.Encaps.Red behavior;
- patch 3/4: add selftest for SRv6 H.L2Encaps.Red behavior.
The corresponding iproute2 patch for supporting SRv6 H.Encaps.Red and
H.L2Encaps.Red behaviors is provided in a separated patchset.
[1] - https://datatracker.ietf.org/doc/html/rfc8986
v2 -> v3:
- Keep SRH when HMAC TLV is present;
- Split the support for H.Encaps.Red and H.L2Encaps.Red behaviors in two
patches (respectively, patch 1/4 and patch 2/4);
- Add selftests for SRv6 H.Encaps.Red and H.L2Encaps.Red.
v1 -> v2:
- Fixed sparse warnings;
- memset now uses sizeof() instead of hardcoded value;
- Removed EXPORT_SYMBOL_GPL.
Andrea Mayer (4):
seg6: add support for SRv6 H.Encaps.Red behavior
seg6: add support for SRv6 H.L2Encaps.Red behavior
selftests: seg6: add selftest for SRv6 H.Encaps.Red behavior
selftests: seg6: add selftest for SRv6 H.L2Encaps.Red behavior
include/uapi/linux/seg6_iptunnel.h | 2 +
net/ipv6/seg6_iptunnel.c | 138 +++-
.../net/srv6_hencap_red_l3vpn_test.sh | 742 ++++++++++++++++++
.../net/srv6_hl2encap_red_l2vpn_test.sh | 674 ++++++++++++++++
4 files changed, 1554 insertions(+), 2 deletions(-)
create mode 100755 tools/testing/selftests/net/srv6_hencap_red_l3vpn_test.sh
create mode 100755 tools/testing/selftests/net/srv6_hl2encap_red_l2vpn_test.sh
--
2.20.1
From: Johannes Holland <johannes.holland(a)infineon.com>
Due to CreatePrimary commands which need to create RSA keys of
increasing size, the timeout value need to be raised, as well.
Default is 45s.
Signed-off-by: Johannes Holland <johannes.holland(a)infineon.com>
Signed-off-by: Stefan Mahnke-Hartmann <stefan.mahnke-hartmann(a)infineon.com>
---
Changelog:
* v2:
* Add maintainter to recipients
* Change subject
tools/testing/selftests/tpm2/settings | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 tools/testing/selftests/tpm2/settings
diff --git a/tools/testing/selftests/tpm2/settings b/tools/testing/selftests/tpm2/settings
new file mode 100644
index 000000000000..919bc3803f03
--- /dev/null
+++ b/tools/testing/selftests/tpm2/settings
@@ -0,0 +1,2 @@
+timeout=600
+
--
2.25.1
Fix Sphinx complaints about code-block directive missing an argument.
For start.rst, add "none" since that is already heavily used in that
file. For run_wrapper.rst, use the simpler "::" literal block instead.
dev-tools/kunit/start.rst:83: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:17: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:23: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:31: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:51: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:57: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:78: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:85: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:109: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:116: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:124: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:139: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
dev-tools/kunit/run_wrapper.rst:162: WARNING: Error in "code-block" directive:
1 argument(s) required, 0 supplied.
Fixes: c48b9ef1f794 ("Documentation: KUnit: Rewrite getting started")
Fixes: 46201d47d6c4 ("Documentation: kunit: Reorganize documentation related to running tests")
Signed-off-by: Randy Dunlap <rdunlap(a)infradead.org>
Cc: Brendan Higgins <brendanhiggins(a)google.com>
Cc: linux-kselftest(a)vger.kernel.org
Cc: kunit-dev(a)googlegroups.com
Cc: Jonathan Corbet <corbet(a)lwn.net>
Cc: linux-doc(a)vger.kernel.org
Cc: Harinder Singh <sharinder(a)google.com>
Cc: Tim Bird <tim.bird(a)sony.com>
---
Documentation/dev-tools/kunit/run_wrapper.rst | 24 ++++++++--------
Documentation/dev-tools/kunit/start.rst | 2 -
2 files changed, 13 insertions(+), 13 deletions(-)
--- linux-next-20220331.orig/Documentation/dev-tools/kunit/run_wrapper.rst
+++ linux-next-20220331/Documentation/dev-tools/kunit/run_wrapper.rst
@@ -14,13 +14,13 @@ tests, and formats the test results.
Run command:
-.. code-block::
+::
./tools/testing/kunit/kunit.py run
We should see the following:
-.. code-block::
+::
Generating .config...
Building KUnit kernel...
@@ -28,7 +28,7 @@ We should see the following:
We may want to use the following options:
-.. code-block::
+::
./tools/testing/kunit/kunit.py run --timeout=30 --jobs=`nproc --all
@@ -48,13 +48,13 @@ test configs for certain subsystems.
To use a different ``.kunitconfig`` file (such as one
provided to test a particular subsystem), pass it as an option:
-.. code-block::
+::
./tools/testing/kunit/kunit.py run --kunitconfig=fs/ext4/.kunitconfig
To view kunit_tool flags (optional command-line arguments), run:
-.. code-block::
+::
./tools/testing/kunit/kunit.py run --help
@@ -75,14 +75,14 @@ certain code blocks, arch configs and so
To create a ``.kunitconfig``, using the KUnit ``defconfig``:
-.. code-block::
+::
cd $PATH_TO_LINUX_REPO
cp tools/testing/kunit/configs/default.config .kunit/.kunitconfig
We can then add any other Kconfig options. For example:
-.. code-block::
+::
CONFIG_LIST_KUNIT_TEST=y
@@ -106,14 +106,14 @@ can run part of the KUnit build process
When running kunit_tool, from a ``.kunitconfig``, we can generate a
``.config`` by using the ``config`` argument:
-.. code-block::
+::
./tools/testing/kunit/kunit.py config
To build a KUnit kernel from the current ``.config``, we can use the
``build`` argument:
-.. code-block::
+::
./tools/testing/kunit/kunit.py build
@@ -121,7 +121,7 @@ If we already have built UML kernel with
can run the kernel, and display the test results with the ``exec``
argument:
-.. code-block::
+::
./tools/testing/kunit/kunit.py exec
@@ -136,7 +136,7 @@ format. When running tests, kunit_tool p
a summary. To see the raw test results in TAP format, we can pass the
``--raw_output`` argument:
-.. code-block::
+::
./tools/testing/kunit/kunit.py run --raw_output
@@ -159,7 +159,7 @@ By passing a bash style glob filter to t
commands, we can run a subset of the tests built into a kernel . For
example: if we only want to run KUnit resource tests, use:
-.. code-block::
+::
./tools/testing/kunit/kunit.py run 'kunit-resource*'
--- linux-next-20220331.orig/Documentation/dev-tools/kunit/start.rst
+++ linux-next-20220331/Documentation/dev-tools/kunit/start.rst
@@ -80,7 +80,7 @@ Running Tests (KUnit Wrapper)
If everything worked correctly, you should see the following:
-.. code-block::
+.. code-block:: none
Generating .config ...
Building KUnit Kernel ...