blob: 3b6f45d536e65eebf27635a3ad3430083cf15d3d [file] [log] [blame]
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
'''GRIT tool that runs the unit test suite for GRIT.'''
from __future__ import print_function
import getopt
import sys
import unittest
import grit.test_suite_all
from grit.tool import interface
class UnitTestTool(interface.Tool):
'''By using this tool (e.g. 'grit unit') you run all the unit tests for GRIT.
This happens in the environment that is set up by the basic GRIT runner.'''
def ShortDescription(self):
return 'Use this tool to run all the unit tests for GRIT.'
def ParseOptions(self, args):
"""Set this objects and return all non-option arguments."""
own_opts, args = getopt.getopt(args, '', ('help',))
for key, val in own_opts:
if key == '--help':
self.ShowUsage()
sys.exit(0)
return args
def Run(self, opts, args):
args = self.ParseOptions(args)
if args:
print('This tool takes no arguments.')
return 2
return unittest.TextTestRunner(verbosity=2).run(
grit.test_suite_all.TestSuiteAll())