a. For the latest Solaris versions:
[00:46:09] Testing 80 sockets. [00:46:09] Testing 84 sockets. Connect failed: Address in use. Waiting for better times. [00:46:10] Succeeded after 1 seconds.
b. For the newer FreeBSD versions:
[00:00:23] Testing accept. Failed to read complete data, errno=54, "Connection reset by peer". [00:00:23] 10:Input buffer: 8192 bytes. [00:00:23] 10:Expected data: 28266 bytes.
Found and fixed both problems, I think. The solution involved slightly more code than I expected, then again, I eliminated quite some cruft from the Pike binary in the process (not to worry, the cruft is still there for AmigaOS fans). The testsuite now works on Linux and Solaris. I don't have any other way to test it really except by checking it in. I'll be doing so in a few minutes. Please review the changes.
N.B. The changes in socktest are necessary because the previous behaviour in case of errors and recovery was completely bogus.