Date: Sun, 10 Sep 2023 00:31:05 -0700 From: Mark Millard <marklmi@yahoo.com> To: Martin Matuska <mm@FreeBSD.org>, Alexander Motin <mav@FreeBSD.org>, Pawel Jakub Dawidek <pjd@freebsd.org>, Glen Barber <gjb@FreeBSD.org> Cc: Current FreeBSD <freebsd-current@freebsd.org>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org> Subject: Looks like the kyua zfs tests likely are not used on aarch64 or other contexts with unsigned char Message-ID: <96C2F8F3-D3F0-48FC-BEEC-E3C983BD680A@yahoo.com> References: <96C2F8F3-D3F0-48FC-BEEC-E3C983BD680A.ref@yahoo.com>
index | next in thread | previous in thread | raw e-mail
kyua tests that use the:
/usr/tests/sys/cddl/zfs/bin/mkfile
program like so (for example):
mkfile 500M /testpool.1861/bigfile.0
(which should be valid) end up with mkfile
instead reporting:
Standard error:
Usage: mkfile [-nv] <size>[e|p|t|g|m|k|b] <filename> ...
which prevent the kyua test involved from working.
Turns out this is from expecting char to be always
signed (so a -1 vs. 255 distinction, here in an
aarch64 context):
. . .
(gdb) list
179 /* Options. */
180 while ((ch = getopt(argc, argv, "nv")) != -1) {
181 switch (ch) {
182 case 'n':
183 nofill = 1;
184 break;
185 case 'v':
(gdb) print ch
$16 = 255 '\377'
(gdb) print/x -1
$17 = 0xffffffff
(gdb) print/x ch
$18 = 0xff
. . .
With the mix of unsigned and signed it ends up
being a 0xffu != 0xffffffffu test, which is
always true.
So the switch is reached as if a "-" prefix was
present (that is not). Then the "option" is classified
as invalid and the usage message is produced.
Apparently no one had noticed. That, in turn, suggests a
lack of inspected testing on aarch64, powerpc64,
powerpc64le, armv7, powerpc, and powerpcspe. That, in
turn, suggests that kyua test inspection for the likes
of aarch64 is not historically a part of the release
process for openzfs or for operating systems that include
openzfs.
===
Mark Millard
marklmi at yahoo.com
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?96C2F8F3-D3F0-48FC-BEEC-E3C983BD680A>
