<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 &lt;<a
            moz-do-not-send="true" href="mailto:bjlockie@lockie.ca">bjlockie@lockie.ca</a>&gt;
          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):
&gt;       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 &lt;<a moz-do-not-send="true"
                      href="mailto:bjlockie@lockie.ca" class="gmail_msg"
                      target="_blank">bjlockie@lockie.ca</a>&gt; 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 &lt;module&gt;<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 &lt;module&gt;
    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 &lt;<a
                              moz-do-not-send="true"
                              href="mailto:bjlockie@lockie.ca"
                              class="gmail_msg" target="_blank">bjlockie@lockie.ca</a>&gt;
                            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>