Linux 2.5.59 seems to have broken my ALSA. Rather than worry about fixing it, I guessed that "just waiting" will fix the problem as future releases of either gentoo or linux would probably eventually resolve whatever conflict I have.
So, temporarily, I have put aRTS into "OSS/threaded" mode. This successfully uses ALSA's OSS emulation. Then, I activated winearts.drv to use that instead of my usual ALSA.
Now, when I run make test, I get a failure. Here's some output:
greg@yodull tests $ pwd /var/src/wine/dlls/winmm/tests greg@yodull tests $ wine winmm_test.exe.so wave mcop warning: user defined signal handler found for SIG_PIPE, overriding err:wave:ARTS_WaveInit arts_init() failed (-1) wave.c:182:found 10 WaveOut devices wave.c:206: 0: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 0: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 0: rc=4 wave.c:206: 1: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 1: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 1: rc=4 wave.c:206: 2: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 2: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 2: rc=4 wave.c:206: 3: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 3: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 3: rc=4 wave.c:206: 4: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 4: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 4: rc=4 wave.c:206: 5: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 5: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 5: rc=4 wave.c:206: 6: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 6: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 6: rc=4 wave.c:206: 7: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 7: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 7: rc=4 wave.c:206: 8: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 8: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 8: rc=4 wave.c:206: 9: "" 0.0 (0:0): channels=0 formats=0000 support=0000 wave.c:220:Testing invalid 2MHz format wave.c:229: Test failed: opening the device at 2MHz should fail 9: rc=4 wave.c:248: Test failed: opening the device at 2MHz should fail 9: rc=4 wave: 32 tests executed, 0 marked as todo, 20 failures.
The code from winearts doesn't seem to check the frequency at all. Could this be because it's legitimately supported under aRTS?
Either the test is broken, or the driver is broken. I don't know which fix would be the correct one, kill the test, or add a minimum frequency in the driver...
Also: It seems odd when test behavior changes due to changes in ~/.wine/config and/or the installed wine. This happened for my RPC tests, although I was able to work around it. Shouldn't the tests always run the same way? Is it really acceptable to test things that may depend on the user's config and/or wine installation particulars?