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:
|