Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bootstrap pip spec to the integration test docs #558

Merged
merged 1 commit into from
Apr 30, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
26 changes: 16 additions & 10 deletions docs/contributing/tests.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ Unit and integration tests are a core part of TLJH, as important as
the code & documentation. They help validate that the code works as
we think it does, and continues to do so when changes occur. They
also help communicate in precise terms what we expect our code
to do.
to do.

Integration tests
=================

TLJH is a *distribution* where the primary value is the many
TLJH is a *distribution* where the primary value is the many
opinionated choices we have made on components to use and how
they fit together. Integration tests are perfect for testing
that the various components fit together and work as they should.
So we write a lot of integration tests, and put in more effort
towards them than unit tests.
towards them than unit tests.

All integration tests are run on `CircleCI <https://circleci.com>`_
for each PR and merge, making sure we don't have broken tests
Expand All @@ -33,18 +33,16 @@ Running integration tests locally
---------------------------------

You need ``docker`` installed and callable by the user running
the integration tests without needing sudo.
the integration tests without needing sudo.

You can then run the tests with:

.. code-block:: bash

.circleci/integration-test run-test <name-of-run> <test-file-names>
.circleci/integration-test.py run-test <name-of-run> <test-file-names>


``<name-of-run>`` is an identifier for the tests - you can choose
anything you want. ``<test-file-names>>`` is list of test files
(under ``integration-tests``) that should be run in one go.
- ``<name-of-run>`` is an identifier for the tests - you can choose anything you want
- ``<test-file-names>>`` is list of test files (under ``integration-tests``) that should be run in one go.

For example, to run all the basic tests, you would write:

Expand All @@ -56,4 +54,12 @@ For example, to run all the basic tests, you would write:
test_extensions.py

This will run the tests in the three files against the same installation
of TLJH and report errors.
of TLJH and report errors.

If you would like to run the tests with a custom pip spec for the bootstrap script, you can use the ``--bootstrap_pip_spec``
parameter:

.. code-block:: bash

.circleci/integration-test.py run-test <name-of-run> <test-file-names> \
--bootstrap_pip_spec="git+https://github.com/your-username/the-littlest-jupyterhub.git@branch-name"