On Sun, Aug 11, 2019 at 11:33 AM Richard Haines <richard_c_haines@xxxxxxxxxxxxxx> wrote: > On Fri, 2019-08-09 at 17:55 +0100, Richard Haines wrote: > > On Fri, 2019-08-09 at 11:22 -0400, Paul Moore wrote: > > > On Thu, Aug 1, 2019 at 7:12 AM Richard Haines > > > <richard_c_haines@xxxxxxxxxxxxxx> wrote: > > > > This adds basic BPF tests for map and prog functions. > > > > > > > > The check-syntax script has been modified to exclude files listed > > > > in tools/chk_c_exclude. This is because of macros in bpf_common.c > > > > that get horribly reformatted by check-syntax. > > > > > > > > Signed-off-by: Richard Haines <richard_c_haines@xxxxxxxxxxxxxx> > > > > --- > > > > V2 Change - Split BPF code into bpf_common.c for others to use. > > > > > > > > README.md | 4 +- > > > > defconfig | 5 +++ > > > > policy/Makefile | 4 ++ > > > > policy/test_bpf.te | 77 ++++++++++++++++++++++++++++++++ > > > > tests/Makefile | 4 ++ > > > > tests/bpf/.gitignore | 2 + > > > > tests/bpf/Makefile | 12 +++++ > > > > tests/bpf/bpf_common.c | 99 > > > > ++++++++++++++++++++++++++++++++++++++++++ > > > > tests/bpf/bpf_test.c | 83 +++++++++++++++++++++++++++++++++++ > > > > tests/bpf/test | 57 ++++++++++++++++++++++++ > > > > tools/check-syntax | 2 +- > > > > tools/chk_c_exclude | 1 + > > > > 12 files changed, 348 insertions(+), 2 deletions(-) > > > > create mode 100644 policy/test_bpf.te > > > > create mode 100644 tests/bpf/.gitignore > > > > create mode 100644 tests/bpf/Makefile > > > > create mode 100644 tests/bpf/bpf_common.c > > > > create mode 100644 tests/bpf/bpf_test.c > > > > create mode 100755 tests/bpf/test > > > > create mode 100644 tools/chk_c_exclude > > > > > > ... > > > > > > > diff --git a/tools/check-syntax b/tools/check-syntax > > > > index 7f9768d..5b7c211 100755 > > > > --- a/tools/check-syntax > > > > +++ b/tools/check-syntax > > > > @@ -11,7 +11,7 @@ > > > > # > > > > > > > > CHK_C_LIST="$(find tests/ -name "*.c") $(find tests/ -name > > > > "*.h")" > > > > -CHK_C_EXCLUDE="" > > > > +CHK_C_EXCLUDE="$(cat tools/chk_c_exclude)" > > > > > > > > CHK_PERL_LIST="$(find tests/ -name "*.pl") $(find tests/ -name > > > > "test")" > > > > CHK_PERL_EXCLUDE="" > > > > diff --git a/tools/chk_c_exclude b/tools/chk_c_exclude > > > > new file mode 100644 > > > > index 0000000..20facbf > > > > --- /dev/null > > > > +++ b/tools/chk_c_exclude > > > > @@ -0,0 +1 @@ > > > > +tests/bpf/bpf_common.c > > > > > > Why are we excluding bpf_common.c from the style checks? > > > > Because check-syntax reformats a macro and it is not neat and tidy > > said Mr Neat to Mr Tidy I was in the middle of writing a response that pushed the Mr Neat and Mr Tidy joke to the straining point and I decided I couldn't take it anymore ... and if I can endure my own response, how could I expect anyone else to do it? ;) Regardless, the problem is that style is horribly subjective, and I really hate getting bogged down in those sorts of arguments (witness the recent on-list discussion of comment styles) so I added the "check-syntax" tool to settle those arguments. You run the code through the tool, and that's your answer. Period. (I suppose it might be "full stop" for Mr Neat and/or Mr Tidy.) Does that mean I always like the output of the tool? No, sometimes it makes a mess of things[1], but I'd rather have that then on-list arguments about style. [1] In the past I've fixed the really bad check-syntax output by tweaking the input code ever so slightly. > Just a thought - The patches run the fdreceive with bpf support before > the core bpf test. I could resubmit the patches to test core bpf first > ?? (and allow Mr Messy to format the macros in bpf_common.c) That gets to another thing that bothers me slightly ... I didn't mention it earlier because of the test failure, the style issue, and lack of time, but I'm not sure what I feel about splitting the BPF tests up like that. Duplicating code isn't a great solution either. Thoughts? -- paul moore www.paul-moore.com