Report 1318 Actions
Problem Report Number |
1318 |
Submitter's Classification |
Test Suite problem |
State |
Resolved |
Resolution |
Test Suite Deficiency (TSD) |
Problem Resolution ID |
TSD.X.0600 |
Raised |
1970-01-01 08:00 |
Updated |
2003-03-13 08:00 |
Published |
1998-03-31 08:00 |
Product Standard |
Internationalised System Calls and Libraries Extended V2 (UNIX 98) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSU version 5.0.2 |
Test Identification |
base/getdate 18, 21 |
Problem Summary |
TSD4U.00218 This test may fail on implementations where a time_t can not represent dates in the years 2063 and 2068. |
Problem Text |
XSH5 p. 325 lists the mandated values for getdate_err, including the following: 8 Invalid input specification. For example, February 31; or a time is specified that can not be represented in a time_t (representing the time in seconds since 00:00:00 UTC, January 1, 1970). On the implementation in question, time_t can represent times from Dec 13, 1901 8:45:52 UTC to Jan 19, 2038 3:14:07 UTC. The test is trying to format dates in 2063 and 2068; the implementation correctly reports that time_t cannot represent them.
|
Test Output |
TEST PURPOSE #18 On a call to struct tm *getdate(char *string) the field descriptor "%y" shall specify the year without century as a decimal number. When a century is not otherwise specified, values in the range 69-99 shall refer to years in the twentieth century and values in the range 00-68 shall refer to years in the twenty-first century. PREP: Make DATEMSK refer to selected data file TEST: getdate("70") TEST: Validate returned structure PREP: Make DATEMSK refer to selected data file TEST: getdate("99") TEST: Validate returned structure PREP: Make DATEMSK refer to selected data file TEST: getdate("00") TEST: Validate returned structure PREP: Make DATEMSK refer to selected data file TEST: getdate("35") TEST: Validate returned structure PREP: Make DATEMSK refer to selected data file TEST: getdate("68") ERROR: getdate returned NULL, getdate_err = 8 (Invalid input specification). 18 UNRESOLVED TEST PURPOSE #21 On a call to struct tm *getdate(char *string) the field descriptor "%D" shall specify the same characters as would result from the string "%m/%d/%y". Year values in the range 69-99 shall refer to years in the twentieth century and values in the range 00-68 shall refer to years in the twenty-first century. PREP: Make DATEMSK refer to selected data file TEST: getdate("07/08/90") TEST: Validate returned structure PREP: Make DATEMSK refer to selected data file TEST: getdate("12/31/00") TEST: Validate returned structure PREP: Make DATEMSK refer to selected data file TEST: getdate("11/14/63") ERROR: getdate returned NULL, getdate_err = 8 (Invalid input specification). PREP: Make DATEMSK refer to selected data file TEST: getdate("10/12/68") ERROR: getdate returned NULL, getdate_err = 8 (Invalid input specification). 21 UNRESOLVED
|
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. The specification for %y (and thus %D) requires an implementation to be able to represent (at least) dates in the period 1969-2068.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
Systems are not required to support dates beyond 2038, this is documented in the specification for touch -t which states: "The range of valid times past the Epoch is implementation-dependent, but will extend to at least the time 0 hours, 0 minutes, 0 seconds, January 1, 2038, Coordinated Universal Time."
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
Test Suite Deficiency (TSD) |
Review Conclusion |
This is an agreed Test Suite Deficiency.
|
Problem Reporting System Options:
|