|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1692 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 1692.
Report 1692 Actions
Problem Report Number 1692 Submitter's Classification Specification problem State Resolved Resolution Minor System Fault (MSF) Problem Resolution ID MSF.X.0065 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1998-04-15 08:00 Expiry Date null Product Standard Window System Application Interface V2 Certification Program The Open Brand certification program Test Suite VSW version 5.0.0 Test Identification Xt11/XtCallConverter 11, 12, 13 Problem Summary MSF4W.00015 Test failures due to a non-alignment between the reference code and its specification prior to X11R6.4. Problem Text
The reference implementation (i.e. The X11 code provided by TOG) being
tested is not in line with the standard specification for this X11
function as defined in the "X Toolkit Intrinsics - C Language
Interface".
The assertion being tested is in line with the standard specification
but the behavior of this function is not in line with the specification.
Either the X11 reference implementation is at fault, or the
Specification needs to be aligned with the reference implemenation. It
is our understanding that X11R6.1 is no longer supported by TOG,
hence we request this waiver be granted a Permanent Interpretation.
The assertion for Xt11/XtCallConverter, TP #11 is:
When the type converter converter has not been registered
for the application context associated with display, the
converter has been previously called with the specified
arguments, and the conversion failed a call to Boolean
XtCallConverter(display, converter, args, num_args, from,
to_in_out, cache_ref_return) shall return False immediately.
The XtCallConverter doc says:
The XtCallConverter function looks up the specified type converter in the
application context associated with the display and, if the converter
was not registered or was registered with cache type XtCacheAll or
XtCacheByDisplay looks in the conversion cache to see if this
conversion procedure has been called with the specified conversion
arguments. If so, it checks the success status of the prior call, and
if the conversion failed, XtCallConverter returns False immediately;
[The implication is that if the previous converstion failed, the
converter will NOT be called before XtCallConverter returns.]
If a converter is not registered (via Xt[App]SetTypeConverter), the code
in Xt (lib/Xt/Convert.c) has two problems that cause TP #11 to fail:
1. It does not cache the return status from converter functions
2. It calls the converter regardless of the previous return value for
the converter
TP's 12 and 13 fail for similar reasons: no converter is registered
and on subsequent calls to XtCallConverter, since there is no converter
cache, the converter is invoked instead of using the values that should
have been put in the cache during previous calls to XtCallConverter.
In these two TPs, the to_in_out->size fields contain incorrect values.
Also, for TP #13, XtCallConverter returns True but is should return
False.Test Output
520|1 11 22810 1 1|VSW5TESTSUITE PURPOSE 11
520|1 11 22810 1 2|Assertion XtCallConverter-11.(A)
520|1 11 22810 1 3|When the type converter converter has not been registered
520|1 11 22810 1 4|for the application context associated with display, the
520|1 11 22810 1 5|converter has been previously called with the specified
520|1 11 22810 1 6|arguments, and the conversion failed a call to Boolean
520|1 11 22810 1 7|XtCallConverter(display, converter, args, num_args, from,
520|1 11 22810 1 8|to_in_out, cache_ref_return) shall return False immediately.
520|1 11 22130 1 1|PREP: Initialize toolkit, Open display and Create topLevel
root widget
520|1 11 22130 1 2|PREP: Create windows for widgets and map them
520|1 11 22130 1 3|TEST: Invoke resource converter XtCVT2a_StringToChar
520|1 11 22130 1 4|TEST: Return value was false
520|1 11 22130 1 5|TEST: Convertor was invoked
520|1 11 22130 1 6|TEST: Re-Invoke resource converter with same values
520|1 11 22130 1 7|TEST: Return value was false
520|1 11 22130 1 8|TEST: Convertor was not invoked
520|1 11 22130 1 9|ERROR: Expected XtCVT2a_StringToChar invoked count of
1,
Received 2
220|1 11 1 12:04:12|FAIL
410|1 11 1 12:04:12|IC End
400|1 12 1 12:04:12|IC Start
200|1 12 12:04:12|TP Start
520|1 12 22810 1 1|VSW5TESTSUITE PURPOSE 12
520|1 12 22810 1 2|Assertion XtCallConverter-12.(A)
520|1 12 22810 1 3|When the type converter converter has not been registered
520|1 12 22810 1 4|for the application context associated with display, the
520|1 12 22810 1 5|converter has been previously called with the specified
520|1 12 22810 1 6|arguments, the conversion succeeded, and the size specified
520|1 12 22810 1 7|by the to_in_out argument is greater than or equal to the
520|1 12 22810 1 8|size stored in the conversion cache a call to Boolean
520|1 12 22810 1 9|XtCallConverter(display, converter, args, num_args, from,
520|1 12 22810 1 10|to_in_out, cache_ref_return) shall copy the information
520|1 12 22810 1 11|stored in the conversion cache into the location specified
520|1 12 22810 1 12|by to_in_out->addr, copy the size specified in the
520|1 12 22810 1 13|conversion cache into to_in_out->size, and return
True.
520|1 12 22866 1 1|PREP: Initialize toolkit, Open display and Create
topLevel
root widget
520|1 12 22866 1 2|PREP: Create windows for widgets and map them
520|1 12 22866 1 3|TEST: Invoke resource converter XtCVT3a_StringToChar
520|1 12 22866 1 4|TEST: Return value
520|1 12 22866 1 5|TEST: Procedure XtCVT3a_StringToChar was invoked
520|1 12 22866 1 6|TEST: Result returned
520|1 12 22866 1 7|TEST: Re-Invoke resource converter with same values
520|1 12 22866 1 8|TEST: Return value
520|1 12 22866 1 9|TEST: Procedure XtCVT3a_StringToChar was not invoked
520|1 12 22866 1 10|ERROR: Expected XtCVT3a_StringToChar invoked count
of 1, Received 2
520|1 12 22866 1 11|TEST: Result returned
520|1 12 22866 1 12|TEST: Size returned
220|1 12 1 12:04:13|FAIL
410|1 12 1 12:04:13|IC End
400|1 13 1 12:04:13|IC Start
200|1 13 12:04:13|TP Start
520|1 13 22810 1 1|VSW5TESTSUITE PURPOSE 13
520|1 13 22810 1 2|Assertion XtCallConverter-13.(A)
520|1 13 22810 1 3|When the type converter converter has not been registered
520|1 13 22810 1 4|for the application context associated with display, the
520|1 13 22810 1 5|converter has been previously called with the specified
520|1 13 22810 1 6|arguments, the conversion succeeded, and the size specified
520|1 13 22810 1 7|by the to_in_out argument is less than the size stored in
520|1 13 22810 1 8|the conversion cache a call to Boolean
520|1 13 22810 1 9|XtCallConverter(display, converter, args, num_args, from,
520|1 13 22810 1 10|to_in_out, cache_ref_return) shall copy the size specified
520|1 13 22810 1 11|in the conversion cache into to_in_out->size and return
520|1 13 22810 1 12|False.
520|1 13 22129 1 1|PREP: Initialize toolkit, Open display and Create
topLevel
root widget
520|1 13 22129 1 2|PREP: Create windows for widgets and map them
520|1 13 22129 1 3|TEST: Invoke resource converter XtCVT4a_StringToChar
520|1 13 22129 1 4|TEST: Return value
520|1 13 22129 1 5|TEST: Procedure XtCVT4a_StringToChar was invoked
520|1 13 22129 1 6|TEST: Result returned
520|1 13 22129 1 7|TEST: Re-Invoke resource converter with short size
520|1 13 22129 1 8|TEST: Return value
520|1 13 22129 1 9|ERROR: Expected XtCallConverter return value of 0,
Received 1
520|1 13 22129 1 10|TEST: Procedure XtCVT4a_StringToChar was not invoked
520|1 13 22129 1 11|ERROR: Expected XtCVT4a_StringToChar invoked count of 1,
Received 2
520|1 13 22129 1 12|TEST: Size returned
220|1 13 1 12:04:14|FAIL
410|1 13 1 12:04:14|IC EndReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
A Minor System Fault waiver is recommended.
Open Group procedures specify that when there is a version of the
reference code available from The Open Group that aligns with the
specification for a reported defect that an MSF is issued. These
failures are XPT defect XWSog08567 which is corrected in X11R6.4.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Minor System Fault (MSF) Review Conclusion
A Temporary Waiver is granted.
Problem Reporting System Options:
- View Report 1692
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority