[Pytest-commit] commit/pytest: hpk42: fix issue561 example adapted to python3.

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Fri Aug 8 15:20:48 CEST 2014


1 new commit in pytest:

https://bitbucket.org/hpk42/pytest/commits/4651a2651cc3/
Changeset:   4651a2651cc3
User:        hpk42
Date:        2014-08-08 15:20:37
Summary:     fix issue561 example adapted to python3.
Affected #:  4 files

diff -r 73f340b8e9270e42d1ea43bf119ace3dfabf747f -r 4651a2651cc3a663519e2484fb6d0df4bd8d38a3 CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+NEXT
+-----------
+
+- fixed issue561: adapt autouse fixture example for python3.
+
 2.6.1
 -----------------------------------
 

diff -r 73f340b8e9270e42d1ea43bf119ace3dfabf747f -r 4651a2651cc3a663519e2484fb6d0df4bd8d38a3 _pytest/__init__.py
--- a/_pytest/__init__.py
+++ b/_pytest/__init__.py
@@ -1,2 +1,2 @@
 #
-__version__ = '2.6.1'
+__version__ = '2.6.2.dev1'

diff -r 73f340b8e9270e42d1ea43bf119ace3dfabf747f -r 4651a2651cc3a663519e2484fb6d0df4bd8d38a3 doc/en/fixture.txt
--- a/doc/en/fixture.txt
+++ b/doc/en/fixture.txt
@@ -75,25 +75,26 @@
 marked ``smtp`` fixture function.  Running the test looks like this::
 
     $ py.test test_smtpsimple.py
-    =========================== test session starts ============================
-    platform linux -- Python 3.4.0 -- py-1.4.23 -- pytest-2.6.1
+    ============================= test session starts ==============================
+    platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.1
     collected 1 items
     
     test_smtpsimple.py F
     
-    ================================= FAILURES =================================
-    ________________________________ test_ehlo _________________________________
+    =================================== FAILURES ===================================
+    __________________________________ test_ehlo ___________________________________
     
-    smtp = <smtplib.SMTP object at 0x2ba44047c390>
+    smtp = <smtplib.SMTP instance at 0x7ff89e00d7e8>
     
         def test_ehlo(smtp):
             response, msg = smtp.ehlo()
             assert response == 250
-    >       assert "merlinux" in msg
-    E       TypeError: Type str doesn't support the buffer API
+            assert "merlinux" in msg
+    >       assert 0 # for demo purposes
+    E       assert 0
     
-    test_smtpsimple.py:11: TypeError
-    ========================= 1 failed in 0.18 seconds =========================
+    test_smtpsimple.py:12: AssertionError
+    =========================== 1 failed in 0.17 seconds ===========================
 
 In the failure traceback we see that the test function was called with a
 ``smtp`` argument, the ``smtplib.SMTP()`` instance created by the fixture
@@ -192,27 +193,28 @@
 inspect what is going on and can now run the tests::
 
     $ py.test test_module.py
-    =========================== test session starts ============================
-    platform linux -- Python 3.4.0 -- py-1.4.23 -- pytest-2.6.1
+    ============================= test session starts ==============================
+    platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.1
     collected 2 items
     
     test_module.py FF
     
-    ================================= FAILURES =================================
-    ________________________________ test_ehlo _________________________________
+    =================================== FAILURES ===================================
+    __________________________________ test_ehlo ___________________________________
     
-    smtp = <smtplib.SMTP object at 0x2b37ace44fd0>
+    smtp = <smtplib.SMTP instance at 0x7f36c67e3ab8>
     
         def test_ehlo(smtp):
             response = smtp.ehlo()
             assert response[0] == 250
-    >       assert "merlinux" in response[1]
-    E       TypeError: Type str doesn't support the buffer API
+            assert "merlinux" in response[1]
+    >       assert 0  # for demo purposes
+    E       assert 0
     
-    test_module.py:5: TypeError
-    ________________________________ test_noop _________________________________
+    test_module.py:6: AssertionError
+    __________________________________ test_noop ___________________________________
     
-    smtp = <smtplib.SMTP object at 0x2b37ace44fd0>
+    smtp = <smtplib.SMTP instance at 0x7f36c67e3ab8>
     
         def test_noop(smtp):
             response = smtp.noop()
@@ -221,7 +223,7 @@
     E       assert 0
     
     test_module.py:11: AssertionError
-    ========================= 2 failed in 0.18 seconds =========================
+    =========================== 2 failed in 0.17 seconds ===========================
 
 You see the two ``assert 0`` failing and more importantly you can also see
 that the same (module-scoped) ``smtp`` object was passed into the two
@@ -269,7 +271,7 @@
     $ py.test -s -q --tb=no
     FFteardown smtp
     
-    2 failed in 0.22 seconds
+    2 failed in 0.16 seconds
 
 We see that the ``smtp`` instance is finalized after the two
 tests finished execution.  Note that if we decorated our fixture
@@ -309,8 +311,9 @@
 again, nothing much has changed::
 
     $ py.test -s -q --tb=no
-    FF
-    2 failed in 0.19 seconds
+    FFteardown smtp
+    
+    2 failed in 0.17 seconds
 
 Let's quickly create another test module that actually sets the
 server URL in its module namespace::
@@ -326,11 +329,11 @@
 
     $ py.test -qq --tb=short test_anothersmtp.py
     F
-    ================================= FAILURES =================================
-    ______________________________ test_showhelo _______________________________
+    =================================== FAILURES ===================================
+    ________________________________ test_showhelo _________________________________
     test_anothersmtp.py:5: in test_showhelo
         assert 0, smtp.helo()
-    E   AssertionError: (250, b'mail.python.org')
+    E   AssertionError: (250, 'hq.merlinux.eu')
 
 voila! The ``smtp`` fixture function picked up our mail server name
 from the module namespace.
@@ -374,21 +377,22 @@
 
     $ py.test -q test_module.py
     FFFF
-    ================================= FAILURES =================================
-    __________________________ test_ehlo[merlinux.eu] __________________________
+    =================================== FAILURES ===================================
+    ____________________________ test_ehlo[merlinux.eu] ____________________________
     
-    smtp = <smtplib.SMTP object at 0x2b5a2bc0e048>
+    smtp = <smtplib.SMTP instance at 0x7f4fdf04cea8>
     
         def test_ehlo(smtp):
             response = smtp.ehlo()
             assert response[0] == 250
-    >       assert "merlinux" in response[1]
-    E       TypeError: Type str doesn't support the buffer API
+            assert "merlinux" in response[1]
+    >       assert 0  # for demo purposes
+    E       assert 0
     
-    test_module.py:5: TypeError
-    __________________________ test_noop[merlinux.eu] __________________________
+    test_module.py:6: AssertionError
+    ____________________________ test_noop[merlinux.eu] ____________________________
     
-    smtp = <smtplib.SMTP object at 0x2b5a2bc0e048>
+    smtp = <smtplib.SMTP instance at 0x7f4fdf04cea8>
     
         def test_noop(smtp):
             response = smtp.noop()
@@ -397,22 +401,22 @@
     E       assert 0
     
     test_module.py:11: AssertionError
-    ________________________ test_ehlo[mail.python.org] ________________________
+    __________________________ test_ehlo[mail.python.org] __________________________
     
-    smtp = <smtplib.SMTP object at 0x2b5a2bdb3ac8>
+    smtp = <smtplib.SMTP instance at 0x7f4fdf07c290>
     
         def test_ehlo(smtp):
             response = smtp.ehlo()
             assert response[0] == 250
     >       assert "merlinux" in response[1]
-    E       TypeError: Type str doesn't support the buffer API
+    E       assert 'merlinux' in 'mail.python.org\nSIZE 25600000\nETRN\nSTARTTLS\nENHANCEDSTATUSCODES\n8BITMIME\nDSN\nSMTPUTF8'
     
-    test_module.py:5: TypeError
-    -------------------------- Captured stdout setup ---------------------------
-    finalizing <smtplib.SMTP object at 0x2b5a2bc0e048>
-    ________________________ test_noop[mail.python.org] ________________________
+    test_module.py:5: AssertionError
+    ---------------------------- Captured stdout setup -----------------------------
+    finalizing <smtplib.SMTP instance at 0x7f4fdf04cea8>
+    __________________________ test_noop[mail.python.org] __________________________
     
-    smtp = <smtplib.SMTP object at 0x2b5a2bdb3ac8>
+    smtp = <smtplib.SMTP instance at 0x7f4fdf07c290>
     
         def test_noop(smtp):
             response = smtp.noop()
@@ -421,7 +425,7 @@
     E       assert 0
     
     test_module.py:11: AssertionError
-    4 failed in 6.25 seconds
+    4 failed in 6.26 seconds
 
 We see that our two test functions each ran twice, against the different
 ``smtp`` instances.  Note also, that with the ``mail.python.org``
@@ -460,14 +464,14 @@
 ``smtp`` fixture and instantiates an ``App`` object with it.  Let's run it::
 
     $ py.test -v test_appsetup.py
-    =========================== test session starts ============================
-    platform linux -- Python 3.4.0 -- py-1.4.23 -- pytest-2.6.1 -- /home/hpk/p/pytest/.tox/regen/bin/python3.4
+    ============================= test session starts ==============================
+    platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.1 -- /home/hpk/venv/0/bin/python
     collecting ... collected 2 items
     
     test_appsetup.py::test_smtp_exists[merlinux.eu] PASSED
     test_appsetup.py::test_smtp_exists[mail.python.org] PASSED
     
-    ========================= 2 passed in 5.90 seconds =========================
+    =========================== 2 passed in 5.46 seconds ===========================
 
 Due to the parametrization of ``smtp`` the test will run twice with two
 different ``App`` instances and respective smtp servers.  There is no
@@ -505,7 +509,7 @@
     @pytest.fixture(scope="module", params=["mod1", "mod2"])
     def modarg(request):
         param = request.param
-        print "create", param
+        print ("create", param)
         def fin():
             print ("fin %s" % param)
         return param
@@ -515,30 +519,39 @@
         return request.param
 
     def test_0(otherarg):
-        print "  test0", otherarg
+        print ("  test0", otherarg)
     def test_1(modarg):
-        print "  test1", modarg
+        print ("  test1", modarg)
     def test_2(otherarg, modarg):
-        print "  test2", otherarg, modarg
+        print ("  test2", otherarg, modarg)
 
 Let's run the tests in verbose mode and with looking at the print-output::
 
     $ py.test -v -s test_module.py
-    =========================== test session starts ============================
-    platform linux -- Python 3.4.0 -- py-1.4.23 -- pytest-2.6.1 -- /home/hpk/p/pytest/.tox/regen/bin/python3.4
-    collecting ... collected 0 items / 1 errors
+    ============================= test session starts ==============================
+    platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.1 -- /home/hpk/venv/0/bin/python
+    collecting ... collected 8 items
     
-    ================================== ERRORS ==================================
-    _____________________ ERROR collecting test_module.py ______________________
-    /home/hpk/p/pytest/.tox/regen/lib/python3.4/site-packages/_pytest/python.py:463: in _importtestmodule
-        mod = self.fspath.pyimport(ensuresyspath=True)
-    /home/hpk/p/pytest/.tox/regen/lib/python3.4/site-packages/py/_path/local.py:620: in pyimport
-        __import__(modname)
-    E     File "/tmp/doc-exec-184/test_module.py", line 6
-    E       print "create", param
-    E                    ^
-    E   SyntaxError: invalid syntax
-    ========================= 1 error in 0.03 seconds ==========================
+    test_module.py::test_0[1] ('  test0', 1)
+    PASSED
+    test_module.py::test_0[2] ('  test0', 2)
+    PASSED
+    test_module.py::test_1[mod1] ('create', 'mod1')
+    ('  test1', 'mod1')
+    PASSED
+    test_module.py::test_2[1-mod1] ('  test2', 1, 'mod1')
+    PASSED
+    test_module.py::test_2[2-mod1] ('  test2', 2, 'mod1')
+    PASSED
+    test_module.py::test_1[mod2] ('create', 'mod2')
+    ('  test1', 'mod2')
+    PASSED
+    test_module.py::test_2[1-mod2] ('  test2', 1, 'mod2')
+    PASSED
+    test_module.py::test_2[2-mod2] ('  test2', 2, 'mod2')
+    PASSED
+    
+    =========================== 8 passed in 0.01 seconds ===========================
 
 You can see that the parametrized module-scoped ``modarg`` resource caused
 an ordering of test execution that lead to the fewest possible "active" resources. The finalizer for the ``mod1`` parametrized resource was executed

diff -r 73f340b8e9270e42d1ea43bf119ace3dfabf747f -r 4651a2651cc3a663519e2484fb6d0df4bd8d38a3 setup.py
--- a/setup.py
+++ b/setup.py
@@ -27,7 +27,7 @@
         name='pytest',
         description='pytest: simple powerful testing with Python',
         long_description=long_description,
-        version='2.6.1',
+        version='2.6.2.dev1',
         url='http://pytest.org',
         license='MIT license',
         platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],

Repository URL: https://bitbucket.org/hpk42/pytest/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.


More information about the pytest-commit mailing list