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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2569 Actions


    Problem Report Number 2569
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1333
    Raised 2011-09-29 22:41
    Updated 2011-10-07 15:11
    Published 2011-10-07 15:11
    Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.3.3
    Test Identification CAPI.os/devclass/ptsname/T.ptsname 3
    Specification Base Definitions Issue 6
    Location in Spec http://pubs.opengroup.org/onlinepubs/9699919799/functions/rename.html
    Problem Summary ENOSYS is not being accounted for when rename() returns with an error
    on a pseudo-filesystem.
    Problem Text From tset/CAPI.os/devclass/ptsname/ptsname3.c:

    171 if(rename(before, after) == -1) {
    172 /*
    173 * If the device is on a read-only filesystem, we can't
    174 * rename it. Systems that use a pseudo-filesystem
    <<<<<--- note the comment
    175 * for slave ptys might also return other errors - here
    176 * we allow EBUSY and EPERM.
    177 */
    178 if (errno == EROFS || errno == EBUSY || errno == EPERM) {
    179 sprintf(ebuf,"INFO: rename() failed: %s",
    180 err_lookup(errno));
    181 tet_infoline(ebuf);
    182 tet_result(TET_UNTESTED);
    183 return;
    184 }
    185 uwerrno("rename"); <<<<---- enters here
    186 return;
    187 }

    From vsx/SRC/common/capi_com/misc.c:

    103 uwerrno(char *funcname)
    104 {
    105 sprintf(ebuf, "ERROR: %s failed, errno = %s", funcname,
    err_lookup(errno));
    106 tet_infoline(ebuf);
    107 tet_result(TET_UNRESOLVED); <<<---- test labeled unresolved.
    108 }


    Executing rename() on our pseudo-filesystem returns ENOSYS and based on
    the comment in the code it appears its expected to see other errno
    values slip through and are not checked. If ENOSYS was added to the if
    condition on line #178 of tset/CAPI.os/devclass/ptsname/ptsname3.c the
    test would return UNTESTED instead of UNRESOLVED.

    errno.h 155 #define ENOSYS 89 /* Unsupported file system
    operation */
    Test Output **********************************************************************
    /tset/CAPI.os/devclass/ptsname/T.ptsname 3 Unresolved

    Test Description:
    Base Required Deviance
    A call to char *ptsname(int fildes) when the slave device name does
    not exist in the file system shall return NULL.

    Test Information:
    PREP: Open master pseudo terminal
    PREP: Get slave pseudo terminal
    PREP: Unlock slave device
    PREP: Get name of pseudo terminal device
    PREP: Rename /dev/pts/3 to /dev/pts/3.save
    ERROR: rename failed, errno = 89 (ENOSYS - Function not supported)

    **********************************************************************

    Test-Set Ended: 11:29:41

    Test-Set Results Summary:
    ------------------------

    3 Tests Executed
    2 Tests Succeeded
    1 Tests Unresolved

    Review Information

    Review Type TSMA Review
    Start Date 2011-09-29 22:41
    Last Updated 2011-09-29 17:45
    Completed 2011-09-29 17:45
    Status Complete
    Review Recommendation Test Suite Deficiency (TSD)
    Review Response This is accepted as a fault in the test suite.

    Review Type SA Review
    Start Date 2011-09-30 01:45
    Last Updated 2011-10-07 15:10
    Completed 2011-10-07 15:10
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion A test suite deficiency is granted

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority