code: def run(self, messages, env=None):
          
          if self.args.score or self.args.unlock or self.args.testing:
              return
          tests = self.assignment.specified_tests
          for test in tests:
              if self.args.suite and hasattr(test, 'suites'):
                  test.run_only = int(self.args.suite)
                  try:
                      suite = test.suites[int(self.args.suite) - 1]
                  except IndexError as e:
                      sys.exit(('python3 ok: error: '
                          'Suite number must be valid.({})'.format(len(test.suites))))
                  if self.args.case:
                      suite.run_only = [int(c) for c in self.args.case]
          grade(tests, messages, env, verbose=self.args.verbose)
docs: Run gradeable tests and print results and return analytics.
  
          RETURNS:
          dict; a mapping of test name -> JSON-serializable object. It is up to
          each test to determine what kind of data it wants to return as
          significant for analytics. However, all tests must include the number
          passed, the number of locked tests and the number of failed tests.