@@ -509,6 +509,66 @@ Let's say you've added a new module named
509
509
the list of default tests, append its name to ``default_test_modules ``
510
510
in :file: `lib/matplotlib/__init__.py `.
511
511
512
+ Using tox
513
+ ---------
514
+
515
+ `Tox <http://tox.testrun.org/ >`_ is a tool for running tests against multiple
516
+ Python environments, including multiple versions of Python (e.g.: 2.6, 2.7,
517
+ 3.2, etc.) and even different Python implementations altogether (e.g.: CPython,
518
+ PyPy, Jython, etc.)
519
+
520
+ It's a good idea to run ``tox `` in your working directory before submitting a
521
+ pull request with your changes. To do so:
522
+
523
+ .. code-block :: bash
524
+
525
+ $ pip install tox
526
+ $ tox
527
+
528
+ You can also run tox on a subset of environments:
529
+
530
+ .. code-block :: bash
531
+
532
+ $ tox -e py26,py27
533
+
534
+ Tox processes everything serially so it can take a long time to test several
535
+ environments. To speed it up, you might try using a new, parallelized version
536
+ of tox called ``detox ``. Give this a try:
537
+
538
+ .. code-block :: bash
539
+
540
+ $ pip install -U -i http://pypi.testrun.org detox
541
+ $ detox
542
+
543
+ Tox is configured using a file called ``tox.ini ``. You may need to edit this
544
+ file if you want to add new environments to test (e.g.: ``py33 ``) or if you
545
+ want to tweak the dependencies or the way the tests are run. For more info on
546
+ the ``tox.ini `` file, see the `Tox Configuration Specification
547
+ <http://tox.testrun.org/latest/config.html> `_.
548
+
549
+ Using Travis CI
550
+ ---------------
551
+
552
+ `Travis CI <http://travis-ci.org/ >`_ is a hosted CI system "in the cloud".
553
+
554
+ Travis is configured to receive notifications of new commits to GitHub repos
555
+ (via GitHub "service hooks") and to run builds or tests when it sees these new
556
+ commits. It looks for a YAML file called ``.travis.yml `` in the root of the
557
+ repository to see how to test the project.
558
+
559
+ Travis CI is already enabled for the `main matplotlib GitHub repository
560
+ <https://github.com/matplotlib/matplotlib/> `_ -- for example, see `its Travis
561
+ page <http://travis-ci.org/#!/matplotlib/matplotlib> `_.
562
+
563
+ If you want to enable Travis CI for your personal matplotlib GitHub repo,
564
+ simply enable the repo to use Travis CI in either the Travis CI UI or the
565
+ GitHub UI (Admin | Service Hooks). For details, see `the Travis CI Getting
566
+ Started page <http://about.travis-ci.org/docs/user/getting-started/> `_.
567
+
568
+ Once this is configured, you can see the Travis CI results at
569
+ http://travis-ci.org/#!/your_GitHub_user_name/matplotlib -- here's `an example
570
+ <http://travis-ci.org/#!/msabramo/matplotlib> `_.
571
+
512
572
.. _license-discussion :
513
573
514
574
Licenses
0 commit comments