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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1492 Actions


    Problem Report Number 1492
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0774
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1995-10-30 08:00
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 4.0.2
    Test Identification BASE/execlexecleexeclpexecvexecveexecvp 1
    Problem Summary TSD4U.00039 Test may fail on implementations with large itimer granularity.
    Problem Text
    Test may fail on implementations with large itimer granularity.

    The exec*() 1 tests fail on our IUT because they think the
    interval timers are not properly preserved across the exec*()
    calls. However, the tests are rely on a finer granularity than
    our IUT supports, and according to CASPEC (on the getitimer
    page), the value may be rounded up to the next supported value.
    Specifically, the test is requesting a it_interval.tv_usec value
    of 89 and reading back a value of 10000.
    Test Output
    TEST CASE: execl

    TEST PURPOSE #1
    A successful call to int execl(const char *path, const
    char *arg0, .../*, (char *)0 */) shall preserve
    interval timers across the call.
    PREP: Open communication pipe for child
    PREP: Fork child
    PREP: Wait for child
    PREP: Read child's ITIMER_REAL value
    TEST: ITIMER_REAL inherited after execl
    ERROR: ITIMER_REAL not inherited correctly
    Expected it_interval.tv_sec = 1234567
    it_interval.tv_usec = 89
    it_value.tv_sec ~= 1234567
    Received it_interval.tv_sec = 1234567
    it_interval.tv_usec = 10000
    it_value.tv_sec ~= 1234566
    PREP: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execl
    1 FAIL

    TEST CASE: execle

    TEST PURPOSE #1
    A successful call to int execle(const
    char *path, const char *arg0, ... /*, (char *0), char
    *const envp[]*/) shall preserve interval timers across
    the call.
    PREP: Open communication pipe for child
    PREP: Fork child
    PREP: Wait for child
    PREP: Read child's ITIMER_REAL value
    TEST: ITIMER_REAL inherited after execle
    ERROR: ITIMER_REAL not inherited correctly
    Expected it_interval.tv_sec = 1234567
    it_interval.tv_usec = 89
    it_value.tv_sec ~= 1234567
    Received it_interval.tv_sec = 1234567
    it_interval.tv_usec = 10000
    it_value.tv_sec ~= 1234566
    PREP: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execle
    1 FAIL

    TEST CASE: execlp

    TEST PURPOSE #1
    A successful call to int execlp(const
    char *file, const char *arg0, ... /*, (char *0)*/)
    shall preserve interval timers across the call.
    PREP: Open communication pipe for child
    PREP: Fork child
    PREP: Wait for child
    PREP: Read child's ITIMER_REAL value
    TEST: ITIMER_REAL inherited after execlp
    ERROR: ITIMER_REAL not inherited correctly
    Expected it_interval.tv_sec = 1234567
    it_interval.tv_usec = 89
    it_value.tv_sec ~= 1234567
    Received it_interval.tv_sec = 1234567
    it_interval.tv_usec = 10000
    it_value.tv_sec ~= 1234566
    PREP: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execlp
    1 FAIL

    TEST CASE: execv

    TEST PURPOSE #1
    A successful call to int execv(const char
    *path, char *const argv[]) shall preserve interval
    timers across the call.
    PREP: Open communication pipe for child
    PREP: Fork child
    PREP: Wait for child
    PREP: Read child's ITIMER_REAL value
    TEST: ITIMER_REAL inherited after execv
    ERROR: ITIMER_REAL not inherited correctly
    Expected it_interval.tv_sec = 1234567
    it_interval.tv_usec = 89
    it_value.tv_sec ~= 1234567
    Received it_interval.tv_sec = 1234567
    it_interval.tv_usec = 10000
    it_value.tv_sec ~= 1234566
    PREP: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execv
    1 FAIL

    TEST CASE: execve

    TEST PURPOSE #1
    A successful call to int execve(const
    char *path, char *const argv[], char *const envp[])
    shall preserve interval timers across the call.
    PREP: Open communication pipe for child
    PREP: Fork child
    PREP: Wait for child
    PREP: Read child's ITIMER_REAL value
    TEST: ITIMER_REAL inherited after execve
    ERROR: ITIMER_REAL not inherited correctly
    Expected it_interval.tv_sec = 1234567
    it_interval.tv_usec = 89
    it_value.tv_sec ~= 1234567
    Received it_interval.tv_sec = 1234567
    it_interval.tv_usec = 10000
    it_value.tv_sec ~= 1234566
    PREP: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execve
    1 FAIL

    TEST CASE: execvp

    TEST PURPOSE #1
    A successful call to int execvp(const
    char *file, char *const argv[]) shall preserve
    interval timers across the call.
    PREP: Open communication pipe for child
    PREP: Fork child
    PREP: Wait for child
    PREP: Read child's ITIMER_REAL value
    TEST: ITIMER_REAL inherited after execvp
    ERROR: ITIMER_REAL not inherited correctly
    Expected it_interval.tv_sec = 1234567
    it_interval.tv_usec = 89
    it_value.tv_sec ~= 1234567
    Received it_interval.tv_sec = 1234567
    it_interval.tv_usec = 10000
    it_value.tv_sec ~= 1234566
    PREP: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execvp
    1 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We agree this is a test suite deficiency in the test
    suite version(s) listed.

    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:

     

    Back   


Contact the Certification Authority