Audit all asserts to ensure they don't have side effects

legacy/trac#15188 (moved) fixed one instance, we should make sure there aren't more. Assignments are clearly bad, function calls are potentially bad. Anything else I'm looking for?