mbox series

[nft,00/14] tests/shell: fix tests to skip on lacking feature support

Message ID 20230918102947.2125883-1-thaller@redhat.com
Headers show
Series tests/shell: fix tests to skip on lacking feature support | expand

Message

Thomas Haller Sept. 18, 2023, 10:28 a.m. UTC
Most of the patches are from Florian.

With this, a test-run on Fedora 38 and CentOS-Stream-9 should pass (some
tests will be skipped).

Florian Westphal (12):
  tests/shell: add and use chain binding feature probe
  tests/shell: skip netdev_chain_0 if kernel requires netdev device
  tests/shell: skip map query if kernel lacks support
  tests/shell: skip inner matching tests if unsupported
  tests/shell: skip bitshift tests if kernel lacks support
  tests/shell: skip some tests if kernel lacks netdev egress support
  tests/shell: skip inet ingress tests if kernel lacks support
  tests/shell: skip destroy tests if kernel lacks support
  tests/shell: skip catchall tests if kernel lacks support
  tests/shell: skip test cases involving osf match if kernel lacks
    support
  tests/shell: skip test cases if ct expectation and/or timeout lacks
    support
  tests/shell: skip reset tests if kernel lacks support

Thomas Haller (2):
  tests/shell: implement NFT_TEST_HAVE_json feature detection as script
  tests/shell: check diff in "maps/typeof_maps_0" and
    "sets/typeof_sets_0" test

 tests/shell/features/bitshift.nft             |   7 +
 tests/shell/features/catchall_element.nft     |   8 ++
 tests/shell/features/chain_binding.nft        |   7 +
 tests/shell/features/ctexpect.nft             |  10 ++
 tests/shell/features/cttimeout.nft            |   8 ++
 tests/shell/features/destroy.nft              |   3 +
 tests/shell/features/inet_ingress.nft         |   7 +
 tests/shell/features/inner_matching.nft       |   7 +
 tests/shell/features/json.sh                  |   6 +
 tests/shell/features/map_lookup.nft           |  11 ++
 .../features/netdev_chain_without_device.nft  |   7 +
 tests/shell/features/netdev_egress.nft        |   7 +
 tests/shell/features/osf.nft                  |   7 +
 tests/shell/features/reset_rule.sh            |   8 ++
 tests/shell/features/reset_set.sh             |  10 ++
 tests/shell/run-tests.sh                      |  39 +++---
 .../shell/testcases/bitwise/0040mark_binop_0  |   2 +
 .../shell/testcases/bitwise/0040mark_binop_1  |   2 +
 .../shell/testcases/bitwise/0040mark_binop_2  |   2 +
 .../shell/testcases/bitwise/0040mark_binop_3  |   2 +
 .../shell/testcases/bitwise/0040mark_binop_4  |   2 +
 .../shell/testcases/bitwise/0040mark_binop_5  |   2 +
 .../shell/testcases/bitwise/0040mark_binop_6  |   2 +
 .../shell/testcases/bitwise/0040mark_binop_7  |   2 +
 .../shell/testcases/bitwise/0040mark_binop_8  |   2 +
 .../shell/testcases/bitwise/0040mark_binop_9  |   2 +
 .../testcases/cache/0010_implicit_chain_0     |   2 +
 tests/shell/testcases/chains/0021prio_0       |   7 +-
 .../testcases/chains/0041chain_binding_0      |   5 +
 .../testcases/chains/0042chain_variable_0     |   5 +
 .../testcases/chains/0043chain_ingress_0      |   9 +-
 .../testcases/chains/0044chain_destroy_0      |   2 +
 .../chains/dumps/netdev_chain_autoremove.nft  |   0
 tests/shell/testcases/chains/netdev_chain_0   |   2 +
 .../testcases/chains/netdev_chain_autoremove  |   9 ++
 tests/shell/testcases/flowtable/0015destroy_0 |   2 +
 tests/shell/testcases/listing/0013objects_0   |  50 ++-----
 .../testcases/listing/dumps/0013objects_0.nft |   2 -
 tests/shell/testcases/maps/0011vmap_0         |  10 +-
 tests/shell/testcases/maps/0014destroy_0      |   2 +
 .../shell/testcases/maps/0017_map_variable_0  |  13 +-
 .../maps/map_catchall_double_deactivate       |   2 +
 tests/shell/testcases/maps/typeof_maps_0      |  66 ++++++++-
 .../testcases/maps/typeof_maps_add_delete     |  35 +++--
 .../testcases/nft-f/0017ct_timeout_obj_0      |   2 +
 .../testcases/rule_management/0011reset_0     |   2 +
 .../testcases/rule_management/0012destroy_0   |   2 +
 tests/shell/testcases/sets/0063set_catchall_0 |   2 +
 tests/shell/testcases/sets/0064map_catchall_0 |   2 +
 tests/shell/testcases/sets/0072destroy_0      |   2 +
 tests/shell/testcases/sets/inner_0            |   2 +
 tests/shell/testcases/sets/reset_command_0    |   2 +
 tests/shell/testcases/sets/typeof_sets_0      | 130 ++++++++++++++++--
 tests/shell/testcases/transactions/30s-stress |  55 +++++++-
 54 files changed, 502 insertions(+), 94 deletions(-)
 create mode 100644 tests/shell/features/bitshift.nft
 create mode 100644 tests/shell/features/catchall_element.nft
 create mode 100644 tests/shell/features/chain_binding.nft
 create mode 100644 tests/shell/features/ctexpect.nft
 create mode 100644 tests/shell/features/cttimeout.nft
 create mode 100644 tests/shell/features/destroy.nft
 create mode 100644 tests/shell/features/inet_ingress.nft
 create mode 100644 tests/shell/features/inner_matching.nft
 create mode 100755 tests/shell/features/json.sh
 create mode 100644 tests/shell/features/map_lookup.nft
 create mode 100644 tests/shell/features/netdev_chain_without_device.nft
 create mode 100644 tests/shell/features/netdev_egress.nft
 create mode 100644 tests/shell/features/osf.nft
 create mode 100755 tests/shell/features/reset_rule.sh
 create mode 100755 tests/shell/features/reset_set.sh
 create mode 100644 tests/shell/testcases/chains/dumps/netdev_chain_autoremove.nft
 create mode 100755 tests/shell/testcases/chains/netdev_chain_autoremove