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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1211 Actions


    Problem Report Number 1211
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0413
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 4.1.0
    Test Identification base/execl 1
    Problem Summary PG4U.00054 This was refused because it is a duplicate. Use TSD4U.00039 instead.
    Problem Text
    This was refused because it is a duplicate. Use TSD4U.00039 instead.

    Reference: TSD4U.00039 for VSU4.0.2

    execl() Test 1 fails because the test thinks the interval timers are not
    properly preserved across the execl() call. However, the test is requesting
    a finer granularity than is allowed by the impementation, 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.

    If the test wants to check the behavior of execl(), it should instead compare
    the values returned by getitimer() before and after the execl(), and NOT
    compare the original value passed to setitimer().

    The following tests also fail for this reason:
    execle() Test 1
    execlp() Test 1
    execv() Test 1
    execve() Test 1
    execvp() Test 1
    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: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execl
    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
    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: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execlp
    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
    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: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execve
    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
    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: Connect child's pipe to stdout
    PREP: Construct exec path
    PREP: Set ITIMER_REAL interval timer
    PREP: Issue execvp
    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
    1 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    The submitter is correct but a recent ruling regarding this issue
    exists. To avoid the confusion duplicate rulings regarding the same
    might cause we recommend this request be refused and the submitter
    use TSD4U.00039 instead.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority