If you try and install 2 RPMS, let's say x.rpm and y.rpm and y depends on x then you might use the command: rpm -i x.rpm y.rpm However, if installation of x fails (in the tested case it failed due to an error in the pre installation script) then y is still installed. You then have package y installed, but it's dependency x isn't.
Yup, that's the behavior that is implemented to the best of my knowledge. A "fix" is non-trivial, and is gonna take a while, so I'm marking as Deferred.
Detecting all %pre failures before any package is installed would be very nice to do, but cannot be done without reworking rpm's install state machine. Not gonna happen soon, may never happen.