I think better to use self test status enum (mentioned in .h comment). This enum will have pass/fail/in progress. I think if we're still in INIT, zero, or self-test state, in-progress is appropriat...
I think better to use self test status enum (mentioned in .h comment). This enum will have pass/fail/in progress. I think if we're still in INIT, zero, or self-test state, in-progress is appropriate return value. I think you should have a BOOL variable defined to remember whether self-test passed or failed (instead of inferring from current state). Then if in normal state, return pass if self-test passed, failed if not.