[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240110223332.GA1797182@pevik>
Date: Wed, 10 Jan 2024 23:33:32 +0100
From: Petr Vorel <pvorel@...e.cz>
To: Rob Landley <rob@...dley.net>
Cc: Cyril Hrubis <chrubis@...e.cz>,
Geert Uytterhoeven <geert@...ux-m68k.org>, ltp@...ts.linux.it,
Li Wang <liwang@...hat.com>,
Andrea Cervesato <andrea.cervesato@...e.com>,
Greg Ungerer <gerg@...ux-m68k.org>,
Jonathan Corbet <corbet@....net>,
Randy Dunlap <rdunlap@...radead.org>,
John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>,
Christophe Lyon <christophe.lyon@...aro.org>,
linux-m68k@...ts.linux-m68k.org, linux-kernel@...r.kernel.org,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
linux-riscv <linux-riscv@...ts.infradead.org>,
Linux-sh list <linux-sh@...r.kernel.org>,
automated-testing@...ts.yoctoproject.org, buildroot@...ldroot.org,
Niklas Cassel <niklas.cassel@....com>
Subject: Re: Call for nommu LTP maintainer [was: Re: [PATCH 00/36] Remove
UCLINUX from LTP]
> 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
Powered by blists - more mailing lists