I've long since abandoned trying to do programming tests when interviewing coders. Instead, I work through a problem with them in a sort of socratic method; I play devil's advocate to them while they flesh out how they'd approach the problem.
It's far more illuminating, and a far better reflection of their worth as a candidate, than their ability to go off into a room somewhere and work through a problem alone. I'm much more interested in someone who thinks well than who codes well (since the latter can easily be trained).