There's a similar issue with macro-expansions inside of should/should-error/should-not that could/should be fixed by wrapping the macroexpand call at the top of ert--expand-should-1 in a similar condition-case. Here's another diff that does just that: