<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:arkadiusz.hiler@intel.com" title="Arek Hiler <arkadiusz.hiler@intel.com>"> <span class="fn">Arek Hiler</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Generate a list of tags for the machine that runs the testsuite"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111630">bug 111630</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">CC</td>
           <td>
                
           </td>
           <td>petri.latvala@intel.com
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Generate a list of tags for the machine that runs the testsuite"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111630#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Generate a list of tags for the machine that runs the testsuite"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111630">bug 111630</a>
              from <span class="vcard"><a class="email" href="mailto:arkadiusz.hiler@intel.com" title="Arek Hiler <arkadiusz.hiler@intel.com>"> <span class="fn">Arek Hiler</span></a>
</span></b>
        <pre>Martin first suggested to have something like
igt_require_feature(TWO_DISPLAYS), with a set of different defines/function
pointers, or whatever - so we have a single way of checking for a number of
connected displays and it's simple to tie it with a cibuglog tag.

I find that hard both hard to use (using names instead of numbers, changing
almost all of test to use this new framework) and implement (centralizing a lot
of knowledge, how to do the display checks without passing igt_display, fd,
etc). But it would be easy to assure consistency in the skip messages.

What I would to propose instead is a special igt test that would do the
discovery:

/* has to be before KMS/DISPALY checks to enable all outputs */
igt_subtest("CHAMELIUM") {
        chamelium = chamelium_init(fd);
        igt_require(chamelium);
        /* deinit && plug all */
}

igt_subtest_group {
        volatile igt_display display;

        igt_fixture {
                igt_require_display(&display, fd);
        }

        igt_subtest("DISPLAY")
        { /* intentionaly left blank */ }

        igt_subtest("TWO_OUTPUTS") {
                igt_require_n_outputs(&display, 2);
        }

        igt_feature("THREE_OUTPUTS") {
                igt_require_n_outputs(&display, 3);
        }
}


Then you can run it like that: `igt_runner -m -t feature_detection ...` which
would get you a nice parsable, piglit-style json as well as sample skip
messages.

It will still need a lot of test changes to assure consistency, but arguably
fewer than the igt_require_feature(XYZ). Since it's also a piglit-format json
we can ingest it easily and check for flip-floppers on those tags :-)</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>