net/can/j1939 has had no in-tree selftests. This series adds a kselftest suite for the J1939 socket layer and the TP/ETP transport, run on vcan with a CAN_RAW socket as an independent on-the-wire peer.
The whole suite runs on vcan under QEMU and passes. Two limits span the series and are left for follow-up: the transport timers are checked only with wide windows, not tight bounds, and the ETP abort/timeout edge cases are not covered yet (the abort/timeout tests are TP only). Oleksij Rempel (8): selftests: can: add J1939 test helper header and library selftests: can: add J1939 base functional tests selftests: can: add J1939 socket option and metadata tests selftests: can: add J1939 addressing and concurrency tests selftests: can: add J1939 wire-format tests against CAN_RAW selftests: can: add J1939 TP/ETP multi-frame tests against CAN_RAW selftests: can: cover J1939 transport abort and timeout paths selftests: can: check SO_J1939_PROMISC receive effect tools/testing/selftests/net/can/.gitignore | 5 + tools/testing/selftests/net/can/Makefile | 20 +- tools/testing/selftests/net/can/config | 2 + tools/testing/selftests/net/can/j1939_lib.sh | 74 ++ tools/testing/selftests/net/can/j1939_tests.h | 460 +++++++++++++ .../selftests/net/can/test_j1939_addr.c | 336 +++++++++ .../selftests/net/can/test_j1939_addr.sh | 5 + .../selftests/net/can/test_j1939_base.c | 160 +++++ .../selftests/net/can/test_j1939_base.sh | 5 + .../selftests/net/can/test_j1939_multi.c | 638 ++++++++++++++++++ .../selftests/net/can/test_j1939_multi.sh | 5 + .../selftests/net/can/test_j1939_opts.c | 347 ++++++++++ .../selftests/net/can/test_j1939_opts.sh | 5 + .../selftests/net/can/test_j1939_wire.c | 170 +++++ .../selftests/net/can/test_j1939_wire.sh | 5 + 15 files changed, 2235 insertions(+), 2 deletions(-) create mode 100644 tools/testing/selftests/net/can/j1939_lib.sh create mode 100644 tools/testing/selftests/net/can/j1939_tests.h create mode 100644 tools/testing/selftests/net/can/test_j1939_addr.c create mode 100755 tools/testing/selftests/net/can/test_j1939_addr.sh create mode 100644 tools/testing/selftests/net/can/test_j1939_base.c create mode 100755 tools/testing/selftests/net/can/test_j1939_base.sh create mode 100644 tools/testing/selftests/net/can/test_j1939_multi.c create mode 100755 tools/testing/selftests/net/can/test_j1939_multi.sh create mode 100644 tools/testing/selftests/net/can/test_j1939_opts.c create mode 100755 tools/testing/selftests/net/can/test_j1939_opts.sh create mode 100644 tools/testing/selftests/net/can/test_j1939_wire.c create mode 100755 tools/testing/selftests/net/can/test_j1939_wire.sh -- 2.47.3

