<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>13411</bug_id>
          
          <creation_ts>2019-06-19 16:12:29 +0000</creation_ts>
          <short_desc>ptest-perl.bbclass run-ptest is too greedy for SKIP</short_desc>
          <delta_ts>2026-08-28 07:17:12 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>QA/Testing</classification>
          <product>Package Testing (ptest)</product>
          <component>ptest</component>
          <version>3.1</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>6.99</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Orling">tim.orling</reporter>
          <assigned_to name="Unassigned">unassigned</assigned_to>
          <cc>mathieu.dubois-briand</cc>
    
    <cc>randy.macleod</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>84253</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2019-06-19 16:12:29 +0000</bug_when>
    <thetext>The current implementation will take the output of any test case and mark the entire suite as SKIP when &quot;skip&quot; or &quot;SKIP&quot; is in the test output. Many packages have tests that test if something is properly skipped. If a line starts with &quot;ok&quot; it should most likely be a PASS (regardless of the presence of the string &quot;skip&quot; in the output). Properly parse TAP output for actual outcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84623</commentid>
    <comment_count>1</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2019-08-08 15:33:47 +0000</bug_when>
    <thetext>From the TAP specification [1]:

DIRECTIVES
Directives are special notes that follow a # on the test line. Only two are currently defined: TODO and SKIP. Note that these two keywords are not case-sensitive.

TODO tests
If the directive starts with # TODO, the test is counted as a todo test, and the text after TODO is the explanation.

not ok 13 # TODO bend space and time
Note that if the TODO has an explanation it must be separated from TODO by a space. These tests represent a feature to be implemented or a bug to be fixed and act as something of an executable “things to do” list. They are not expected to succeed. Should a todo test point begin succeeding, the harness should report it as a bonus. This indicates that whatever you were supposed to do has been done and you should promote this to a normal test point.

Skipping tests
If the directive starts with # SKIP, the test is counted as having been skipped. If the whole test file succeeds, the count of skipped tests is included in the generated output. The harness should report the text after # SKIP\S*\s+ as a reason for skipping.

ok 23 # skip Insufficient flogiston pressure.
Similarly, one can include an explanation in a plan line, emitted if the test file is skipped completely:

1..0 # Skipped: WWW::Mechanize not installed

[1] https://testanything.org/tap-specification.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84624</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2019-08-08 15:39:54 +0000</bug_when>
    <thetext>The regex should be checking for test suites that have been skipped, which would be of the format:

1..0 # Skipped: WWW::Mechanize not installed

But not test cases that have been skipped (which would start with &apos;ok&apos;, and have &apos;# skip|SKIP&apos; directive), which would be of the format:

ok 23 # skip Insufficient flogiston pressure.


We may want to skip or ignore failed TODO directive test cases. This pollutes ptest results with false negatives that are really only helpful to the author of the perl module. In practice individual *.t files can be skipped in the recipe, but this is a manual process and certainly brittle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85303</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2019-10-10 15:02:26 +0000</bug_when>
    <thetext>I have not yet found a workable solution and 3.0 is in QA, so bump to 3.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86098</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2020-01-23 15:56:11 +0000</bug_when>
    <thetext>Alex patched the ptest for libmodule-build-perl, which is based on the same code. Apply the same fix to the general script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94236</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2022-10-24 22:42:55 +0000</bug_when>
    <thetext>Bump. Should be able to get around to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98761</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2024-04-18 14:55:37 +0000</bug_when>
    <thetext>I don&apos;t seem to be getting to this, so moving to 5.99 and that Unassigned developer that has a large back log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106668</commentid>
    <comment_count>7</comment_count>
    <who name="Mathieu Dubois-Briand">mathieu.dubois-briand</who>
    <bug_when>2026-08-28 07:16:49 +0000</bug_when>
    <thetext>Patch merged: https://git.openembedded.org/openembedded-core/commit/?id=3e5939faa8f522fbf43ce0f3c5ccb07c1e5a46c2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106669</commentid>
    <comment_count>8</comment_count>
    <who name="Mathieu Dubois-Briand">mathieu.dubois-briand</who>
    <bug_when>2026-08-28 07:17:12 +0000</bug_when>
    <thetext>Using correct status.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>