This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 4047 - DataTypes tests: discrepancies with minInclusive/maxInclusive
Summary: DataTypes tests: discrepancies with minInclusive/maxInclusive
Status: RESOLVED INVALID
Alias: None
Product: XML Schema Test Suite
Classification: Unclassified
Component: Microsoft tests (show other bugs)
Version: 2006-11-06
Hardware: PC Windows XP
: P2 normal
Target Milestone: ---
Assignee: Henry S. Thompson
QA Contact: XML Schema Test Suite mailing list
URL:
Whiteboard: metadata added, with correction noted...
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-08 18:31 UTC by Michael Kay
Modified: 2008-11-02 16:32 UTC (History)
0 users

See Also:


Attachments

Description Michael Kay 2006-12-08 18:31:31 UTC
In a number of tests in the (Microsoft) DataTypes package, the metadata indicates that the value of a numeric minInclusive or maxExclusive facet is invalid, whereas the value in the actual data file is valid. For example the metadata shows

<testGroup name="nonPositiveInteger_maxInclusive003_577">
<annotation>
<documentation>TEST :Facet Schemas for string : facet=maxInclusive and   value=1</documentation>
</annotation>
<documentationReference xlink:href=""/>
<schemaTest name="nonPositiveInteger_maxInclusive003_577">
<schemaDocument xlink:href="../msData/datatypes/Facets/Schemas/nonPositiveInteger_maxInclusive003.xsd"/>
<expected validity="invalid"/>
<current date="2006-07-16" status="accepted"/>
</schemaTest>
</testGroup>

But the actual value in nonPositiveInteger_maxInclusive003.xsd is -1, not 1, which is valid.

The discrepancy appears to be systematic, and affects other similar tests including:

<test group="nonPositiveInteger_maxInclusive003_577"
         name="nonPositiveInteger_maxInclusive003_577"/>
   <test group="nonPositiveInteger_maxExclusive003_581"
         name="nonPositiveInteger_maxExclusive003_581"/>
   <test group="nonPositiveInteger_minInclusive003_584"
         name="nonPositiveInteger_minInclusive003_584"/>
   <test group="nonPositiveInteger_minExclusive003_588"
         name="nonPositiveInteger_minExclusive003_588"/>
   <test group="negativeInteger_maxInclusive003_609"
         name="negativeInteger_maxInclusive003_609"/>
   <test group="negativeInteger_maxExclusive003_613"
         name="negativeInteger_maxExclusive003_613"/>
   <test group="negativeInteger_minInclusive003_616"
         name="negativeInteger_minInclusive003_616"/>
   <test group="negativeInteger_minExclusive003_620"
         name="negativeInteger_minExclusive003_620"/>
   <test group="long_maxInclusive003_641" name="long_maxInclusive003_641"/>
   <test group="long_maxInclusive004_642" name="long_maxInclusive004_642"/>
   <test group="long_maxExclusive003_646" name="long_maxExclusive003_646"/>
   <test group="long_maxExclusive004_647" name="long_maxExclusive004_647"/>
   <test group="long_minInclusive003_650" name="long_minInclusive003_650"/>
   <test group="long_minInclusive004_651" name="long_minInclusive004_651"/>
   <test group="long_minExclusive003_655" name="long_minExclusive003_655"/>
   <test group="long_minExclusive004_656" name="long_minExclusive004_656"/>
   <test group="int_maxInclusive003_677" name="int_maxInclusive003_677"/>
   <test group="int_maxInclusive004_678" name="int_maxInclusive004_678"/>
   <test group="int_maxInclusive004c_681" name="int_maxInclusive004c_681"/>
   <test group="int_maxInclusive004d_682" name="int_maxInclusive004d_682"/>
   <test group="int_maxExclusive003_691" name="int_maxExclusive003_691"/>
   <test group="int_maxExclusive004d_694" name="int_maxExclusive004d_694"/>
   <test group="int_maxExclusive004e_695" name="int_maxExclusive004e_695"/>
   <test group="int_minInclusive003_701" name="int_minInclusive003_701"/>
   <test group="int_minInclusive004_702" name="int_minInclusive004_702"/>
   <test group="int_minInclusive006d_707" name="int_minInclusive006d_707"/>
   <test group="int_minInclusive006f_708" name="int_minInclusive006f_708"/>
   <test group="int_minInclusive006h_710" name="int_minInclusive006h_710"/>
   <test group="int_minInclusive006i_711" name="int_minInclusive006i_711"/>
   <test group="int_minExclusive003_714" name="int_minExclusive003_714"/>
   <test group="int_minExclusive004_715" name="int_minExclusive004_715"/>
   <test group="int_minExclusive006f_720" name="int_minExclusive006f_720"/>
   <test group="int_minExclusive006g_721" name="int_minExclusive006g_721"/>
   <test group="int_minExclusive006h_722" name="int_minExclusive006h_722"/>
   <test group="int_minExclusive006i_723" name="int_minExclusive006i_723"/>
   <test group="short_maxInclusive003_744" name="short_maxInclusive003_744"/>
   <test group="short_maxInclusive004_745" name="short_maxInclusive004_745"/>
   <test group="short_maxExclusive003_749" name="short_maxExclusive003_749"/>
   <test group="short_maxExclusive004_750" name="short_maxExclusive004_750"/>
   <test group="short_minInclusive003_753" name="short_minInclusive003_753"/>
   <test group="short_minInclusive004_754" name="short_minInclusive004_754"/>
   <test group="short_minExclusive003_758" name="short_minExclusive003_758"/>
   <test group="short_minExclusive004_759" name="short_minExclusive004_759"/>
   <test group="byte_maxInclusive003_780" name="byte_maxInclusive003_780"/>
   <test group="byte_maxInclusive004_781" name="byte_maxInclusive004_781"/>
   <test group="byte_maxExclusive003_785" name="byte_maxExclusive003_785"/>
   <test group="byte_maxExclusive004_786" name="byte_maxExclusive004_786"/>
   <test group="byte_minInclusive003_789" name="byte_minInclusive003_789"/>
   <test group="byte_minInclusive004_790" name="byte_minInclusive004_790"/>
   <test group="byte_minExclusive003_794" name="byte_minExclusive003_794"/>
   <test group="byte_minExclusive004_795" name="byte_minExclusive004_795"/>
   <test group="nonNegativeInteger_maxInclusive003_816"
         name="nonNegativeInteger_maxInclusive003_816"/>
   <test group="nonNegativeInteger_maxExclusive003_820"
         name="nonNegativeInteger_maxExclusive003_820"/>
   <test group="nonNegativeInteger_minInclusive003_823"
         name="nonNegativeInteger_minInclusive003_823"/>
   <test group="nonNegativeInteger_minExclusive003_827"
         name="nonNegativeInteger_minExclusive003_827"/>
   <test group="unsignedLong_maxInclusive003_848"
         name="unsignedLong_maxInclusive003_848"/>
   <test group="unsignedLong_maxInclusive004_849"
         name="unsignedLong_maxInclusive004_849"/>
   <test group="unsignedLong_maxExclusive003_853"
         name="unsignedLong_maxExclusive003_853"/>
   <test group="unsignedLong_maxExclusive004_854"
         name="unsignedLong_maxExclusive004_854"/>
   <test group="unsignedLong_minInclusive003_857"
         name="unsignedLong_minInclusive003_857"/>
   <test group="unsignedLong_minInclusive004_858"
         name="unsignedLong_minInclusive004_858"/>
   <test group="unsignedLong_minExclusive003_862"
         name="unsignedLong_minExclusive003_862"/>
   <test group="unsignedLong_minExclusive004_863"
         name="unsignedLong_minExclusive004_863"/>
   <test group="unsignedInt_maxInclusive003_884" name="unsignedInt_maxInclusive003_884"/>
   <test group="unsignedInt_maxInclusive004_885" name="unsignedInt_maxInclusive004_885"/>
   <test group="unsignedInt_maxExclusive003_889" name="unsignedInt_maxExclusive003_889"/>
   <test group="unsignedInt_maxExclusive004_890" name="unsignedInt_maxExclusive004_890"/>
   <test group="unsignedInt_minInclusive003_893" name="unsignedInt_minInclusive003_893"/>
   <test group="unsignedInt_minInclusive004_894" name="unsignedInt_minInclusive004_894"/>
   <test group="unsignedInt_minExclusive003_898" name="unsignedInt_minExclusive003_898"/>
   <test group="unsignedInt_minExclusive004_899" name="unsignedInt_minExclusive004_899"/>
   <test group="unsignedShort_maxInclusive003_920"
         name="unsignedShort_maxInclusive003_920"/>
   <test group="unsignedShort_maxInclusive004_921"
         name="unsignedShort_maxInclusive004_921"/>
   <test group="unsignedShort_maxExclusive003_925"
         name="unsignedShort_maxExclusive003_925"/>
   <test group="unsignedShort_maxExclusive004_926"
         name="unsignedShort_maxExclusive004_926"/>
   <test group="unsignedShort_minInclusive003_929"
         name="unsignedShort_minInclusive003_929"/>
   <test group="unsignedShort_minInclusive004_930"
         name="unsignedShort_minInclusive004_930"/>
   <test group="unsignedShort_minExclusive003_934"
         name="unsignedShort_minExclusive003_934"/>
   <test group="unsignedShort_minExclusive004_935"
         name="unsignedShort_minExclusive004_935"/>
   <test group="unsignedByte_maxInclusive003_956"
         name="unsignedByte_maxInclusive003_956"/>
   <test group="unsignedByte_maxInclusive004_957"
         name="unsignedByte_maxInclusive004_957"/>
   <test group="unsignedByte_maxExclusive003_961"
         name="unsignedByte_maxExclusive003_961"/>
   <test group="unsignedByte_maxExclusive004_962"
         name="unsignedByte_maxExclusive004_962"/>
   <test group="unsignedByte_minInclusive003_965"
         name="unsignedByte_minInclusive003_965"/>
   <test group="unsignedByte_minInclusive004_966"
         name="unsignedByte_minInclusive004_966"/>
   <test group="unsignedByte_minExclusive003_970"
         name="unsignedByte_minExclusive003_970"/>
   <test group="unsignedByte_minExclusive004_971"
         name="unsignedByte_minExclusive004_971"/>
   <test group="positiveInteger_maxInclusive003_992"
         name="positiveInteger_maxInclusive003_992"/>
   <test group="positiveInteger_maxExclusive003_996"
         name="positiveInteger_maxExclusive003_996"/>
   <test group="positiveInteger_minInclusive003_999"
         name="positiveInteger_minInclusive003_999"/>
   <test group="positiveInteger_minExclusive003_1003"
         name="positiveInteger_minExclusive003_1003"/>
Comment 1 Henry S. Thompson 2006-12-22 15:44:04 UTC
I _think_ you've looked in the wrong place.  Confusingly, there are _two_ schema docs called onPositiveInteger_maxInclusive003.xsd, one in datatypes/Facets/nonPositiveInteger, which is indeed OK, and one in datatypes/Facets/Schemas which is a) not OK and b) the one which is actually referenced from the testSet. . .  This appears to be the case for many (but perhaps not all?) of the others you've listed. . .
Comment 2 Henry S. Thompson 2008-11-02 16:32:50 UTC
Of the 91 tests listed in this bug, four, namely
int_maxExclusive004d_694
int_maxExclusive004e_695
int_minExclusive006f_720
int_minExclusive006g_721
are valid, correctly so, as far as I can see.
All 91 are now marked as having gone from accepted to queried to stable, with 
no substantive change being made