Henrik Grubbstr?m (Lysator) @ Pike (-) developers forum wrote:
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.
Ok, the game is afoot.
I would appreciate some last finetuning on the patch I made to the socket tests. I kind of lost the overview in the object oriented spaghetticode (or better yet, I never got a clear insight on what exactly happens when and where) in socktest.pike.
I agree that the socktest.pike code isn't the most readable... One of the reasons is probably that it has survived since before Pike 0.4 (ie since before the module system).
The idea is that after trying to acquire more sockets in face of a persistent EADDRINUSE for 30 seconds, the testing code punts and silently drops the socket (or perhaps we could print a warning). In order not to make the test too heavily dependent on system resources.
Sounds reasonable.
I tried to emulate what is supposed to happen to drop the socket successfully, but apparently I didn't succeed completely (I still see some timeouts while running it on Solaris, although not every failure results in a timeout anymore now).
I've reenabled socketpair_ultra in a few more cases (for systems where UNIX_SOCKETS_WORKS_WITH_SHUTDOWN hasn't been set).