Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Jul 2018 11:23:33 -0600
From:      Alan Somers <asomers@freebsd.org>
To:        "freebsd-testing@freebsd.org" <freebsd-testing@freebsd.org>
Subject:   Skipping tests that are unimplemented in 32-bit emulation
Message-ID:  <CAOtMX2hOtVd=_hGHG=8gAjMLq8cBbra5=JXtPd3dsgR6quRWRQ@mail.gmail.com>

index | next in thread | raw e-mail

I recently tried running the i386 test suite in a chroot on an amd64
system.  162 tests failed, and 33 were broken.  Some of the failures were
due to system calls that haven't been implemented in 32-bit emulation.
setfib(2) is an example.  I think it's unlikely that anybody will ever need
32-bit emulation for setfib(2), so perhaps we should just skip the test?
What's the best way to do that?  I can come up with two ways:

1) At runtime, check the hw.machine sysctl and see if it matches some
compile time preprocessor constant.  I don't know what constant to use,
though.  Checking __amd64__ would only work for i386 binaries on amd64
kernels, and not something else like mips binaries on mips64 kernels (I
don't know if we support that, but I don't want to rule it out).

2) At buildtime, put an "allowed_architectures=i386" metadata property into
the Kyuafile for that test program.  This would require support in
/usr/share/mk/bsd.test.mk.  It would also require patching Kyua itself,
because currently "Kyua config" returns the architecture for which it was
built, not the one on which it's running.

Thoughts?


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2hOtVd=_hGHG=8gAjMLq8cBbra5=JXtPd3dsgR6quRWRQ>