docs: def run(cls, version=None):
          """
          Test runner method; is called by parent class defined in suite.py.
          :param version: B2G version string to test against
          :return: bool PASS/FAIL status
          """
  
          try:
              dumper = certdump()
              versions = dumper.nssversion_via_marionette()
          except Exception as e:  # TODO: too broad exception
              cls.log_status('FAIL', 'Failed to gather information from the device via Marionette: %s' % e)
              return False
  
          if version is None:
              cls.log_status('FAIL', 'NSS version check requires a B2G version.\nReported component versions:\n%s' % (
                  '\n'.join(["%s: %s" % (k, versions[k]) for k in versions])))
              return False
  
          reported_version = versions['NSS_Version']
  
          if version not in nssversion.b2g_version_to_hginfo:
              cls.log_status('FAIL', 'No version comparison data for B2G %s.\nReported NSS component versions:\n%s' % (
                  version, '\n'.join(["%s: %s" % (k, versions[k]) for k in versions])))
              return False
  
          expected_version = nssversion.b2g_version_to_hginfo[version]['release_nss_version']
  
          # Fail if reported version is a downgrade
          if nssversion.first_older_than_second(reported_version, expected_version):
              cls.log_status('FAIL', 'NSS downgrade detected. Expecting at least version %s.\n'
                             'Reported versions:\n%s' % (
                             expected_version, '\n'.join(["%s: %s" % (k, versions[k]) for k in versions])))
              return False
  
          # Pass if NSS version was upgraded.
          if nssversion.first_older_than_second(expected_version, reported_version):
              cls.log_status('PASS', 'NSS more recent than release version %s. Reported component versions:\n%s' % (
                  expected_version, '\n'.join(["%s: %s" % (k, versions[k]) for k in versions])))
              return True
  
          # Else device has reported the expected version.
          cls.log_status('PASS', 'NSS version reported as expected. Reported component versions:\n%s' % (
              '\n'.join(["%s: %s" % (k, versions[k]) for k in versions])))
  
          return True