| # infra.git repository |
| |
| Welcome to the Chrome Infra repository! |
| |
| Wondering where to start? Check out [General Chrome Infrastructure |
| documentation](doc/index.md). In particular, to check out this repo and the rest |
| of the infrastructure code, follow the instructions [here](doc/source.md). |
| The rest of this page is specific to this repo. |
| |
| ## Entry points |
| |
| * [run.py](run.py): wrapper script to run programs contained in subdirectories |
| without having to deal with `sys.path` modifications. |
| * [test.py](test.py): multi-purpose script to run tests. |
| * [packages/infra\_libs/](packages/infra_libs): generally useful functions and classes |
| * [infra/services/](infra/services): standalone programs intended to be run as |
| daemons. |
| * [infra/tools](infra/tools): command-line tools, intended to be run by developers. |
| * [appengine/](appengine): many Chrome-infra-managed AppEngine applications. |
| * [infra/experimental](infra/experimental): for, well, experimental stuff. Once |
| they are stabilized and reviewed, they should be moved in a more permanent |
| place. |
| |
| ## Miscellaneous technical stuff |
| |
| * [bootstrap/](bootstrap): utilities to set up a proper Python virtual |
| environment. |
| * [utils/](utils): purpose? utils? |
| * Need to bump infra/deployed to pick up changes? |
| * `git push origin <updated hash>:deployed` |
| * mail chrome-troopers@, include: |
| * previously deployed hash (for quick rollback) |
| * the hash you just pushed |
| * the list of CLs that made this push necessary |
| * the output of the `git push` command |
| |
| ## Integrating tests with test.py |
| |
| If you've added a new module, run your tests with test.py: |
| |
| 1. Create a .coveragerc file in the root directory of the module you want to |
| test. Take a look at another .coveragerc to see what to include in that. |
| 2. Create a "test" directory in the root directory of the module you want to |
| test. Move your `*_test.py` files to this directory. |
| |
| Double-check that your tests are getting picked up when you want them to be: |
| `./test.py test <path-to-package>`. |
| |
| Tests still not getting picked up by test.py? Double-check to make sure you have |
| `__init__.py` files in each directory of your module so Python recognizes it as a |
| package. |
| |
| ## Style |
| |
| The preferred style is PEP8 with two-space indent; that is, the [Chromium |
| Python |
| style](https://chromium.googlesource.com/chromium/src/+/HEAD/styleguide/python/python.md), |
| except functions use `lowercase_with_underscores`. Use yapf (`git cl format`) |
| to autoformat new code. |