|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1764 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1764.
Report 1764 Actions
Problem Report Number 1764 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0547 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null Product Standard X Window System Applications Interface Certification Program The Open Brand certification program Test Suite VSW version 4.1.1 Test Identification XOPEN/allcnmdclr 2 Problem Summary PG4W.00036 Tests should not be performed. Problem Text
There are two distinct types of failure seen in this test. The
first involving the collision of colors and the second involving
the use of unsupported colors.
Color Collision:
The assertion made by this test is that two named colors allocated
using XAllocNamedColor will result in colors that have distinct rgb
values for all supported visual classes.
According to "X Window Systems" by Scheifler & Gettys, XAllocNamedColor
will "... return the closest color supported by the hardware in RGB
format ..."
Given the hardware limitations of 8 planes for TrueColor and
DirectColor and the lack of color for GrayScale and StaticColor using
GrayScale, it is understandable that two different RGB values might map
to the same colors. The colors arrived at depend on the color reduction
algorithm chosen.
Although some may argue that the color algorithm chosen is incorrect,
the X Protocol specification does not specify the reduction
algorithm to be used, and so any reasonable algorithm should
be acceptable.
Color Collision (StaticGrey and GrayScale):
The algorithm used to convert a RGB color to grey scale is based on the
YIQ color model (See "Fundamentals of Interactive Computer Graphics" by
Foley and VanDam). In this model the grey intensity (the Y component of
the YIQ) is based on the weighted average of the RGB components. The
formula is:
Y = 0.03 * R + 0.59 * G + 0.11 * B
Using this algorithm, it is probable that certain named colors will
coincidentally map to the same grey intensity value.
Color Collision (StaticColor and TrueColor):
TrueColor and StaticColor are implemented in 8 planes with 3 bits for
red and green and 2 bits for blue. With this configuration, four
shades of blue can be rendered: 0, 85, 170, 255 (0, 21845, 43690,
65535). The algorithm used to map colors evenly to this limited range
uses a cut off of 64, 128, 192. These cut off numbers provide the
'best' spread of the colors, allowing each displayable color to handle
a similar range of the specifyable colors.map.
In the failure case:
0 0 255 blue (0 0 65535)
0 0 205 medium blue (0 0 52685)
"medium blue" has a value of 205 which is above the cut off for the
third color value, and so the last color value is used. This color
happens to match "blue".
As such it is our opinion that this test is not valid for the
StaticColor and TrueColor visual classes when the number of planes is
less than 15.
Unsupported Colors: (see also lkpclr)
There are six named colors used in this test that cause failure
with the X server. These colors are "dark gray", "dark grey",
"dark blue", "dark cyan", "dark magenta" and "dark red".
These colors are not defined in any of the standard documents that
describe the normal implementations of X, nor are they defined in
the Sample Implementation from the X Consortium. These colors do
not appear to be referenced in any of the CAE specifications.
Given these facts, we feel that the test is at fault for using
non-standard colors.Test Output
/tset/XOPEN/allcnmdclr/Test 2 Failed
Test Description:
When a colour name in the table is recognised on a call to
XAllocNamedColor, and a colour name on a different line of
the table is also recognised on another call to
XAllocNamedColor using the same display and colormap, then
distinct values are returned by each call to
XAllocNamedColor in the red, green and blue components of
the XColor structures named by the exact_def_return argument
and screen_def_return arguments.
Test Strategy:
For each supported visual:
Create a colourmap of that type using XCreateColormap.
For each pair of colour names in the table:
Obtain the rgb values corresponding to the name using
XAllocNamedColor.
Verify that the rgb triples are different.
Free the allocated colourmap cell using XFreeColors.
Test Information:
--- Running test with visual class PseudoColor, depth 8
--- Testing with supported visual class PseudoColor
--- Running test with visual class DirectColor, depth 8
--- Testing with supported visual class DirectColor
--- Running test with visual class GrayScale, depth 8
--- Testing with supported visual class GrayScale
Colour names "light gray" and "pale green" yield the same supported rgb
values.
Colour names "orange" and "turquoise" yield the same supported rgb
values.
Colour names "orange" and "violet" yield the same supported rgb values.
Colour names "turquoise" and "violet" yield the same supported rgb
values.
--- Running test with visual class StaticGray, depth 8
--- Testing with supported visual class StaticGray
Colour names "light gray" and "pale green" yield the same supported rgb
values.
Colour names "orange" and "turquoise" yield the same supported rgb
values.
Colour names "orange" and "violet" yield the same supported rgb values.
Colour names "turquoise" and "violet" yield the same supported rgb
values.
--- Running test with visual class StaticColor, depth 8
--- Testing with supported visual class StaticColor
Colour names "blue" and "medium blue" yield the same supported rgb
values.
--- Running test with visual class TrueColor, depth 8
--- Testing with supported visual class TrueColor
Colour names "blue" and "medium blue" yield the same supported rgb
values.
/tset/XOPEN/allcnmdclr/Test 5 Failed
Test Description:
If any of the visual classes GrayScale or StaticGray
support colourmaps with at least four colour cells: When the
visual type of the colormap argument is GrayScale or
StaticGray, and colormap has at least four colour cells,
then all colour names in the table which are in set M are
recognised on a call to XAllocNamedColor.
Test Strategy:
If the server supports GrayScale or StaticGray with colourmap size
greater than 4:
For those supported visuals:
Create a colourmap using XCreateColormap.
For each colour name in the table:
Obtain the rgb values for the for the colour using
XAllocNamedColor.
Verify that the call did not return 0.
Free the allocated colourmap cell using XFreeColors.
Test Information:
--- Running test with visual class PseudoColor, depth 8
--- Running test with visual class DirectColor, depth 8
--- Running test with visual class GrayScale, depth 8
--- Testing with supported visual class GrayScale
--- Running test with visual class PseudoColor, depth 8
--- Running test with visual class DirectColor, depth 8
--- Running test with visual class GrayScale, depth 8
--- Running test with visual class StaticGray, depth 8
--- Testing with supported visual class StaticGray
--- Running test with visual class PseudoColor, depth 8
--- Running test with visual class DirectColor, depth 8
--- Running test with visual class GrayScale, depth 8
--- Testing with supported visual class GrayScale
Colour name "dark gray" is not supported.
Colour name "dark grey" is not supported.
--- Running test with visual class StaticGray, depth 8
--- Testing with supported visual class StaticGray
Colour name "dark gray" is not supported.
Colour name "dark grey" is not supported.
/tset/XOPEN/allcnmdclr/Test 7 Failed
Test Description:
When a colour name in the table which is in set M, V or X
is recognised on a call to XAllocNamedColor, then all other
colour names in the table which are in set C, M, or V are
also recognised on another call to XAllocNamedColor.
Test Strategy:
If a colourname in sets M, V or X causes XAllocNamedColor to return
non-zero:
For each supported visual:
Verify that all the colour names in C, M and V also cause
XAllocNamedColor to return non-zero:
Free the allocated colourmap cell using XFreeColors.
Test Information:
--- Running test with visual class PseudoColor, depth 8
--- Testing with supported visual class PseudoColor
--- Running test with visual class PseudoColor, depth 8
--- Testing with supported visual class PseudoColor
Colour name "dark gray" is not supported.
Colour name "dark grey" is not supported.
Colour name "dark blue" is not supported.
Colour name "dark cyan" is not supported.
Colour name "dark magenta" is not supported.
Colour name "dark red" is not supported.
--- Running test with visual class DirectColor, depth 8
--- Testing with supported visual class DirectColor
Colour name "dark gray" is not supported.
Colour name "dark grey" is not supported.
Colour name "dark blue" is not supported.
Colour name "dark cyan" is not supported.
Colour name "dark magenta" is not supported.
Colour name "dark red" is not supported.
--- Running test with visual class GrayScale, depth 8
--- Testing with supported visual class GrayScale
Colour name "dark gray" is not supported.
Colour name "dark grey" is not supported.
Colour name "dark blue" is not supported.
Colour name "dark cyan" is not supported.
Colour name "dark magenta" is not supported.
Colour name "dark red" is not supported.
--- Running test with visual class StaticGray, depth 8
--- Testing with supported visual class StaticGray
Colour name "dark gray" is not supported.
Colour name "dark grey" is not supported.
Colour name "dark blue" is not supported.
Colour name "dark cyan" is not supported.
Colour name "dark magenta" is not supported.
Colour name "dark red" is not supported.
--- Running test with visual class StaticColor, depth 8
--- Testing with supported visual class StaticColor
Colour name "dark gray" is not supported.
Colour name "dark grey" is not supported.
Colour name "dark blue" is not supported.
Colour name "dark cyan" is not supported.
Colour name "dark magenta" is not supported.
Colour name "dark red" is not supported.
--- Running test with visual class TrueColor, depth 8
--- Testing with supported visual class TrueColor
Colour name "dark gray" is not supported.
Colour name "dark grey" is not supported.
Colour name "dark blue" is not supported.
Colour name "dark cyan" is not supported.
Colour name "dark magenta" is not supported.
Colour name "dark red" is not supported.
Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
These tests deal with the X/Open extensions to the base MIT specifications.
Page 328 of the X/Open X Window Management specification indicates that if any
of the colours in the classes C, M or V are available, then all of the colours
in that class and any other classes of lower precedence will also be available
as distinct colours. Given the statements in the CAE specification it is
difficult to recommend that this be considered a test suite deficiency.
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:
- View Report 1764
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority