Mark as success on step failure + How do I get the STDOUT from the previous run?

I’m looking to have multiple steps, some of which test whether my customer executor throws an error due to bad user input (functional test). I’d like to have the tests I know will fail, fail, and return a success.

Is this possible?

Also, can I grab the STDOUT from the last step and check it in a subsequent step? Or maybe in the after_script?