<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Is it possible to skip all the tests within a class without
having to pass "a" into all the functions?<br>
</p>
<br>
<div class="moz-cite-prefix">On 2016-10-16 12:56 AM, Bruno Oliveira
wrote:<br>
</div>
<blockquote
cite="mid:CA+RQFfefJYqVwOq1ECg_fZ+fnk7RsK+BTVd8jETZ2H-GXSAdVg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="markdown-here-wrapper" style="">
<p style="margin:1.2em 0px!important">Hi James,</p>
<p style="margin:1.2em 0px!important">What error do you get?
From your example it is missing a <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">self</code>
argument, otherwise it should work just fine.</p>
<p style="margin:1.2em 0px!important">Cheers,<br>
Bruno.</p>
<div
title="MDH:SGkgSmFtZXMsPGRpdj48YnI+PC9kaXY+PGRpdj5XaGF0IGVycm9yIGRvIHlvdSBnZXQ/IEZyb20geW91ciBleGFtcGxlIGl0IGlzIG1pc3NpbmcgYSBgc2VsZmAgYXJndW1lbnQsIG90aGVyd2lzZSBp
dCBzaG91bGQgd29yayBqdXN0IGZpbmUuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5DaGVlcnMs
PC9kaXY+PGRpdj5CcnVuby48L2Rpdj4="
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"></div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Sat, Oct 15, 2016 at 11:03 AM James <<a
moz-do-not-send="true" href="mailto:bjlockie@lockie.ca">bjlockie@lockie.ca</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
<p class="gmail_msg">I tried to make it work with a class:<br
class="gmail_msg">
</p>
<p class="gmail_msg">import pytest<br class="gmail_msg">
<br class="gmail_msg">
# testscript.py<br class="gmail_msg">
class TestAclasss:</p>
</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
<p class="gmail_msg"><br class="gmail_msg">
def test_foo(a):<br class="gmail_msg">
assert a == '1'<br class="gmail_msg">
</p>
</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> Do I
need to do something in the __init__ function?</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br
class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<div class="m_-3825917875471976212moz-cite-prefix gmail_msg">On
2016-10-14 02:50 PM, Bruno Oliveira wrote:<br
class="gmail_msg">
</div>
</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
<blockquote type="cite" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div
class="m_-3825917875471976212markdown-here-wrapper
gmail_msg">
<p style="margin:1.2em 0px!important"
class="gmail_msg">Hi James,</p>
<p style="margin:1.2em 0px!important"
class="gmail_msg">Thanks for posting the complete
example.</p>
<p style="margin:1.2em 0px!important"
class="gmail_msg">There are some problems here,
both general Python problems and some related to
how you are using pytest:</p>
<ol style="margin:1.2em 0px;padding-left:2em"
class="gmail_msg">
<li style="margin:0.5em 0px" class="gmail_msg"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline" class="gmail_msg">testscript.py</code>
has no access to the <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline" class="gmail_msg">A</code>
function because it doesn’t import it. </li>
<li style="margin:0.5em 0px" class="gmail_msg">You
probably want to declare your fixture in a <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline" class="gmail_msg">conftest.py</code>
file so pytest can make it available for all
tests in your test suite.</li>
<li style="margin:0.5em 0px" class="gmail_msg">You
have to first declare your option using the <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline" class="gmail_msg">pytest_addoption</code>
hook.</li>
<li style="margin:0.5em 0px" class="gmail_msg">Since
you intend to provide the value passed in the
command line to the tests using a fixture, it is
simpler to skip the test in the fixture itself.</li>
</ol>
<p style="margin:1.2em 0px!important"
class="gmail_msg">Here’s the full example with my
suggestions:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px" class="gmail_msg"><code class="m_-3825917875471976212hljs m_-3825917875471976212language-python gmail_msg" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre-wrap;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;background:rgb(35,36,31);color:rgb(248,248,242)"><span class="m_-3825917875471976212hljs-comment gmail_msg" style="color:rgb(117,113,94)"># conftest.py</span>
<span class="m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">import</span> pytest
<span class="m_-3825917875471976212hljs-decorator gmail_msg" style="color:rgb(117,113,94)">@pytest.fixture(scope='module')</span>
<span class="m_-3825917875471976212hljs-function gmail_msg" style="color:rgb(249,38,114)"><span class="m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114);color:rgb(102,217,239)">def</span> <span class="m_-3825917875471976212hljs-title gmail_msg" style="color:rgb(166,226,46)">a</span><span class="m_-3825917875471976212hljs-params gmail_msg" style="color:rgb(248,248,242)">(request)</span>:</span>
value = request.config.getoption(<span class="m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">"A"</span>)
<span class="m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">if</span> <span class="m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">not</span> value:
pytest.skip(<span class="m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">'test needs -A option to run'</span>)
<span class="m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">return</span> value
<span class="m_-3825917875471976212hljs-function gmail_msg" style="color:rgb(249,38,114)"><span class="m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114);color:rgb(102,217,239)">def</span> <span class="m_-3825917875471976212hljs-title gmail_msg" style="color:rgb(166,226,46)">pytest_addoption</span><span class="m_-3825917875471976212hljs-params gmail_msg" style="color:rgb(248,248,242)">(parser)</span>:</span>
parser.addoption(<span class="m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">"--A"</span>, action=<span class="m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">"store"</span>, default=<span class="m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">None</span>, help=<span class="m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">"a option"</span>)
<span class="m_-3825917875471976212hljs-comment gmail_msg" style="color:rgb(117,113,94)"># testscript.py</span>
<span class="m_-3825917875471976212hljs-function gmail_msg" style="color:rgb(249,38,114)"><span class="m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114);color:rgb(102,217,239)">def</span> <span class="m_-3825917875471976212hljs-title gmail_msg" style="color:rgb(166,226,46)">test_foo</span><span class="m_-3825917875471976212hljs-params gmail_msg" style="color:rgb(248,248,242)">(a)</span>:</span>
<span class="m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">assert</span> a == <span class="m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">'1'</span>
</code></pre>
<p style="margin:1.2em 0px!important"
class="gmail_msg">Running it:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px" class="gmail_msg"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre-wrap;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important" class="gmail_msg">$ py.test testscript.py -q
s
1 skipped in 0.01 seconds
$ py.test testscript.py -q --A 1
.
1 passed in 0.01 seconds
$ py.test testscript.py -q --A 2
F
================================== FAILURES ===================================
__________________________________ test_foo ___________________________________
a = '2'
def test_foo(a):
> assert a == '1'
E assert '2' == '1'
E - 2
E + 1
testscript.py:6: AssertionError
1 failed in 0.07 seconds
</code></pre>
<p style="margin:1.2em 0px!important"
class="gmail_msg">Hope that helps,<br
class="gmail_msg">
Bruno.</p>
<div
title="MDH:SGkgSmFtZXMsPGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5UaGFua3MgZm9yIHBvc3RpbmcgdGhlIGNvbXBsZXRlIGV4YW1wbGUuPGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+
VGhlcmUgYXJlIHNvbWUgcHJvYmxlbXMgaGVyZSwgYm90aCBnZW5lcmFsIFB5dGhvbiBwcm9ibGVt
cyBhbmQgc29tZSByZWxhdGVkIHRvIGhvdyB5b3UgYXJlIHVzaW5nIHB5dGVzdDo8L2Rpdj48ZGl2
IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjEuIGB0
ZXN0c2NyaXB0LnB5YCBoYXMgbm8gYWNjZXNzIHRvIHRoZSBgQWAgZnVuY3Rpb24gYmVjYXVzZSBp
dCBkb2Vzbid0IGltcG9ydCBpdC4mbmJzcDs8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjIu
IFlvdSBwcm9iYWJseSB3YW50IHRvIGRlY2xhcmUgeW91ciBmaXh0dXJlIGluIGEgYGNvbmZ0ZXN0
LnB5YCBmaWxlIHNvIHB5dGVzdCBjYW4gbWFrZSBpdCBhdmFpbGFibGUgZm9yIGFsbCB0ZXN0cyBp
biB5b3VyIHRlc3Qgc3VpdGUuPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4zLiBZb3UgaGF2
ZSB0byBmaXJzdCBkZWNsYXJlIHlvdXIgb3B0aW9uIHVzaW5nIHRoZSBgcHl0ZXN0X2FkZG9wdGlv
bmAgaG9vay48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjQuIFNpbmNlIHlvdSBpbnRlbmQg
dG8gcHJvdmlkZSB0aGUgdmFsdWUgcGFzc2VkIGluIHRoZSBjb21tYW5kIGxpbmUgdG8gdGhlIHRl
c3RzIHVzaW5nIGEgZml4dHVyZSwgaXQgaXMgc2ltcGxlciB0byBza2lwIHRoZSB0ZXN0IGluIHRo
ZSBmaXh0dXJlIGl0c2VsZi48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48
ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPkhlcmUncyB0aGUgZnVsbCBleGFtcGxlIHdpdGggbXkgc3Vn
Z2VzdGlvbnM6PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnI+PC9kaXY+PGRpdiBjbGFz
cz0iZ21haWxfbXNnIj5gYGBweXRob248L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPiMgY29u
ZnRlc3QucHk8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxkaXYgY2xhc3M9ImdtYWlsX21z
ZyI+aW1wb3J0IHB5dGVzdDwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+PGJyPjwvZGl2Pjxk
aXYgY2xhc3M9ImdtYWlsX21zZyI+QHB5dGVzdC5maXh0dXJlKHNjb3BlPSdtb2R1bGUnKTwvZGl2
PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+ZGVmIGEocmVxdWVzdCk6PC9kaXY+PGRpdiBjbGFzcz0i
Z21haWxfbXNnIj4mbmJzcDsgJm5ic3A7IHZhbHVlID0gcmVxdWVzdC5jb25maWcuZ2V0b3B0aW9u
KCJBIik8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPiZuYnNwOyAmbmJzcDsgaWYgbm90IHZh
bHVlOjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7IHB5dGVzdC5za2lwKCd0ZXN0IG5lZWRzIC1BIG9wdGlvbiB0byBydW4nKTwvZGl2PjxkaXYg
Y2xhc3M9ImdtYWlsX21zZyI+Jm5ic3A7ICZuYnNwOyByZXR1cm4gdmFsdWU8L2Rpdj48ZGl2IGNs
YXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPmRlZiBweXRl
c3RfYWRkb3B0aW9uKHBhcnNlcik6PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4mbmJzcDsg
Jm5ic3A7IHBhcnNlci5hZGRvcHRpb24oIi0tQSIsIGFjdGlvbj0ic3RvcmUiLCBkZWZhdWx0PU5v
bmUsIGhlbHA9ImEgb3B0aW9uIikgJm5ic3A7ICZuYnNwOzwvZGl2PjxkaXYgY2xhc3M9ImdtYWls
X21zZyI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+IyB0ZXN0c2NyaXB0LnB5PC9k
aXY+PGRpdj48ZGl2PmRlZiB0ZXN0X2ZvbyhhKTo8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYXNz
ZXJ0IGEgPT0gJzEnPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5gYGA8
L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9t
c2ciPlJ1bm5pbmcgaXQ6PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnI+PC9kaXY+PGRp
diBjbGFzcz0iZ21haWxfbXNnIj5gYGA8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxkaXYg
Y2xhc3M9ImdtYWlsX21zZyI+JCBweS50ZXN0IHRlc3RzY3JpcHQucHkgLXE8L2Rpdj48ZGl2IGNs
YXNzPSJnbWFpbF9tc2ciPnM8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjEgc2tpcHBlZCBp
biAwLjAxIHNlY29uZHM8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2
IGNsYXNzPSJnbWFpbF9tc2ciPiQgcHkudGVzdCB0ZXN0c2NyaXB0LnB5IC1xIC0tQSAxPC9kaXY+
PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4uPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4xIHBh
c3NlZCBpbiAwLjAxIHNlY29uZHM8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rp
dj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPiQgcHkudGVzdCB0ZXN0c2NyaXB0LnB5IC1xIC0tQSAy
PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5GPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNn
Ij49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEZBSUxVUkVTID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIHRlc3RfZm9vIF9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnI+PC9kaXY+
PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5hID0gJzInPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNn
Ij48YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4mbmJzcDsgJm5ic3A7IGRlZiB0ZXN0
X2ZvbyhhKTo8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPiZndDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgYXNzZXJ0IGEgPT0gJzEnPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5FICZuYnNw
OyAmbmJzcDsgJm5ic3A7IGFzc2VydCAnMicgPT0gJzEnPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxf
bXNnIj5FICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAtIDI8L2Rpdj48ZGl2IGNsYXNzPSJn
bWFpbF9tc2ciPkUgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICsgMTwvZGl2PjxkaXYgY2xh
c3M9ImdtYWlsX21zZyI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+dGVzdHNjcmlw
dC5weTo2OiBBc3NlcnRpb25FcnJvcjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+MSBmYWls
ZWQgaW4gMC4wNyBzZWNvbmRzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5gYGA8
L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9t
c2ciPkhvcGUgdGhhdCBoZWxwcyw8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPkJydW5vLjwv
ZGl2Pg=="
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"
class="gmail_msg"></div>
</div>
<div class="gmail_msg"><br class="gmail_msg">
</div>
<div class="gmail_msg"><br class="gmail_msg">
</div>
</div>
<div class="gmail_quote gmail_msg">
<div dir="ltr" class="gmail_msg">On Fri, Oct 14, 2016
at 3:07 PM James <<a moz-do-not-send="true"
href="mailto:bjlockie@lockie.ca" class="gmail_msg"
target="_blank">bjlockie@lockie.ca</a>> wrote:<br
class="gmail_msg">
</div>
<blockquote class="gmail_quote gmail_msg"
style="margin:0 0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"> <br class="gmail_msg">
Here is the exact code:<br class="gmail_msg">
$ cat testconfig.py <br class="gmail_msg">
import pytest</div>
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"><br class="gmail_msg">
<br class="gmail_msg">
@pytest.fixture(scope='module')<br
class="gmail_msg">
def A(request):<br class="gmail_msg">
return request.config.getoption("--A")<br
class="gmail_msg">
<br class="gmail_msg">
</div>
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"> $ cat testscript.py <br
class="gmail_msg">
import pytest</div>
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"><br class="gmail_msg">
<br class="gmail_msg">
skip_A = pytest.mark.skipif(<br class="gmail_msg">
A(pytest.config.request),<br class="gmail_msg">
reason="need --A option to run"<br
class="gmail_msg">
)<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
</div>
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"> $ py.test testscript.py <br
class="gmail_msg">
============================= test session starts
==============================<br
class="gmail_msg">
platform linux2 -- Python 2.7.12, pytest-2.8.7,
py-1.4.31, pluggy-0.3.1<br class="gmail_msg">
rootdir: /home/rjl/pytest, inifile: <br
class="gmail_msg">
collected 0 items / 1 errors <br
class="gmail_msg">
<br class="gmail_msg">
==================================== ERRORS
====================================<br
class="gmail_msg">
________________________ ERROR collecting
testscript.py ________________________<br
class="gmail_msg">
testscript.py:4: in <module><br
class="gmail_msg">
A(pytest.config.request),</div>
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"><br class="gmail_msg">
E NameError: name 'A' is not defined<br
class="gmail_msg">
</div>
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"> =========================== 1
error in 0.01 seconds ============================<br
class="gmail_msg">
<span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg"><br class="gmail_msg">
Instead of doing </span><br class="gmail_msg">
<span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg"><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">pytest</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o
gmail_msg">.</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">config</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o
gmail_msg">.</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">getoption</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p
gmail_msg"></span> more than one like this:<br
class="gmail_msg">
skip_A</span> <span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o
gmail_msg">=</span> <span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">pytest</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o
gmail_msg">.</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">mark</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o
gmail_msg">.</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">skipif</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p
gmail_msg">(</span> <span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">pytest</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o
gmail_msg">.</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">config</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o
gmail_msg">.</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">getoption</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p
gmail_msg">(</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045s2
gmail_msg">"--A"</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p
gmail_msg">),</span> <span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n
gmail_msg">reason</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o
gmail_msg">=</span><span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045s2
gmail_msg">"need --A option to run"</span> <span
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p
gmail_msg">)<br class="gmail_msg">
I want to do it once in the config file.</span><br
class="gmail_msg">
I might want to use the value of the argument --A
elsewhere so I don't want to do getoption many
times.</div>
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"><br class="gmail_msg">
<br class="gmail_msg">
<div
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045moz-cite-prefix
gmail_msg">On 2016-10-14 01:16 PM, Bruno
Oliveira wrote:<br class="gmail_msg">
</div>
<blockquote type="cite" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045markdown-here-wrapper
gmail_msg">
<p style="margin:1.2em 0px!important"
class="gmail_msg">Hi,</p>
<p style="margin:1.2em 0px!important"
class="gmail_msg">After fixing the missing
“pytest” import, I get this error:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px" class="gmail_msg"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre-wrap;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important" class="gmail_msg">foo.py:8: in <module>
A(pytest.config.request),
E AttributeError: 'Config' object has no attribute 'request'
</code></pre>
<p style="margin:1.2em 0px!important"
class="gmail_msg">Please make sure to post
a complete example and state clearly what
your problem is and what you are trying to
accomplish.</p>
<p style="margin:1.2em 0px!important"
class="gmail_msg">Cheers,<br
class="gmail_msg">
Bruno.</p>
<div
title="MDH:SGksPGRpdj48YnI+PC9kaXY+PGRpdj5BZnRlciBmaXhpbmcgdGhlIG1pc3NpbmcgInB5dGVzdCIgaW1wb3J0LCBJIGdldCB0aGlzIGVycm9yOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+YGBgPC9kaXY+PGRpdj48ZGl2PmZvby5weTo4OiBpbiAmbHQ7bW9kdWxlJmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBBKHB5dGVzdC5jb25maWcucmVxdWVzdCksPC9kaXY+PGRpdj5FICZuYnNwOyBBdHRy
aWJ1dGVFcnJvcjogJ0NvbmZpZycgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3JlcXVlc3QnPC9k
aXY+PC9kaXY+PGRpdj5gYGA8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlBsZWFzZSBtYWtlIHN1
cmUgdG8gcG9zdCBhIGNvbXBsZXRlIGV4YW1wbGUgYW5kIHN0YXRlIGNsZWFybHkgd2hhdCB5b3Vy
IHByb2JsZW0gaXMgYW5kIHdoYXQgeW91IGFyZSB0cnlpbmcgdG8gYWNjb21wbGlzaC48L2Rpdj48
ZGl2Pjxicj48L2Rpdj48ZGl2PkNoZWVycyw8L2Rpdj48ZGl2PkJydW5vLjwvZGl2Pg=="
style="min-height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"
class="gmail_msg"></div>
</div>
</div>
<br class="gmail_msg">
<div class="gmail_quote gmail_msg">
<div dir="ltr" class="gmail_msg">On Fri, Oct
14, 2016 at 2:03 PM James <<a
moz-do-not-send="true"
href="mailto:bjlockie@lockie.ca"
class="gmail_msg" target="_blank">bjlockie@lockie.ca</a>>
wrote:<br class="gmail_msg">
</div>
<blockquote class="gmail_quote gmail_msg"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg">
<div
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045m_2364392736954871010moz-text-html
gmail_msg" lang="x-western">
<div
class="m_-3825917875471976212m_-5505830640466454722m_-779162668504465045m_2364392736954871010WordSection1
gmail_msg">I have this in my config
file:<br class="gmail_msg">
@pytest.fixture(scope='module')<br
class="gmail_msg">
def A(request):<br class="gmail_msg">
return
request.config.getoption("--A")<br
class="gmail_msg">
<br class="gmail_msg">
skip_A = pytest.mark.skipif(<br
class="gmail_msg">
A(pytest.config.request),<br
class="gmail_msg">
reason="need --A option to run"<br
class="gmail_msg">
)<br class="gmail_msg">
<br class="gmail_msg">
but when I run it, it says <br
class="gmail_msg">
E NameError: name 'A' is not defined<br
class="gmail_msg">
<br class="gmail_msg">
</div>
</div>
</div>
_______________________________________________<br class="gmail_msg">
testing-in-python mailing list<br
class="gmail_msg">
<a moz-do-not-send="true"
href="mailto:testing-in-python@lists.idyll.org"
class="gmail_msg" target="_blank">testing-in-python@lists.idyll.org</a><br
class="gmail_msg">
<a moz-do-not-send="true"
href="http://lists.idyll.org/listinfo/testing-in-python"
rel="noreferrer" class="gmail_msg"
target="_blank">http://lists.idyll.org/listinfo/testing-in-python</a><br
class="gmail_msg">
</blockquote>
</div>
</blockquote>
<br class="gmail_msg">
</div>
</blockquote>
</div>
</div>
</blockquote>
<br class="gmail_msg">
</div>
</blockquote>
</div>
</blockquote>
<br>
</body>
</html>