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>
