]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Illumos regtest: add 'illumos' to os_test and turn off a few tests
authorPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 12 Apr 2025 16:27:06 +0000 (18:27 +0200)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 12 Apr 2025 16:27:06 +0000 (18:27 +0200)
The threadname tests fail on Illumos. Solaris has a syscall,
sys_lwp_name, which we intercept and record. Illumos doesn't
have that, with the pthread name functions looking ofr the name in /proc
That's not implemented in Valgrind so I'm turning those 2 tests off.

The other 3 are all based on none faultstatus. This test checks 4 things,
one of which is reading from a 32k mmap that is PRIVATE and READ but is
only backed by a 16k file. All other OSes generate a SIGBUS. Illumos
just reads 0 from the address.

gdbserver_tests/mcsignopass.vgtest
gdbserver_tests/mcsigpass.vgtest
memcheck/tests/threadname.vgtest
memcheck/tests/threadname_xml.vgtest
none/tests/faultstatus.vgtest
tests/os_test.c

index 73def5e6b7708150187a900f7fa9ac370b57b253..33347b71436762835d9dc09ee90332e4ab290627 100644 (file)
@@ -4,7 +4,7 @@
 #   faultstatus C code will report a failure for the signal not passed
 #      (i.e. SIGBUG, Test 3). Other tests will be successful, because signals
 #      are eventually passed.
-prereq: test -e gdb
+prereq: test -e gdb && ! ../tests/os_test illumos
 prog: ../none/tests/faultstatus
 vgopts: --tool=memcheck --vgdb=full --vex-iropt-register-updates=allregs-at-mem-access --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsignopass
 stderr_filter: filter_memcheck_monitor
index 20f786456d12f0954ff350725cda84da96087b5e..9f0d6c9958a3b275f89c860c19d494568d1c6782 100644 (file)
@@ -1,5 +1,5 @@
 # test the signal handling, when signals are passed to the Valgrind guest.
-prereq: test -e gdb
+prereq: test -e gdb && ! ../tests/os_test illumos
 prog: ../none/tests/faultstatus
 vgopts: --tool=memcheck --vgdb=full --vex-iropt-register-updates=allregs-at-mem-access --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsigpass
 stderr_filter: filter_memcheck_monitor
index 2692bd078491fc0e87fec67b0b1ecde27b78c2f1..71fd4abe4e55acd16ce95ad0e935cd2e3829208f 100644 (file)
@@ -1,3 +1,4 @@
+prereq: ! ../tests/os_test illumos
 prog: threadname
 prereq: test -e ./threadname
 vgopts: -q
index 7796ac2c8ef0cf144dafb12acfc772e5260764e8..67ee778f02b00b490764acec5d1ffbab686dd44f 100644 (file)
@@ -1,3 +1,4 @@
+prereq: ! ../tests/os_test illumos
 prog: threadname
 prereq: test -e ./threadname
 vgopts: --xml=yes --xml-fd=2 --log-file=/dev/null
index d388f29c09fb8d227d1837210beb2d6f8113ffed..adbd3874e55387c56742fb157380f171f03e29b2 100644 (file)
@@ -1 +1,2 @@
+prereq: ! ../../tests/os_test illumos
 prog: faultstatus
index 7e47bf0ce46b49341e9b583fc0d753b396eecb16..0c5bb1ddbb3c9de771334d79d44175e9fa631cbf 100644 (file)
@@ -25,6 +25,7 @@ char* all_OSes[] = {
    "darwin",
    "solaris",
    "freebsd",
+   "illumos",
    NULL
 };
 
@@ -66,6 +67,7 @@ static Bool go(char* OS, char *min_version)
 
 #elif defined(VGO_solaris)
    if ( 0 == strcmp( OS, "solaris" ) ) return True;
+   if ( 0 == strcmp( OS, "illumos" ) ) return True;
 
 #elif defined(VGO_freebsd)
    if ( 0 == strcmp( OS, "freebsd" ) ) return True;