15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#!/usr/bin/env python
25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved.
35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# found in the LICENSE file.
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)import logging
7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)import memory_inspector
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)import sys
95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)import unittest
105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)if __name__ == '__main__':
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  logging.basicConfig(
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      level=logging.DEBUG if '-v' in sys.argv else logging.WARNING,
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      format='%(levelname)5s %(filename)15s(%(lineno)3d): %(message)s')
165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  suite = unittest.TestSuite()
185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  loader = unittest.TestLoader()
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  pattern = '*%s*_unittest.py' % ('' if len(sys.argv) < 2 else sys.argv[1])
20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  suite.addTests(loader.discover(start_dir=memory_inspector.ROOT_DIR,
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                 pattern=pattern))
225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  res = unittest.TextTestRunner(verbosity=2).run(suite)
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  if res.wasSuccessful():
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    sys.exit(0)
255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  else:
26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    sys.exit(1)