Summary:
Ever since the switch from `test.sh` to `test.py`, we've been generating
the `.coverage` file inside `tests/`. Update `.travis.yml` to run
`coveralls` in the right place.
Also, handle the `--with-coverage` flag in a slightly more flexible way.
Test Plan:
Watch the build in my fork and make sure it looks like it's going to
work.
Reviewers: sean
Reviewed By: sean
Differential Revision: https://phabricator.buildinspace.com/D182
Summary:
I'm not sure if the Travis default configuration changed, but our latest
builds haven't been updating Coveralls. Make sure the client is
installed.
Test Plan: Tried it on my own fork, the command seemed to work.
Reviewers: sean
Reviewed By: sean
Differential Revision: https://phabricator.buildinspace.com/D181
Summary:
Remove the third-party/ directory and no longer rely on copies of dependencies
in the repo. When needed, fetch dependencies normally. This can usually be
accomplished via `pip install -r requirements.txt` or `pip install -r
requirements-dev.txt`.
Even though `peru.yaml` is gone, `.peru/` is still in `.gitignore`, because the
tests check for untracked files and will detect `.peru/` as an error.
Test Plan: Successfully ran tests locally and via Travis CI.
Reviewers: jacko
Reviewed By: jacko
Differential Revision: https://phabricator.buildinspace.com/D145
Summary:
We have peru.sh and peru.bat, and also test.sh and test.bat. Rather than
maintaining both of those duplicates to support Windows, just
reimplement them in Python.
There's also validate-third-party.sh, but we never really use that on
Windows. We can port it in a later diff if we feel like it.
Test Plan:
Check that tests actually fail after introducing a bug. (To make sure
we're not actually testing the installed version instead of the repo
version.) Check that the linter fails after dirtying up some code. Check
that the untracked file test fails by creating a random file during
tests.
Reviewers: sean
Reviewed By: sean
Differential Revision: https://phabricator.buildinspace.com/D143
Summary: We forgot to point .travis.yml to the new test script name.
Test Plan: Pushed a branch to my fork.
Reviewers: sean
Differential Revision: https://phabricator.buildinspace.com/D140
Summary:
This is a cosmetic change and moves some more "targeted" scripts to specific
directories. It also pairs Windows-specific scripts with their Posix
counterparts.
Reviewers: jacko
Reviewed By: jacko
Differential Revision: https://phabricator.buildinspace.com/D138
Summary:
That way if a test has weird output, it's easier to tell what it's
coming from. Also allow test.sh to take command line arguments and
forward them to the unittest command.
Reviewers: sean
Differential Revision: https://phabricator.buildinspace.com/D129
Summary:
Use Python 3.4's `asyncio` to do plugin fetching in parallel. Right
now we don't try to parallelize any build or cache operations; those are still
done in series to keep things simple. We also don't do anything fancy with the
console; fetches will still print as they go, though reups have been modified a
little to make sure their outputs don't interleave.
This revision drops support for Python 3.2. We use the backport of `asyncio`
to maintain support for 3.3.
Test Plan:
All existing tests are passing. Not yet sure how best to test
the parallelism.
Reviewers: sean
Differential Revision: https://phabricator.buildinspace.com/D58
Summary:
Most systems don't have `realpath` by default. Right now the only other
dependencies you need to run peru from the repo are python3 and git, and
keeping it to just those two would be nice. (Note that running tests requires
other stuff.)
The only script that actually needs `realpath` is `peru.sh`, because that's the
only one that needs to support being run from a symlink. Use the pure bash
version from http://stackoverflow.com/a/1116890/823869.
Test Plan:
I can still invoke peru from my `~/bin/peru` symlink. The `test.sh`
and `validate_third_party.sh` scripts still work from outside the repo.
Reviewers: sean
Differential Revision: https://phabricator.buildinspace.com/D35
We would love to have peru fetch all of its own dependencies, but that
leads us to a bootstrapping problem: We can't run peru until it's
dependencies are present. To work around that, we define dependencies in
peru.yaml, and we also check them in. That means we could get into a
state where what's checked in doesn't match what's in peru.yaml, which
could cause all sorts of trouble.
To avoid that problem, create the validate_third_party.sh script. This
runs a fresh sync of our peru.yaml and compares the result to what we
have in the repo, to make sure they match. Run this as part of our
Travis tests. The expected workflow is that commits that change
peru.yaml should also commit the new third-party, or else they'll break
this test.
We're not including this in test.sh, because it's pretty slow if you
don't have PERU_PLUGINS_CACHE set to something persistent. Running it in
Travis should be enough.