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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1123 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 1123.


Report 1123 Actions


    Problem Report Number 1123
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0325
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Internationalised Terminal Interfaces
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.0.2
    Test Identification headers/xcurses 47
    Problem Summary PG4U.00148 This test may fail due to type issues.
    Problem Text

    Here is the failing test:

    struct {
    char *name;
    attr_t value;
    } vdata[NITEMS];

    int vindex, i, j;

    static void test47A(void)
    {
    .....

    vindex = 0;

    vdata[vindex].value = A_ALTCHARSET;
    vdata[vindex].name = "A_ALTCHARSET"
    vindex++;

    .....

    for (i = 0; i < vindex-1; i++) {
    for (j = i+1; j < vindex; j++) {
    if (vdata[i].value == vdata[j].value) {
    sprintf((char *)&ebuf[0], "ERROR: Value for %s (%d) equal to
    value for %s.", vdata[i].name, vdata[i].value, vdata[j].name);
    .....
    }
    }
    }
    .....
    }

    According to Curses Interface, 4.2, p. 16, "Attributes can be specified
    using constants with the A_ prefix specified in <curses.h>. The A_
    constants manipulate attributes in object of type chtype. The WA_
    constants manipulate attributes in objects of type attr_t."

    The test is treating constants with the A_ prefix as objects of type attr_t
    and comparing them to objects of type chtype, so the comparisons it performs are
    meaningless and the test may fail.

    Test Output

    200|4 26 21:12:28|TP Start
    520|4 26 5813 1 1|SPEC1170TESTSUITE CASE 47
    520|4 26 5813 1 2|The values defined in curses.h attributes stored in
    520|4 26 5813 1 3|objects of type chtype shall be distinct.
    520|4 26 5813 1 4|TEST: Uniqueness
    520|4 26 5813 1 5|ERROR: Value for A_ALTCHARSET (0) equal to value for A_BLINK.
    520|4 26 5813 1 6|ERROR: Value for A_ALTCHARSET (0) equal to value for A_BOLD.
    520|4 26 5813 1 7|ERROR: Value for A_ALTCHARSET (0) equal to value for A_DIM.
    520|4 26 5813 1 8|ERROR: Value for A_ALTCHARSET (0) equal to value for A_INVIS.
    520|4 26 5813 1 9|ERROR: Value for A_ALTCHARSET (0) equal to value for A_PROTECT
    .
    520|4 26 5813 1 10|ERROR: Value for A_ALTCHARSET (0) equal to value for A_REVERS
    E.
    520|4 26 5813 1 11|ERROR: Value for A_ALTCHARSET (0) equal to value for A_UNDERL
    INE.
    520|4 26 5813 1 12|ERROR: Value for A_BLINK (0) equal to value for A_BOLD.
    520|4 26 5813 1 13|ERROR: Value for A_BLINK (0) equal to value for A_DIM.
    520|4 26 5813 1 14|ERROR: Value for A_BLINK (0) equal to value for A_INVIS.
    520|4 26 5813 1 15|ERROR: Value for A_BLINK (0) equal to value for A_PROTECT.
    520|4 26 5813 1 16|ERROR: Value for A_BLINK (0) equal to value for A_REVERSE.
    520|4 26 5813 1 17|ERROR: Value for A_BLINK (0) equal to value for A_UNDERLINE.
    520|4 26 5813 1 18|ERROR: Value for A_BOLD (0) equal to value for A_DIM.
    520|4 26 5813 1 19|ERROR: Value for A_BOLD (0) equal to value for A_INVIS.
    520|4 26 5813 1 20|ERROR: Value for A_BOLD (0) equal to value for A_PROTECT.
    520|4 26 5813 1 21|ERROR: Value for A_BOLD (0) equal to value for A_REVERSE.
    520|4 26 5813 1 22|ERROR: Value for A_BOLD (0) equal to value for A_UNDERLINE.
    520|4 26 5813 1 23|ERROR: Value for A_DIM (0) equal to value for A_INVIS.
    520|4 26 5813 1 24|ERROR: Value for A_DIM (0) equal to value for A_PROTECT.
    520|4 26 5813 1 25|ERROR: Value for A_DIM (0) equal to value for A_REVERSE.
    520|4 26 5813 1 26|ERROR: Value for A_DIM (0) equal to value for A_UNDERLINE.
    520|4 26 5813 1 27|ERROR: Value for A_INVIS (0) equal to value for A_PROTECT.
    520|4 26 5813 1 28|ERROR: Value for A_INVIS (0) equal to value for A_REVERSE.
    520|4 26 5813 1 29|ERROR: Value for A_INVIS (0) equal to value for A_UNDERLINE.
    520|4 26 5813 1 30|ERROR: Value for A_PROTECT (0) equal to value for A_REVERSE.
    520|4 26 5813 1 31|ERROR: Value for A_PROTECT (0) equal to value for A_UNDERLINE
    .
    520|4 26 5813 1 32|ERROR: Value for A_REVERSE (0) equal to value for A_UNDERLINE
    .
    220|4 26 1 21:12:28|FAIL
    410|4 47 1 21:12:28|IC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We recommend this request be refused.

    We agree with the submitter that this test could fail for the reason given
    and will correct this in the next release.

    However, waivers are only granted when an issue such as this can be
    shown to actually cause a failure. While perhaps its just a manner of
    speaking the submitter has not established or justified such a connection here.

    We suggest the submitter provide a waiver request something like: "This
    test is coercing A_ constants to variables of type attr_t. A_ constants
    are 64 bits on our implementation while an attr_t is 32 bits, thus
    the upper 32 bits of the A_ constants is lost in such a coercion,
    which is causing this failure."

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution No Resolution Given
    Review Conclusion
    It seems that the best course of action would be for the
    the submitter to send in a new interpretation request following
    the advice of the consultant.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority