Where are you getting that? All the documentation I've been able to hastily Google is showing that it defaults to infinite and you have to set a value. This is just random Googling though, I'm not personally familiar with this.

It seems to behave as I'd expect. If I set at timeout below the timeout-test sites known timeout time (sorry, that's a lot of uses of the word time) then it errors. If I set it after that, or don't set it, it works fine. If you're getting a consistent 30 seconds, I'm guessing it's something on your end. It seems to work exactly as the documentation supports.