--nocleanup should provide a way to preserve test data, but should not have an impact on whether nodes are to be stopped after the test execution.
In particular, when currently running RPC tests with --nocleanup, then it may result in several active bitcoind, which are not stopped properly.
Shutdown errors are ignored, given that a failure likely relates to already terminated processes, caused during the actual testing.
Edit:
Further, with --noshutdown, the nodes are not stopped explicitly. --noshutdown implies --nocleanup, to prevent removing datadirs, which are still in use.