From: Phil Sutter <phil@nwl.cc>
To: Jeremy Sowden <jeremy@azazel.net>
Cc: Netfilter Devel <netfilter-devel@vger.kernel.org>
Subject: Re: [iptables PATCH 2/4] tests: add `NOMATCH` test result
Date: Tue, 22 Feb 2022 11:09:37 +0100 [thread overview]
Message-ID: <YhS2YfX3LduDhIFS@orbyte.nwl.cc> (raw)
In-Reply-To: <YhI9xcXbHhjkc+ya@ulthar.dreamlands>
Hi Jeremy,
On Sun, Feb 20, 2022 at 01:10:29PM +0000, Jeremy Sowden wrote:
> On 2022-02-14, at 11:01:13 +0100, Phil Sutter wrote:
> > On Sat, Feb 12, 2022 at 04:58:30PM +0000, Jeremy Sowden wrote:
> > > Currently, there are two supported test results: `OK` and `FAIL`.
> > > It is expected that either the iptables command fails, or it
> > > succeeds and dumping the rule has the correct output. However, it
> > > is possible that the command may succeed but the output may not be
> > > correct. Add a `NOMATCH` result to cover this outcome.
> >
> > Hmm. Wouldn't it make sense to extend the scope of LEGACY/NFT keywords
> > to output checks as well instead of introducing a new one? I think we
> > could cover expected output that way by duplicating the test case with
> > different expected output instead of marking it as unspecific "may
> > produce garbage".
>
> Something like the following? One reason why I went with the `NOMATCH`
> result is that in the two divergent test-cases, there is no -nft output
> to match. We can make that work by just using the empty string as the
> alternative output since that will match anything. I don't think it's
> ideal, but it's simpler than overhauling the matching code for what is a
> rare corner case.
Thanks for compiling the patch. What I had in mind was to merge result
checks of failing rule with output mismatch, but I realize this would
likely turn into a mess.
[...]
> In the case of tests which have no output to match, we leave the last
> field empty:
>
> -j EXAMPLE-TARGET --example-option;=;OK;LEGACY;
A non-empty rule leading to empty output is a bug, IMHO.
[...]
> --- a/extensions/libxt_NFLOG.t
> +++ b/extensions/libxt_NFLOG.t
> @@ -5,8 +5,8 @@
> -j NFLOG --nflog-group 0;-j NFLOG;OK
> # `--nflog-range` is broken and only supported by xtables-legacy.
> # It has been superseded by `--nflog--group`.
> --j NFLOG --nflog-range 1;=;OK;LEGACY;NOMATCH
> --j NFLOG --nflog-range 4294967295;=;OK;LEGACY;NOMATCH
> +-j NFLOG --nflog-range 1;=;OK;LEGACY;
> +-j NFLOG --nflog-range 4294967295;=;OK;LEGACY;
The crucial detail here is that an expected output of "-j NFLOG" is
trivial and str::find() won't complain about extra output.
Given that we're discussing corner cases and what I had in mind has its
own downsides, I guess the status quo is fine at least for now. Sorry
for the fuss!
Cheers, Phil
next prev parent reply other threads:[~2022-02-22 10:10 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-12 16:58 [iptables PATCH 0/4] Re-enable NFLOG tests Jeremy Sowden
2022-02-12 16:58 ` [iptables PATCH 1/4] tests: iptables-test: rename variable Jeremy Sowden
2022-02-12 16:58 ` [iptables PATCH 2/4] tests: add `NOMATCH` test result Jeremy Sowden
2022-02-14 10:01 ` Phil Sutter
2022-02-20 13:10 ` Jeremy Sowden
2022-02-22 10:09 ` Phil Sutter [this message]
2022-02-12 16:58 ` [iptables PATCH 3/4] tests: support explicit variant " Jeremy Sowden
2022-02-12 16:58 ` [iptables PATCH 4/4] tests: NFLOG: enable `--nflog-range` tests Jeremy Sowden
2022-02-13 21:28 ` [iptables PATCH 0/4] Re-enable NFLOG tests Florian Westphal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YhS2YfX3LduDhIFS@orbyte.nwl.cc \
--to=phil@nwl.cc \
--cc=jeremy@azazel.net \
--cc=netfilter-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.