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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0417 Actions


    Problem Report Number 0417
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0036
    Raised 1993-10-14 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 PG4R.036 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 th...
    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:

     

    Back   


Contact the Certification Authority