You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.3 KiB
47 lines
1.3 KiB
#!/usr/bin/env python2.7
|
|
|
|
# Copyright 2015 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.
|
|
|
|
"""Runs the unit test suite for systrace."""
|
|
|
|
import optparse
|
|
import os
|
|
import sys
|
|
import unittest
|
|
|
|
_SYSTRACE_DIR = os.path.abspath(
|
|
os.path.join(os.path.dirname(__file__), os.path.pardir))
|
|
sys.path.insert(0, _SYSTRACE_DIR)
|
|
from systrace import decorators
|
|
|
|
|
|
def main():
|
|
parser = optparse.OptionParser()
|
|
parser.add_option("-d", "--device", dest="device",
|
|
help="device the test runs on", metavar="DEVICE")
|
|
options, _args = parser.parse_args() # pylint: disable=unused-variable
|
|
unfiltered_suite = unittest.TestLoader().discover(
|
|
_SYSTRACE_DIR,
|
|
pattern = '*_unittest.py',
|
|
top_level_dir=_SYSTRACE_DIR)
|
|
suite = unittest.TestSuite()
|
|
|
|
for test_group in unfiltered_suite._tests:
|
|
for inner_group in test_group:
|
|
for test in inner_group:
|
|
method = getattr(
|
|
test, test._testMethodName) # pylint: disable=protected-access
|
|
if not decorators.ShouldSkip(method, options.device):
|
|
suite.addTest(test)
|
|
|
|
result = unittest.TextTestRunner(verbosity=2).run(suite)
|
|
if result.wasSuccessful():
|
|
sys.exit(0)
|
|
else:
|
|
sys.exit(1)
|
|
|
|
if __name__ == '__main__':
|
|
main()
|