Install ipython_pytest via PyPI
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
"# Let's make sure pytest and ipython_pytest plugin are installed\n",
|
"# Let's make sure pytest and ipython_pytest plugin are installed\n",
|
||||||
"import sys\n",
|
"import sys\n",
|
||||||
"!{sys.executable} -m pip install pytest\n",
|
"!{sys.executable} -m pip install pytest\n",
|
||||||
"!{sys.executable} -m pip install ../../../utils/ipython_pytest/"
|
"!{sys.executable} -m pip install ipython_pytest"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"# Let's make sure pytest and ipython_pytest plugin are installed\n",
|
"# Let's make sure pytest and ipython_pytest plugin are installed\n",
|
||||||
"import sys\n",
|
"import sys\n",
|
||||||
"!{sys.executable} -m pip install pytest\n",
|
"!{sys.executable} -m pip install pytest\n",
|
||||||
"!{sys.executable} -m pip install ../../../utils/ipython_pytest/"
|
"!{sys.executable} -m pip install ipython_pytest"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11854,7 +11854,7 @@ div#notebook {
|
|||||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Let's make sure pytest and ipython_pytest plugin are installed</span>
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Let's make sure pytest and ipython_pytest plugin are installed</span>
|
||||||
<span class="kn">import</span> <span class="nn">sys</span>
|
<span class="kn">import</span> <span class="nn">sys</span>
|
||||||
<span class="o">!{</span>sys.executable<span class="o">}</span> -m pip install pytest
|
<span class="o">!{</span>sys.executable<span class="o">}</span> -m pip install pytest
|
||||||
<span class="o">!{</span>sys.executable<span class="o">}</span> -m pip install ../../utils/ipython_pytest/
|
<span class="o">!{</span>sys.executable<span class="o">}</span> -m pip install ipython_pytest
|
||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -11872,26 +11872,13 @@ div#notebook {
|
|||||||
|
|
||||||
<div class="output_subarea output_stream output_stdout output_text">
|
<div class="output_subarea output_stream output_stdout output_text">
|
||||||
<pre>Requirement already satisfied: pytest in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (3.5.0)
|
<pre>Requirement already satisfied: pytest in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (3.5.0)
|
||||||
Requirement already satisfied: six>=1.10.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.11.0)
|
|
||||||
Requirement already satisfied: setuptools in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (39.0.1)
|
|
||||||
Requirement already satisfied: attrs>=17.4.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (17.4.0)
|
|
||||||
Requirement already satisfied: more-itertools>=4.0.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (4.1.0)
|
|
||||||
Requirement already satisfied: pluggy<0.7,>=0.5 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (0.6.0)
|
Requirement already satisfied: pluggy<0.7,>=0.5 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (0.6.0)
|
||||||
Requirement already satisfied: py>=1.5.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.5.3)
|
Requirement already satisfied: py>=1.5.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.5.3)
|
||||||
<span class="ansi-yellow-fg">You are using pip version 10.0.0, however version 10.0.1 is available.
|
Requirement already satisfied: attrs>=17.4.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (17.4.0)
|
||||||
You should consider upgrading via the 'pip install --upgrade pip' command.</span>
|
Requirement already satisfied: six>=1.10.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.11.0)
|
||||||
Processing /Users/jerry/github/jerry-git/learn-python3/utils/ipython_pytest
|
Requirement already satisfied: more-itertools>=4.0.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (4.1.0)
|
||||||
Building wheels for collected packages: ipython-pytest
|
Requirement already satisfied: setuptools in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (39.0.1)
|
||||||
Running setup.py bdist_wheel for ipython-pytest ... - done
|
Requirement already satisfied: ipython_pytest in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (0.0.1)
|
||||||
Stored in directory: /private/var/folders/nk/wgt71p5s1_d1wssm881h7ykc0000gn/T/pip-ephem-wheel-cache-tfei96ba/wheels/cd/57/26/ee80676d18b225631db5c78e9ddda568e7d2abf6f03c97047a
|
|
||||||
Successfully built ipython-pytest
|
|
||||||
Installing collected packages: ipython-pytest
|
|
||||||
Found existing installation: ipython-pytest 0.0.1.dev0
|
|
||||||
Uninstalling ipython-pytest-0.0.1.dev0:
|
|
||||||
Successfully uninstalled ipython-pytest-0.0.1.dev0
|
|
||||||
Successfully installed ipython-pytest-0.0.1.dev0
|
|
||||||
<span class="ansi-yellow-fg">You are using pip version 10.0.0, however version 10.0.1 is available.
|
|
||||||
You should consider upgrading via the 'pip install --upgrade pip' command.</span>
|
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -11981,15 +11968,15 @@ def test_sum_of_three_numbers():
|
|||||||
|
|
||||||
|
|
||||||
<div class="output_subarea output_stream output_stdout output_text">
|
<div class="output_subarea output_stream output_stdout output_text">
|
||||||
<pre>=========================================================== test session starts ===========================================================
|
<pre>============================================================ test session starts ============================================================
|
||||||
platform darwin -- Python 3.5.4, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
|
platform darwin -- Python 3.5.4, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
|
||||||
rootdir: /private/var/folders/nk/wgt71p5s1_d1wssm881h7ykc0000gn/T/tmpgm5fi86g, inifile:
|
rootdir: /private/var/folders/nk/wgt71p5s1_d1wssm881h7ykc0000gn/T/tmpy9z1rypm, inifile:
|
||||||
plugins: nbval-0.9.0
|
plugins: nbval-0.9.0
|
||||||
collected 1 item
|
collected 1 item
|
||||||
|
|
||||||
_ipytesttmp.py . [100%]
|
_ipytesttmp.py . [100%]
|
||||||
|
|
||||||
======================================================== 1 passed in 0.02 seconds =========================================================
|
========================================================= 1 passed in 0.02 seconds ==========================================================
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -11811,7 +11811,7 @@ div#notebook {
|
|||||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Let's make sure pytest and ipython_pytest plugin are installed</span>
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Let's make sure pytest and ipython_pytest plugin are installed</span>
|
||||||
<span class="kn">import</span> <span class="nn">sys</span>
|
<span class="kn">import</span> <span class="nn">sys</span>
|
||||||
<span class="o">!{</span>sys.executable<span class="o">}</span> -m pip install pytest
|
<span class="o">!{</span>sys.executable<span class="o">}</span> -m pip install pytest
|
||||||
<span class="o">!{</span>sys.executable<span class="o">}</span> -m pip install ../../utils/ipython_pytest/
|
<span class="o">!{</span>sys.executable<span class="o">}</span> -m pip install ipython_pytest
|
||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -11829,26 +11829,13 @@ div#notebook {
|
|||||||
|
|
||||||
<div class="output_subarea output_stream output_stdout output_text">
|
<div class="output_subarea output_stream output_stdout output_text">
|
||||||
<pre>Requirement already satisfied: pytest in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (3.5.0)
|
<pre>Requirement already satisfied: pytest in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (3.5.0)
|
||||||
Requirement already satisfied: more-itertools>=4.0.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (4.1.0)
|
|
||||||
Requirement already satisfied: py>=1.5.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.5.3)
|
Requirement already satisfied: py>=1.5.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.5.3)
|
||||||
|
Requirement already satisfied: pluggy<0.7,>=0.5 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (0.6.0)
|
||||||
|
Requirement already satisfied: more-itertools>=4.0.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (4.1.0)
|
||||||
|
Requirement already satisfied: setuptools in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (39.0.1)
|
||||||
Requirement already satisfied: six>=1.10.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.11.0)
|
Requirement already satisfied: six>=1.10.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.11.0)
|
||||||
Requirement already satisfied: attrs>=17.4.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (17.4.0)
|
Requirement already satisfied: attrs>=17.4.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (17.4.0)
|
||||||
Requirement already satisfied: pluggy<0.7,>=0.5 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (0.6.0)
|
Requirement already satisfied: ipython_pytest in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (0.0.1)
|
||||||
Requirement already satisfied: setuptools in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (39.0.1)
|
|
||||||
<span class="ansi-yellow-fg">You are using pip version 10.0.0, however version 10.0.1 is available.
|
|
||||||
You should consider upgrading via the 'pip install --upgrade pip' command.</span>
|
|
||||||
Processing /Users/jerry/github/jerry-git/learn-python3/utils/ipython_pytest
|
|
||||||
Building wheels for collected packages: ipython-pytest
|
|
||||||
Running setup.py bdist_wheel for ipython-pytest ... - done
|
|
||||||
Stored in directory: /private/var/folders/nk/wgt71p5s1_d1wssm881h7ykc0000gn/T/pip-ephem-wheel-cache-ksypg6cf/wheels/cd/57/26/ee80676d18b225631db5c78e9ddda568e7d2abf6f03c97047a
|
|
||||||
Successfully built ipython-pytest
|
|
||||||
Installing collected packages: ipython-pytest
|
|
||||||
Found existing installation: ipython-pytest 0.0.1.dev0
|
|
||||||
Uninstalling ipython-pytest-0.0.1.dev0:
|
|
||||||
Successfully uninstalled ipython-pytest-0.0.1.dev0
|
|
||||||
Successfully installed ipython-pytest-0.0.1.dev0
|
|
||||||
<span class="ansi-yellow-fg">You are using pip version 10.0.0, however version 10.0.1 is available.
|
|
||||||
You should consider upgrading via the 'pip install --upgrade pip' command.</span>
|
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -11959,15 +11946,15 @@ def test_increase_age_with_negative_number(default_person):
|
|||||||
|
|
||||||
|
|
||||||
<div class="output_subarea output_stream output_stdout output_text">
|
<div class="output_subarea output_stream output_stdout output_text">
|
||||||
<pre>=========================================================== test session starts ===========================================================
|
<pre>============================================================ test session starts ============================================================
|
||||||
platform darwin -- Python 3.5.4, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
|
platform darwin -- Python 3.5.4, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
|
||||||
rootdir: /private/var/folders/nk/wgt71p5s1_d1wssm881h7ykc0000gn/T/tmpi20fl62u, inifile:
|
rootdir: /private/var/folders/nk/wgt71p5s1_d1wssm881h7ykc0000gn/T/tmpj71o38he, inifile:
|
||||||
plugins: nbval-0.9.0
|
plugins: nbval-0.9.0
|
||||||
collected 4 items
|
collected 4 items
|
||||||
|
|
||||||
_ipytesttmp.py .... [100%]
|
_ipytesttmp.py .... [100%]
|
||||||
|
|
||||||
======================================================== 4 passed in 0.03 seconds =========================================================
|
========================================================= 4 passed in 0.03 seconds ==========================================================
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -12038,20 +12025,20 @@ def test_replace_names(original, new_name, expected):
|
|||||||
|
|
||||||
|
|
||||||
<div class="output_subarea output_stream output_stdout output_text">
|
<div class="output_subarea output_stream output_stdout output_text">
|
||||||
<pre>=========================================================== test session starts ===========================================================
|
<pre>============================================================ test session starts ============================================================
|
||||||
platform darwin -- Python 3.5.4, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
|
platform darwin -- Python 3.5.4, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
|
||||||
rootdir: /private/var/folders/nk/wgt71p5s1_d1wssm881h7ykc0000gn/T/tmpevgtpxwb, inifile:
|
rootdir: /private/var/folders/nk/wgt71p5s1_d1wssm881h7ykc0000gn/T/tmp3bo6s4_6, inifile:
|
||||||
plugins: nbval-0.9.0
|
plugins: nbval-0.9.0
|
||||||
collected 3 items
|
collected 3 items
|
||||||
|
|
||||||
_ipytesttmp.py ... [100%]
|
_ipytesttmp.py ... [100%]
|
||||||
|
|
||||||
============================================================ warnings summary =============================================================
|
============================================================= warnings summary ==============================================================
|
||||||
None
|
None
|
||||||
Module already imported so cannot be rewritten: nbval
|
Module already imported so cannot be rewritten: nbval
|
||||||
|
|
||||||
-- Docs: http://doc.pytest.org/en/latest/warnings.html
|
-- Docs: http://doc.pytest.org/en/latest/warnings.html
|
||||||
================================================== 3 passed, 1 warnings in 0.03 seconds ===================================================
|
=================================================== 3 passed, 1 warnings in 0.03 seconds ====================================================
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
"# Let's make sure pytest and ipython_pytest plugin are installed\n",
|
"# Let's make sure pytest and ipython_pytest plugin are installed\n",
|
||||||
"import sys\n",
|
"import sys\n",
|
||||||
"!{sys.executable} -m pip install pytest\n",
|
"!{sys.executable} -m pip install pytest\n",
|
||||||
"!{sys.executable} -m pip install ../../utils/ipython_pytest/"
|
"!{sys.executable} -m pip install ipython_pytest"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"# Let's make sure pytest and ipython_pytest plugin are installed\n",
|
"# Let's make sure pytest and ipython_pytest plugin are installed\n",
|
||||||
"import sys\n",
|
"import sys\n",
|
||||||
"!{sys.executable} -m pip install pytest\n",
|
"!{sys.executable} -m pip install pytest\n",
|
||||||
"!{sys.executable} -m pip install ../../utils/ipython_pytest/"
|
"!{sys.executable} -m pip install ipython_pytest"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,129 +0,0 @@
|
|||||||
ipython_pytest
|
|
||||||
--------------
|
|
||||||
|
|
||||||
This little IPython extension gives you the ability to
|
|
||||||
run tests using Pytest in an IPython Notebook.
|
|
||||||
|
|
||||||
The motivation for the extension was to make it possible to
|
|
||||||
demonstrate test-driven development using pytest in an IPython
|
|
||||||
notebook driven presentation.
|
|
||||||
|
|
||||||
This extension does not attempt to enable using notebooks as test
|
|
||||||
suites. The intention is also not to collect test results from
|
|
||||||
multiple cells, but to do separate test runs for cells in an
|
|
||||||
interactive presentation.
|
|
||||||
|
|
||||||
This extension attempts to achieve for pytest_ what the
|
|
||||||
`ipython_nose`_ extension does for nose_. Unfortunately it isn't able
|
|
||||||
to inject globals from the notebook environment into the test like the
|
|
||||||
``%%nose`` cell magic in `ipython_nose_`. Instead, in
|
|
||||||
``ipython_pytest``, all imports, constants and helper functions need
|
|
||||||
to be contained in the test cell itself.
|
|
||||||
|
|
||||||
.. _pytest: https://pytest.org/
|
|
||||||
.. _ipython_nose: https://github.com/taavi/ipython_nose/pull/11/files
|
|
||||||
.. _nose: https://nose.readthedocs.io/
|
|
||||||
|
|
||||||
|
|
||||||
Installation
|
|
||||||
------------
|
|
||||||
|
|
||||||
* Make sure your IPython Notebook server can import ``ipython_pytest.py`` (e.g.
|
|
||||||
copy it to a directory in your ``PYTHONPATH``, or modify ``PYTHONPATH``
|
|
||||||
before starting IPython Notebook). It's also probably sufficient to have
|
|
||||||
``ipython_pytest.py`` in the directory from which you run the notebook, e.g.::
|
|
||||||
|
|
||||||
$ ls
|
|
||||||
ipython_pytest.py
|
|
||||||
$ ipython notebook
|
|
||||||
|
|
||||||
* You can also install it in a virtualenv in developent mode::
|
|
||||||
|
|
||||||
$ cd ipython-pytest
|
|
||||||
$ pip install -e .
|
|
||||||
|
|
||||||
|
|
||||||
Usage
|
|
||||||
-----
|
|
||||||
|
|
||||||
* Add a cell containing::
|
|
||||||
|
|
||||||
%load_ext ipython_pytest
|
|
||||||
|
|
||||||
somewhere in your notebook.
|
|
||||||
|
|
||||||
* Write tests that conform to Pytest conventions, e.g.::
|
|
||||||
|
|
||||||
def test_arithmetic():
|
|
||||||
assert 1+1 == 2
|
|
||||||
|
|
||||||
* Add a cell consisting of::
|
|
||||||
|
|
||||||
%%pytest
|
|
||||||
|
|
||||||
def test_my_stuff():
|
|
||||||
assert 42 == 42
|
|
||||||
|
|
||||||
to your notebook and run that cell. That will discover your
|
|
||||||
``test_*`` functions, run them, and show console output from
|
|
||||||
Pytest.
|
|
||||||
|
|
||||||
* Pass standard Pytest arguments to the magic::
|
|
||||||
|
|
||||||
%%pytest --tb=short
|
|
||||||
|
|
||||||
|
|
||||||
Caveats
|
|
||||||
-------
|
|
||||||
|
|
||||||
* None of the objects defined in other cells of the notebook are available
|
|
||||||
in the test cell.
|
|
||||||
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
* Antti Kaihola <antti dot kaihola at eniram dot fi>
|
|
||||||
|
|
||||||
Thanks to Taavi Burns for the idea in his ipython-nose package.
|
|
||||||
|
|
||||||
|
|
||||||
Get the code
|
|
||||||
------------
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
git clone https://github.com/akaihola/ipython_pytest.git
|
|
||||||
|
|
||||||
|
|
||||||
Copyright
|
|
||||||
---------
|
|
||||||
|
|
||||||
Copyright (c) 2016, Antti Kaihola.
|
|
||||||
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
Redistributions of source code must retain the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
Redistributions in binary form must reproduce the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer in the documentation and/or
|
|
||||||
other materials provided with the distribution.
|
|
||||||
|
|
||||||
Neither the name of the developers nor the names of contributors may
|
|
||||||
be used to endorse or promote products derived from this software
|
|
||||||
without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
||||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
import os
|
|
||||||
import shlex
|
|
||||||
import sys
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
import tempfile
|
|
||||||
from IPython.core import magic
|
|
||||||
from pytest import main as pytest_main
|
|
||||||
|
|
||||||
|
|
||||||
TEST_MODULE_NAME = '_ipytesttmp'
|
|
||||||
|
|
||||||
def pytest(line, cell):
|
|
||||||
with tempfile.TemporaryDirectory() as root:
|
|
||||||
oldcwd = os.getcwd()
|
|
||||||
os.chdir(root)
|
|
||||||
tests_module_path = '{}.py'.format(TEST_MODULE_NAME)
|
|
||||||
try:
|
|
||||||
Path(tests_module_path).write_text(cell)
|
|
||||||
args = shlex.split(line)
|
|
||||||
os.environ['COLUMNS'] = '80'
|
|
||||||
pytest_main(args + [tests_module_path])
|
|
||||||
if TEST_MODULE_NAME in sys.modules:
|
|
||||||
del sys.modules[TEST_MODULE_NAME]
|
|
||||||
finally:
|
|
||||||
os.chdir(oldcwd)
|
|
||||||
|
|
||||||
def load_ipython_extension(ipython):
|
|
||||||
magic.register_cell_magic(pytest)
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
from distutils.core import setup
|
|
||||||
|
|
||||||
|
|
||||||
with open('README.rst') as f:
|
|
||||||
long_description = f.read()
|
|
||||||
|
|
||||||
|
|
||||||
setup(
|
|
||||||
name='ipython_pytest',
|
|
||||||
version='0.0.1.dev',
|
|
||||||
author='Antti Kaihola <antti dot kaihola at eniram dot fi>',
|
|
||||||
py_modules=['ipython_pytest'],
|
|
||||||
url='https://github.com/akaihola/ipython_pytest',
|
|
||||||
license='README.rst',
|
|
||||||
description='IPython extension to run pytest for the current cell.',
|
|
||||||
long_description=long_description,
|
|
||||||
)
|
|
||||||
Reference in New Issue
Block a user