HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 0326 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 0326.


Report 0326 Actions


    Problem Report Number 0326
    Submitter's Classification Specification problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0042
    Raised 1994-06-17 08:00
    Updated 2003-03-13 08:00
    Published 1994-06-23 08:00
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.4
    Test Identification XPG4.os/genuts/regcomp 32, 34, 36, 38
    Specification System Interfaces and Headers Issue 4
    Location in Spec See Problem Text
    Problem Summary PIN4.042 The XPG4 XSI doesn't support the expected results for these testcases. The return values REG_EBRACE and REG_BADBR are valid only for BREs, the spec doesn't define any corresponding return values for...
    Problem Text
    The XPG4 XSI doesn't support the expected results for these testcases.
    The return values REG_EBRACE and REG_BADBR are valid only for BREs,
    the spec doesn't define any corresponding return values for EREs.
    Additionally, on page 101 of the XBD spec, the following is found:

    *+?{ The asterisk, plus-sign, question-mark and left brace are special
    except when used in a bracket expression (see section 7.3.5 on page
    97). Any of the following uses produce undefined results:

    - if these characters appear first in an ERE, or immediately
    following a vertical-line, circumflex, or left-parenthesis

    - if a left brace is not part of a valid interval expression.

    Thus, it is up to the implementation to decide how handle the patterns
    used in these testcases. Our implementation treats invalid interval
    expressions as ordinary characters, and thus the return code of 0.
    Test Output
    ************************************************************************
    /tset/XPG4.os/genuts/regcomp/T.regcomp 32 Failed

    Test Description:
    If regcomp() is supported:
    When the REG_EXTENDED flag is set in cflags, and pattern contains
    an expression of the form "{m,n}", "{m,}" or "{m}", in which
    either m or n is not a number, then a call to regcomp(preg,
    pattern, cflags) returns either REG_BADBR or REG_BADPAT.
    Otherwise:
    A call to regcomp() returns REG_ENOSYS and sets errno to ENOSYS.

    Test Strategy:
    CREATE pattern with 890magIFd{0,j} , 890magIFD{k,3} , 890magIFD{k,} ,
    890magIFD{k}
    CALL regcomp() with pattern and cflags set to REG_EXTENDED
    VERIFY that regcomp() returned either REG_BADBR or REG_BADPAT

    Test Information:
    regcomp(preg, "890magIFd{0,%}", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    regcomp(preg, "890magIFd{%,3}", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    regcomp(preg, "890magIFd{%,}", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    regcomp(preg, "890magIFd{!}", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    ************************************************************************

    ************************************************************************
    /tset/XPG4.os/genuts/regcomp/T.regcomp 34 Failed

    Test Description:
    If regcomp() is supported:
    When the REG_EXTENDED flag is set in cflags, and pattern contains
    an expression of the form "{m,n}", "{m,}" or "{m}", in which
    either m or n is greater than {RE_DUP_MAX}, then a call to
    regcomp(preg, pattern, cflags) returns either REG_BADBR or
    REG_BADPAT.
    Otherwise:
    A call to regcomp() returns REG_ENOSYS and sets errno to ENOSYS.

    Test Strategy:
    CREATE pattern with {0,RE_DUP_MAX+1}, {RE_DUP_MAX+1,n},
    {RE_DUP_MAX+1,}, {RE_DUP_MAX+1}
    CALL regcomp() with pattern and cflags set to REG_EXTENDED
    VERIFY that regcomp() returned either REG_BADBR or REG_BADPAT

    Test Information:
    regcomp(preg, "890magIFd{0,256}", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    regcomp(preg, "890magIFd{256,3}", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    regcomp(preg, "890magIFd{256,}", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    regcomp(preg, "890magIFd{256}", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    ************************************************************************

    ************************************************************************
    /tset/XPG4.os/genuts/regcomp/T.regcomp 36 Failed

    Test Description:
    If regcomp() is supported:
    When the REG_EXTENDED flag is set in cflags, and pattern contains
    a {} expression with more than two numbers, then a call to
    regcomp(preg, pattern, cflags) returns either REG_BADBR or
    REG_BADPAT.
    Otherwise:
    A call to regcomp() returns REG_ENOSYS and sets errno to ENOSYS.

    Test Strategy:
    CREATE pattern with {4,5,7}
    CALL regcomp() with pattern and cflags set to REG_EXTENDED
    VERIFY that regcomp() returned either REG_BADBR or REG_BADPAT

    Test Information:
    regcomp(preg, "xy{4,5,7}zabc", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    ************************************************************************

    ************************************************************************
    /tset/XPG4.os/genuts/regcomp/T.regcomp 38 Failed

    Test Description:
    If regcomp() is supported:
    When the REG_EXTENDED flag is set in cflags, and pattern contains
    an expression of the form "{m,n}", in which m is greater than n,
    then a call to regcomp(preg, pattern, cflags) returns either
    REG_BADBR or REG_BADPAT.
    Otherwise:
    A call to regcomp() returns REG_ENOSYS and sets errno to ENOSYS.

    Test Strategy:
    CREATE pattern with {3,1}
    CALL regcomp() with pattern and cflags set to REG_EXTENDED
    VERIFY that regcomp() returned either REG_BADBR or REG_BADPAT

    Test Information:
    regcomp(preg, "def{3,1}cba", REG_EXTENDED) returned 0 (No Error)
    expected 10 (REG_BADBR) or 2 (REG_BADPAT)
    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    The test suite follows the instructions specified in VWG/003/060392 and
    can only be changed once a revised interpretation is available. It
    is recommended that a permanent interpretation be granted on the basis
    of VWG/003/060392.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Permanent Interpretation (PIN)
    Review Conclusion
    A Permanent Interpretation is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority