On Thu, Oct 17, 2019 at 5:51 AM Theodore Y. Ts'o <
ty...@mit.edu> wrote:
>
> On Wed, Oct 16, 2019 at 02:04:35PM -0700, Brendan Higgins wrote:
> > > > Should we maybe drop `--build_dir` in favor of `O`?
> > >
> > > Yes, preferably be consistent with the rest of the kernel makefiles.
> >
> > Alright, probably a good idea to make this change fairly soon then
> > before we have to worry about backwards compatibility and such.
>
> I'm not sure how this would work; so something like:
>
> .../kunit.py run O=/build_dir
Seems reasonable to me.
> Should other flags we can pass in via the makefile processing, such as
> V=1, etc., also work? What other things can we pass in via after the
> "run" command?
Hmmm...that's a good point. I don't know about V; probably need to
improve how kunit_tool displays build information for that to be
useful. I don't think that W is likely to be useful since I think that
is semantically a different operation than just running KUnit tests.
Probably don't want to forward ARCH, or CROSS_COMPILE or any of those.
Supporting some of these[1] seems useful.
> And if we're going to go this far, maybe we should make "make kunit"
> run tools/testing/kunit/kunit.py?
That seems reasonable. I was holding off on that initially because I
thought it might be a bridge too far in terms of putting KUnit in a
highly visible place. However, in hindsight, I think we crossed that
bridge a long time ago with putting tests is very visible places. So
yeah, now is probably a good time to do that.
> Some minor other nits if you're going to be making changes to
> kunit.py's CLI parsing:
>
> 1) It would be nice if there was a help command so that "kunit.py
> help" does what kunit.py -h does.
Seems reasonable.
> 2) The top-level help message should indicate that "kunit.py run"
> takes various optional arguments and the way to find them is
> "kunit.py run -h". This was *not* obvious, and the way I figured
> out there was even --build_dir option was via purusing the source
> code. (It wasn't in the documentation that I could find.)
Also reasonable.
> 3) And maybe then "kunit.py help run" should display the help message
> for "kunit.py urn". This would make it consistent with other tools
> that some of us might be familiar with (e.g., gcloud, gsutil, etc.)
That's reasonable, but also a little harder. At that point, I think we
might need to write our own flag library to support all this. So, I
will put this as a TODO, but we probably won't get to it for a while.
> Of course, if the front entry for kunit starts being "make kunit" as
> opposed to ./tools/testing/kunit/kunit.py, then we really need to
> figure out how to pass in the equivalent of --timeout. (Maybe
Yeah, that's true. We should probably also by default set --timeout to
a reasonable default instead of infinite.
> --raw_output is enabled if we run make kunit V=1?). And of course,
Hmmm...that seems like a good idea.
> all of this would need to be documented.
Yeah, we very much need to improve our documentation, especially for
the kunit_tool. That is very high on our TODO list.
[1]
https://www.gnu.org/software/make/manual/html_node/Options-Summary.html