Add more imports required for tests

Run pytest within the virtualenv with "pipenv run pytest".

Also, ignore glint errors if the binary doesn't exist. External developers or
Mac OS X developers don't have glint installed.

TEST=Unit tests pass with the proper pytest binary now.
BUG=chromium:789287

Change-Id: I06506811a60c3446f1d320ac83b7b77bdce1085e
Reviewed-on: https://chromium-review.googlesource.com/794902
Commit-Ready: Paul Hobbs <phobbs@google.com>
Tested-by: Paul Hobbs <phobbs@google.com>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
4 files changed
tree: 3b21d470f6af0398276702674579705555bfabe5
  1. bin/
  2. creds/
  3. lib/
  4. model/
  5. notebooks/
  6. .gitignore
  7. app.yaml
  8. appengine_config.py
  9. deploy_app.py
  10. gunicorn.conf.py
  11. main.py
  12. Pipfile
  13. Pipfile.lock
  14. PRESUBMIT.cfg
  15. pytest.ini
  16. README.md
README.md

Bad CL Detector

https://chromium.googlesource.com/chromiumos/infra/bad_cl_detector

Purpose:

A system to detect if a given build failure is caused by bad CL.

Getting started

The virtualenv for this project is managed with pipenv. If you don't already have pipenv installed, you can install it with “pip install pipenv”.

Then run:

deactivate  # make sure you are not already in a virtualenv
pipenv --two install
protoc -I=lib/protos --python_out=lib/protos

You can fetch cidb credentials with “cros cidbcreds”. You will need to pass in the db credentials' path to the script.

Training & cross validation

Downloading training data, training a model and cross validating is done by one script:

pipenv run python lib/bad_cl_detector_driver.py --cred-dir=$CRED_DIR

Or, you can enter a virtualenv shell with “pipenv shell”, and then just run python lib/.

Currently this requires word2vec and word2int files to work. Making this self-contained is a work in progress.

Tests

Tests are run with pytest:

pipenv run pytest