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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1573 Actions


    Problem Report Number 1573
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0855
    Raised 2002-08-19 08:00
    Updated 2003-03-13 08:00
    Published 2002-09-10 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.1.2
    Test Identification CAPI.os/procenv/setpriori 9
    Problem Summary TSD4U.00316 The tests fail if VSX_GID1 happens to correspond to an existing process ID.
    Problem Text
    In both cases, the test appears to be confusing group id and
    process group id.

    For setprio we see it fail at:

    TEST: setpriority(PRIO_PGRP, gid, priority) returns -1 and sets
    errno to ESRCH since no process exists belonging
    to the process group 'gid'

    For getprio we see it fails at:

    TEST: getpriority(PRIO_PGRP, gid) returns -1 and sets
    errno to ESRCH since no process exists belonging
    to the process group 'gid'

    In both cases the test is checking that the process belongs to a
    process group "gid". In both tests, the code uses not_inuse_gid1
    and sets this value to VSX_GID, in the case 151, when it should be
    using the process group id.

    if ((not_inuse_gid1 = get_conf_gid("VSX_GID1")) == -1)
    return;

    Looking at the processes running on the system we see there are
    process with pgid's in the range of VSX_GID.

    UID PID PPID PGID SID C STIME TTY TIME CMD
    root 149 1 149 149 0 Aug 14 ? 0:01 /usr/sbin/rpcbind
    root 132 1 131 131 0 Aug 14 ? 0:36 /usr/sbin/in.routed
    root 152 1 152 152 0 Aug 14 ? 0:00 /usr/sbin/keyserv
    root 238 1 238 238 0 Aug 14 ? 0:00 /usr/lib/power/powerd

    By changing part of setpriori 9 as follows we can make the test
    pass.

    pid_t pgid;

    pgid = vfork()
    if (pgid == -1) {
    uwerrno("fork");
    return;
    }
    if (pgid == 0) {
    exit (0);
    }
    waitpid (pgid, &result, 0);


    Test Output
    ************************************************************************
    /tset/CAPI.os/procenv/setpriori/T.setpriori 9 Failed

    Test Description:
    Base Required Deviance
    ESRCH in errno and return -1 on a call to int setpriority(int which,
    id_t who, int priority) when no process can be located using the which
    and who values specified.

    Test Information:
    PREP: Read value for VSX_UID1 configuration
    parameter
    PREP: Read value for VSX_GID1 configuration
    parameter
    PREP: Obtain a valid numeric value for priority
    TEST: setpriority(PRIO_USER, uid, priority) returns -1 and
    sets errno to ESRCH since no process owned by uid exists
    TEST: setpriority(PRIO_PGRP, gid, priority) returns -1 and sets
    errno to ESRCH since no process exists belonging
    to the process group 'gid'
    ERROR: setpriority set errno to invalid value
    Expected: 3(ESRCH) Received: 1(EPERM - Not owner)

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

    ************************************************************************
    /tset/CAPI.os/procenv/getpriori/T.getpriori 7 Failed

    Test Description:
    Base Required Deviance
    ESRCH in errno and return -1 on a call to int getpriority(int which,
    id_t who) when no process could be located using the which and who
    values specified.

    Test Information:
    PREP: Read value for VSX_UID1 configuration
    parameter
    PREP: Read value for VSX_GID1 configuration
    parameter
    TEST: getpriority(PRIO_USER, uid) returns -1 and sets
    errno to ESRCH since no process exists owned by uid
    TEST: getpriority(PRIO_PGRP, gid) returns -1 and sets
    errno to ESRCH since no process exists belonging
    to the process group 'gid'
    ERROR: getpriority returned invalid value
    Expected: -1 Received: 0

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

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is accepted as a fault in the test suite.

    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