Add missing generated file to .gitignore.
Signed-off-by: Shuah Khan <shuahkh(a)osg.samsung.com>
---
tools/testing/selftests/vm/.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/vm/.gitignore b/tools/testing/selftests/vm/.gitignore
index 1ca2ee4d15b9..63c94d776e89 100644
--- a/tools/testing/selftests/vm/.gitignore
+++ b/tools/testing/selftests/vm/.gitignore
@@ -10,3 +10,4 @@ userfaultfd
mlock-intersect-test
mlock-random-test
virtual_address_range
+gup_benchmark
--
2.14.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
One of the nice things about network namespaces is that they allow one
to easily create and test complex environments.
Unfortunately, these namespaces can not be used with actual switching
ASICs, as their ports can not be migrated to other network namespaces
(NETIF_F_NETNS_LOCAL) and most of them probably do not support the
L1-separation provided by namespaces.
However, a similar kind of flexibility can be achieved by using VRFs and
by looping the switch ports together. For example:
br0
+
vrf-h1 | vrf-h2
+ +---+----+ +
| | | |
192.0.2.1/24 + + + + 192.0.2.2/24
swp1 swp2 swp3 swp4
+ + + +
| | | |
+--------+ +--------+
The VRFs act as lightweight namespaces representing hosts connected to
the switch.
This approach for testing switch ASICs has several advantages over the
traditional method that requires multiple physical machines, to name a
few:
1. Only the device under test (DUT) is being tested without noise from
other system.
2. Ability to easily provision complex topologies. Testing bridging
between 4-ports LAGs or 8-way ECMP requires many physical links that are
not always available. With the VRF-based approach one merely needs to
loopback more ports.
These tests are written with switch ASICs in mind, but they can be run
on any Linux box using veth pairs to emulate physical loopbacks.
Feedback is is welcome. Particularly regarding the best location for
these tests (e.g., current location, tools/testing/selftests/net).
Thanks.
Ido Schimmel (7):
selftests: forwarding: Add initial testing framework
selftests: forwarding: Add a test for FDB learning
selftests: forwarding: Add a test for flooded traffic
selftests: forwarding: Add a test for basic IPv4 and IPv6 routing
selftests: forwarding: Create test topology for multipath routing
selftests: forwarding: Test IPv4 weighted nexthops
selftests: forwarding: Test IPv6 weighted nexthops
Jiri Pirko (5):
selftests: forwarding: Add tc offload check helper
selftests: forwarding: Add MAC get helper
selftests: forwarding: Allow to get netdev interfaces names from
commandline
selftests: forwarding: Allow to pass commandline options
selftests: forwarding: Introduce tc flower matching tests
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/forwarding/.gitignore | 1 +
tools/testing/selftests/forwarding/Makefile | 6 +
tools/testing/selftests/forwarding/README | 56 +++
tools/testing/selftests/forwarding/bridge.sh | 117 +++++++
tools/testing/selftests/forwarding/config | 12 +
.../selftests/forwarding/forwarding.config.sample | 19 +
tools/testing/selftests/forwarding/lib.sh | 383 +++++++++++++++++++++
tools/testing/selftests/forwarding/router.sh | 131 +++++++
.../selftests/forwarding/router_multipath.sh | 321 +++++++++++++++++
tools/testing/selftests/forwarding/tc_flower.sh | 261 ++++++++++++++
11 files changed, 1308 insertions(+)
create mode 100644 tools/testing/selftests/forwarding/.gitignore
create mode 100644 tools/testing/selftests/forwarding/Makefile
create mode 100644 tools/testing/selftests/forwarding/README
create mode 100755 tools/testing/selftests/forwarding/bridge.sh
create mode 100644 tools/testing/selftests/forwarding/config
create mode 100644 tools/testing/selftests/forwarding/forwarding.config.sample
create mode 100644 tools/testing/selftests/forwarding/lib.sh
create mode 100755 tools/testing/selftests/forwarding/router.sh
create mode 100755 tools/testing/selftests/forwarding/router_multipath.sh
create mode 100755 tools/testing/selftests/forwarding/tc_flower.sh
--
2.14.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Commit fbcab13d2e25 ("selftests: silence test output by default")
changed the run_tests logic as well as the logic to generate
run_kselftests.sh to redirect test output away from the console.
As discussed on the list and at kernel summit, this is not a desirable
default as it means in order to debug a failure the console output is
not sufficient, you also need access to the test machine to get the
full test logs. Additionally it's impolite to write directly to
/tmp/$TEST_NAME on shared systems.
The change to the run_tests logic was reverted in commit
a323335e62cc ("selftests: lib.mk: print individual test results to
console by default"), and instead a summary option was added so that
quiet output could be requested.
However the change to run_kselftests.sh was left as-is.
This commit applies the same logic to the run_kselftests.sh code, ie.
the script now takes a "--summary" option which suppresses the output,
but shows all output by default.
Additionally instead of writing to /tmp/$TEST_NAME the output is
redirected to the directory where the generated test script is
located.
Fixes: fbcab13d2e25 ("selftests: silence test output by default")
Signed-off-by: Michael Ellerman <mpe(a)ellerman.id.au>
---
tools/testing/selftests/Makefile | 9 ++++++++-
tools/testing/selftests/lib.mk | 2 +-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
index eaf599dc2137..7442dfb73b7f 100644
--- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile
@@ -116,8 +116,15 @@ ifdef INSTALL_PATH
@# Ask all targets to emit their test scripts
echo "#!/bin/sh" > $(ALL_SCRIPT)
- echo "cd \$$(dirname \$$0)" >> $(ALL_SCRIPT)
+ echo "BASE_DIR=\$$(realpath \$$(dirname \$$0))" >> $(ALL_SCRIPT)
+ echo "cd \$$BASE_DIR" >> $(ALL_SCRIPT)
echo "ROOT=\$$PWD" >> $(ALL_SCRIPT)
+ echo "if [ \"\$$1\" = \"--summary\" ]; then" >> $(ALL_SCRIPT)
+ echo " OUTPUT=\$$BASE_DIR/output.log" >> $(ALL_SCRIPT)
+ echo " cat /dev/null > \$$OUTPUT" >> $(ALL_SCRIPT)
+ echo "else" >> $(ALL_SCRIPT)
+ echo " OUTPUT=/dev/stdout" >> $(ALL_SCRIPT)
+ echo "fi" >> $(ALL_SCRIPT)
for TARGET in $(TARGETS); do \
BUILD_TARGET=$$BUILD/$$TARGET; \
diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 5bef05d6ba39..7de482a0519d 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -77,7 +77,7 @@ endif
define EMIT_TESTS
@for TEST in $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) $(TEST_PROGS); do \
BASENAME_TEST=`basename $$TEST`; \
- echo "(./$$BASENAME_TEST > /tmp/$$BASENAME_TEST 2>&1 && echo \"selftests: $$BASENAME_TEST [PASS]\") || echo \"selftests: $$BASENAME_TEST [FAIL]\""; \
+ echo "(./$$BASENAME_TEST >> \$$OUTPUT 2>&1 && echo \"selftests: $$BASENAME_TEST [PASS]\") || echo \"selftests: $$BASENAME_TEST [FAIL]\""; \
done;
endef
--
2.14.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html