On 6/12/19 3:12 PM, Daniel Díaz wrote:
Hello!
On Wed, 12 Jun 2019 at 14:32, shuah shuah@kernel.org wrote:
On 6/12/19 12:29 PM, Dmitry Vyukov wrote:
[...]
- You suggested to install a bunch of packages. That helped to some
degree. Is there a way to figure out what packages one needs to install to build the tests other than asking you?
I have to go through discovery at times when new tests get added. I consider this a part of being a open source developer figuring out dependencies for compiling and running. I don't have a magic answer for you and there is no way to make sure all dependencies will be documented.
This is something we, as users of Kselftests, would very much like to see improved. We also go by trial-and-error finding out what is missing, but keeping up with the new tests or subsystems is often difficult and tend to remain broken (in usage) for some time, until we have the resources to look into that and fix it. The config fragments is an excellent example of how the test developers and the framework complement each other to make things work. Even documenting dependencies would go a long way, as a starting point, but I do believe that the test writers should do that and not the users go figure out what all is needed to run their tests.
Maybe a precheck() on the tests in order to ensure that the needed binaries are around?
Right. Take a look at x86 test Makefile - it handles that. Tests can handle these in their Makefile - not at run-time.
I will be happy to take patches similar to the checks x86 does. These shouldn't fail the kselftest build and print out dependencies.
This way users can go install them.
For what it's worth, this is the list of run-time dependencies package for OpenEmbedded: bash bc ethtool fuse-utils iproute2 iproute2-tc iputils-ping iputils-ping6 ncurses perl sudo python3-argparse python3-datetime python3-json python3-pprint python3-subprocess util-linux-uuidgen cpupower glibc-utils. We are probably missing a few.
Sure see above.
thanks, -- Shuah