If for some reason you prefer to stick shuffled in
for i, (func, args, res, exctype) in enumerate(tests):
I would say it is a bad idea because it is not clear whether you would want enumerate(shuffled(tests)) or shuffled(enumerate(tests)) and what the difference between the two constructs is.