Sorry for the delayed reply. I was on vacation.
On Fri, Oct 11, 2019 at 5:16 AM Theodore Ts'o theodore.tso@gmail.com wrote:
On Friday, October 11, 2019 at 7:19:49 AM UTC-4, Brendan Higgins wrote:
Should we maybe drop `--build_dir` in favor of `O`?
How about if "make kunit" results in "./tools/testing/kunit/kunit.py run --build_dir=/.kunit --allconfig"
... where --allconfig automatically creates kunitconfig but in includes all of the CONFIG options which depends on CONFIG_KUNIT, so that all unit tests are run? That way, we make it super easy for people to run the unit tests. Since most users are used using make targets, this I bet will significantly increase the number of developers using kunit, because it will be super-duper convenient for them.
Also, it would be nice if kunit.py first looks for kunitconfig in build_dir, and then in the top-level of the kernel sources, and we put .kunit in .gitignore. That will make "git status" look nice and clean.
What do folks think?
Having something like --allconfig is the ultimate goal. I had been talking to Luis and Shuah about this for some time.
I think the best way to make this work would be for kunit_tool to be able to detect all the tests with CONFIG_KUNIT as you suggest (or something like it). Luis actually already suggested it; however, we identified that this would likely not be as easy as it sounds as it is possible to have mutually exclusive CONFIGs. Luis pointed out that some researchers are currently working on a sat solver for Kconfig that we could use to potentially address this problem. Nevertheless, a complete solution in this regard is actually somewhat difficult.
Shuah's solution was just to use CONFIG fragments in the meantime similar to what kselftest already does. I was leaning in that direction since kselftest already does that and we know that it works.
Shuah, Luis, does this still match what you have been thinking?