Re: Call for nommu LTP maintainer [was: Re: [PATCH 00/36] Remove UCLINUX from LTP]
Petr Vorel <[email protected]>
| Newsgroups | gmane.linux.ports.m68k,gmane.linux.ltp,gmane.linux.kernel,gmane.linux.ports.arm.kernel,gmane.linux.ports.riscv,gmane.linux.ports.sh.devel |
|---|---|
| Message-ID | <20240110223332.GA1797182@pevik> |
> On 1/10/24 07:33, Petr Vorel wrote: > >> I'm a bit weird in that I try to get CURRENT stuff to work on nommu, and a lot > >> of people have been happy to consume my work, but getting any of them to post > >> directly to linux-kernel is like pulling teeth. > > Interesting, thanks for sharing this. BTW I'm not saying anybody is using nommu, > > but I wonder if anybody really test it with LTP. And if yes, I wonder why we > > don't have reports about tests broken in new API. > I don't expect a lot of nommu users are aware you ever _could_ run LTP on nommu. > But I'd like to get nommu more regularly supported. You _should_ be able to > build a musl-linux userspace with busybox or toybox and be able to build a > recognizable system (even an alpine-alike) which could then get the basic > plumbing regression tested on qemu even without access to nommu hardware. > >> > But as I said, if anybody from nommu decides to maintain it in LTP, I'll try to > >> > support him in my free time (review patches, give advices). And if nobody > >> > stands, this patchset which removes the support in the old API will be merged > >> > after next LTP release (in the end of January). > >> What does the API migration do? Is there a page on it ala OABI vs EABI in arm or > >> something? > > New C API is documented at our wiki: the API for using in the tests [1] > > and the library itself [2]. (We also have shell API, but we can ignore it for > > nommu.) > I'm writing a bash-compatible shell, which (thanks to Elliott forwarding > questions) has involved surprisingly long threads with the bash maintainer about > weird corner cases neither the man page nor my testing made clear: > http://lists.landley.net/pipermail/toybox-landley.net/2023-July/029631.html > (Alas I try NOT to involve him because when I bring stuff up he keeps FIXING > BASH which from my point of view just makes it a moving target...) > Anyway, running the shell API on nommu doesn't seem out of the question, but > probably not any time soon. (The fact the shell isn't finished yet is one of the > big REASONS I haven't got enough time to take on LTP. That and I haven't started > writing "awk" and "make" yet". And I need to cycle back to > https://landley.net/notes-2023.html#12-10-2023 . And after that debian, ala > https://peertube.debian.social/w/chzkKrMvEczG7qQyjbMKPr and > https://peertube.debian.social/w/45XroN9CnbYLNLKQH3GD9F . And follow up on > https://lists.gnu.org/archive/html/coreutils/2023-08/msg00009.html . And...) > > All files in lib/ directory which include tst_test.h are part of new C API. Main > > file is lib/tst_test.c. > safe_fork(), safe_clone(), fork_testrun()... > > LTP tests, which has been rewritten to new API include > > tst_test.h, they are in testcases/ directory. Library has it's own tests (for > > testing regression in in lib/newlib_tests/*.c. > Library meaning... libc? Or does LTP have a library? Yes, LTP has a library (lib/libltp.a). That's what I meant here and in all my text. So far I did not mention anything libc specific. > > The reason why Cyril wrote in 2016 new C API was that the old API was buggy > > (tests randomly fails). Tests which are still using the old API (there is > > ongoing rewrite) include test.h. The old API is not much documented. > > Feel free to ask any more question. > My standard questions are "what does success look like" and "how do I reproduce > the problem". > For the first: if there previously was nommu support in LTP, what's the last > version that's known to work? Is there an existing build/test setup that can be > reproduced? I have no idea whether it worked. Best would be to ask Mike Frysinger (the author of m4/ltp-nommu-linux.m4). The code was added 14 years ago, even before all of the current maintainers were involved. > For the second... If I try to run LTP on sh2eb (my current nommu test board) > with the current LTP... do I get a build break? Additional test failures at > runtime? You talk about "removing nommu support", but... what's the current > status? (A subset of tests still use the old api...?) Yes, subset of the tests which use the old API (git grep UCLINUX). > Yes I need to read https://github.com/linux-test-project/ltp/wiki/C-Test-API but > I also need to know how to build LTP from source. I'm looking at the README's > list of "autoconf, automake, m4, pkgconf / pkg-config" and wincing > significantly. (What does gnu/autoconf DO here? Disable tests? I never > understand why anybody uses that giant hairball of complexity. Half of cross > compiling is figuring out how to lie to autoconf, and my normal workaround for > that is to bootstrap a target system and build natively, but while I've gotten > gcc to run natively on nommu systems, I never _tried_ gnu/autoconf. > Bootstrapping some subset of LFS on a nommu system so it has the dependencies > LFS needs to natively build seems like the long way 'round... Well, one day we might migrate to use something else (meson?), but until then autoconf + m4 + pkgconf is used (instead of automake there is LTP custom system). This was written in 2009 and nobody plans to change it (well, Andrea played with meson [1] [2]). But we got far away from the original topic :). Kind regards, Petr [1] https://github.com/acerv/ltp-core [2] https://github.com/acerv/ltp-testcases > (I am not the right guy for "make it work the easy way". I am the guy who will > step on every land mine between here and there. I code by debugging an empty > screen. If I don't start from "known working" setup... it would take a while.) > Rob