docs: def verify_and_extract_time(self, log_file, division, result_name):
      """Verifies and result and returns timing.
  
      Uses submodule mlp_compliance (https://github.com/bitfort/mlp_compliance)
  
      Args:
        log_file: Absolute path to result file.
        division: open, closed
        result_name: name of the benchmark, ncf, ssd, etc
  
      Returns:
        Time for the result or `INFINITE_TIME` if not a success
  
      Raises:
        Exception: If expected compliance level is not hit or cannot figure
        out expected compliance level.
  
      """
      expected_level = constants.DIVISION_COMPLIANCE_CHECK_LEVEL.get(
          division, None)
      print(result_name)
      if expected_level is None:
        raise Exception('Unknown division: {}'.format(division))
      start_time, level, dt, _, success = self.get_compliance(log_file)
      print(float(start_time))
      if int(level) != expected_level:
        raise Exception('Error Level {} does not match needed level {}:{}'.format(
            level, expected_level, log_file))
  
      # Sets failure to converge to "infinite time" per the rules
      if success and dt:
        return dt, start_time
      else:
        print('Result was not a success set to INFINITE_TIME({})'.format(
            INFINITE_TIME))
        return INFINITE_TIME, start_time