Typically, one performs some limited "confidence tests"
> at POST to catch gross failures. As this activity is
> "in series" with normal operation, it tends to be brief
> and not very thorough.
>
> Many products offer a BIST capability that the user can invoke
> for more thorough testing. This allows the user to decide
> when he can afford to live without the normal functioning of the > device.
>
> And, if you are a "robust" designer, you often include invariants
> that verify hardware operations (esp to I/Os) are actually doing
> what they should -- e.g., verifying battery voltage increases
> when you activate the charging circuit, loopbacks on DIOs, etc. >
> But, for 24/7/365 boxes, POST is a "once-in-a-lifetime" activity.
> And, BIST might not always be convenient (as well as requiring the
> user's consent and participation).
>
> There, runtime diagnostics are the only alternative for hardware
> revalidation, PFA and diagnostics.
>
> How commonly are such mechanisms implemented? And, how thoroughly?
This is strange question. AFAIK automatically run diagnostics/checks are part of safety regulations. Even if some safety critical software does not contain them, nobody is going to admit violationg regulations. And things like PLC-s are "dual use", they may be used in non-safety role, but vendors claim compliance to safety standards.