I think rst2html.py should exit with an error code different from 0 when an error is encountered.
Example:
$ python setup.py --long-description | rst2html.py > output.html
<stdin>:73: (ERROR/3) Unknown target name: "test".
$ echo $?
0</stdin>
(should be 1)
This is the intended default behaviour. You can change this using
comand line options or configuration settings: