blob: bd2aedb0218e42e6d4bfa16b7c460327efde09bb [file] [log] [blame]
maruel@chromium.org8fb47fe2012-10-03 20:13:15 +00001#!/usr/bin/env python
2# coding=utf-8
3# Copyright (c) 2012 The Chromium Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7###
8# Run me to generate the documentation!
9###
10
11"""Test tracing and isolation infrastructure.
12
13Scripts are compartmentalized by their name:
14- trace_*.py: Tracing infrastructure scripts.
15- isolate_*.py: Executable isolation scripts. (TODO)
16- *_test_cases.py: Scripts specifically managing GTest executables.
17
18A few scripts have strict dependency rules:
maruel@chromium.orgb8375c22012-10-05 18:10:01 +000019- run_isolated.py, run_test_cases.py, shard_test_cases.py and trace_inputs.py
maruel@chromium.org8fb47fe2012-10-03 20:13:15 +000020 depends on no other script so they can be run outside the checkout.
21- The pure tracing scripts (trace_inputs.py and trace_test_cases.py) do not know
22 about isolate infrastructure.
23- Scripts without _test_cases suffix do not know about GTest.
24- Scripts without isolate_ prefix do not know about the isolation
25 infrastructure. (TODO)
26
27See http://dev.chromium.org/developers/testing/isolated-testing for more info.
28"""
29
30import os
31import sys
32
33
34def main():
35 for i in sorted(os.listdir(os.path.dirname(os.path.abspath(__file__)))):
36 if not i.endswith('.py') or i == 'PRESUBMIT.py':
37 continue
38 module = __import__(i[:-3])
39 if hasattr(module, '__doc__'):
40 print module.__name__
41 print ''.join(' %s\n' % i for i in module.__doc__.splitlines())
42 return 0
43
44
45if __name__ == '__main__':
46 sys.exit(main())